[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