[pypy-svn] r62947 - pypy/branch/pyjitpl5/pypy/jit/backend/x86
fijal at codespeak.net
fijal at codespeak.net
Fri Mar 13 21:17:35 CET 2009
Author: fijal
Date: Fri Mar 13 21:17:30 2009
New Revision: 62947
Modified:
pypy/branch/pyjitpl5/pypy/jit/backend/x86/loopparser.py
Log:
another improvements.
Modified: pypy/branch/pyjitpl5/pypy/jit/backend/x86/loopparser.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/backend/x86/loopparser.py (original)
+++ pypy/branch/pyjitpl5/pypy/jit/backend/x86/loopparser.py Fri Mar 13 21:17:30 2009
@@ -149,10 +149,14 @@
xxxx
def output(self):
+ for val, num in self.unique_ptrs.items():
+ print " " * 4 + "ptr_%d = xxx(%d)" % (num, val)
for box in self.box_creations:
print " " * 4 + box
for block in self.blocks:
if isinstance(block, Loop):
+ if block.operations[-1][0] == '<119>':
+ continue
print " " * 4 + "ops = ["
d = {}
for i, (name, args, res, liveboxes) in enumerate(block.operations):
@@ -164,6 +168,14 @@
print " " * 4 + "]"
print " " * 4 + "ops[-1].jump_target = ops[0]"
print " " * 4 + "cpu.compile_operations(ops)"
+ if isinstance(block, Call):
+ if block.name == 'call':
+ continue # ignore calls to single function
+ print " " * 4 + "cpu.execute_operations_in_new_frame('%s', [%s])" % (block.name, ", ".join(block.args))
+ if isinstance(block, GuardFailure):
+ expected = "[" + ", ".join(["%s.value" % arg for arg in block.args]) + "]"
+ print " " * 4 + "expected = " + expected
+ print " " * 4 + "assert meta_interp.recordedvalues = expected"
if __name__ == '__main__':
if len(sys.argv) != 2:
More information about the Pypy-commit
mailing list