[pypy-svn] r73937 - in pypy/branch/blackhole-improvement/pypy/jit/codewriter: . test
arigo at codespeak.net
arigo at codespeak.net
Wed Apr 21 14:38:37 CEST 2010
Author: arigo
Date: Wed Apr 21 14:38:36 2010
New Revision: 73937
Modified:
pypy/branch/blackhole-improvement/pypy/jit/codewriter/blackhole.py
pypy/branch/blackhole-improvement/pypy/jit/codewriter/test/test_blackhole.py
Log:
Tweaks.
Modified: pypy/branch/blackhole-improvement/pypy/jit/codewriter/blackhole.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/codewriter/blackhole.py (original)
+++ pypy/branch/blackhole-improvement/pypy/jit/codewriter/blackhole.py Wed Apr 21 14:38:36 2010
@@ -61,6 +61,7 @@
break
else:
raise AssertionError("bad opcode")
+ dispatch_loop._dont_inline_ = True
self.dispatch_loop = dispatch_loop
def _get_method(self, name, argcodes):
@@ -128,12 +129,15 @@
# XXX must be specialized
def copy_constants(self, registers, constants):
- i = len(constants)
- while i > 0:
- j = 256 - i
+ """Copy jitcode.constants[0] to registers[255],
+ jitcode.constants[1] to registers[254],
+ jitcode.constants[2] to registers[253], etc."""
+ i = len(constants) - 1
+ while i >= 0:
+ j = 255 - i
assert j >= 0
- i -= 1
registers[j] = constants[i]
+ i -= 1
# ----------
@@ -150,6 +154,18 @@
self.result_i = a
raise LeaveFrame
+ @arguments("i", returns="i")
+ def opimpl_int_copy(self, a):
+ return a
+
+ @arguments("r", returns="r")
+ def opimpl_ref_copy(self, a):
+ return a
+
+ @arguments("f", returns="f")
+ def opimpl_float_copy(self, a):
+ return a
+
@arguments("L", "i", "i", "pc", returns="L")
def opimpl_goto_if_not_int_gt(self, target, a, b, pc):
if a > b:
Modified: pypy/branch/blackhole-improvement/pypy/jit/codewriter/test/test_blackhole.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/codewriter/test/test_blackhole.py (original)
+++ pypy/branch/blackhole-improvement/pypy/jit/codewriter/test/test_blackhole.py Wed Apr 21 14:38:36 2010
@@ -53,7 +53,7 @@
'int_sub/ici': 2,
'goto/L': 3,
'int_return/i': 4})
- blackholeinterp.setarg_i(0x16, 6)
- blackholeinterp.setarg_i(0x17, 100)
+ blackholeinterp.setarg_i(0x16, 6) # %i0
+ blackholeinterp.setarg_i(0x17, 100) # %i1
blackholeinterp.run(jitcode, 0)
assert blackholeinterp.result_i == 100+6+5+4+3
More information about the Pypy-commit
mailing list