Author: Maciej Fijalkowski <fij...@gmail.com>
Branch: fast-slowpath
Changeset: r65608:67eec70cba8b
Date: 2013-07-24 14:20 +0000
http://bitbucket.org/pypy/pypy/changeset/67eec70cba8b/

Log:    fix

diff --git a/rpython/jit/backend/test/runner_test.py 
b/rpython/jit/backend/test/runner_test.py
--- a/rpython/jit/backend/test/runner_test.py
+++ b/rpython/jit/backend/test/runner_test.py
@@ -2288,18 +2288,20 @@
                                          'calldescr': calldescr})
             looptoken = JitCellToken()
             self.cpu.compile_loop(loop.inputargs, loop.operations, looptoken)
-            frame = self.cpu.execute_token(looptoken, 1, 0, 1, 2, 3, 4, 5, 
1.2, 3.4)
+            f1 = longlong.getfloatstorage(1.2)
+            f2 = longlong.getfloatstorage(3.4)
+            frame = self.cpu.execute_token(looptoken, 1, 0, 1, 2, 3, 4, 5, f1, 
f2)
             assert not called
             for j in range(5):
                 assert self.cpu.get_int_value(frame, j) == j
-            assert self.cpu.get_float_value(frame, 6) == 1.2
-            assert self.cpu.get_float_value(frame, 7) == 3.4
-            frame = self.cpu.execute_token(looptoken, 1, 1, 1, 2, 3, 4, 5, 
1.2, 3.4)
+            assert longlong.getrealfloat(self.cpu.get_float_value(frame, 6)) 
== 1.2
+            assert longlong.getrealfloat(self.cpu.get_float_value(frame, 7)) 
== 3.4
+            frame = self.cpu.execute_token(looptoken, 1, 1, 1, 2, 3, 4, 5, f1, 
f2)
             assert called == [tuple(range(1, i + 1))]
             for j in range(4):
                 assert self.cpu.get_int_value(frame, j + 1) == j + 1
-            assert self.cpu.get_float_value(frame, 6) == 1.2
-            assert self.cpu.get_float_value(frame, 7) == 3.4
+            assert longlong.getrealfloat(self.cpu.get_float_value(frame, 6)) 
== 1.2
+            assert longlong.getrealfloat(self.cpu.get_float_value(frame, 7)) 
== 3.4
 
     def test_force_operations_returning_void(self):
         values = []
diff --git a/rpython/jit/backend/x86/assembler.py 
b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -2169,10 +2169,9 @@
                 floats = True
         cond_call_adr = self.cond_call_slowpath[floats * 2 + callee_only]
         if IS_X86_32:
-            p = -7 * WORD
-            for i in range(len(arglocs) - 1, -1, -1):
-                loc = arglocs[i]
-                self.mc.MOV(RawEspLoc(p), loc)
+            p = -8 * WORD
+            for loc in arglocs:
+                self.mc.MOV(RawEspLoc(p, INT), loc)
                 p += WORD
         self.mc.CALL(imm(cond_call_adr))
         self.pop_gcmap(self.mc)
diff --git a/rpython/jit/backend/x86/regloc.py 
b/rpython/jit/backend/x86/regloc.py
--- a/rpython/jit/backend/x86/regloc.py
+++ b/rpython/jit/backend/x86/regloc.py
@@ -89,7 +89,6 @@
     _location_code = 's'
 
     def __init__(self, value, type):
-        assert value >= 0
         self.value = value
         self.type = type
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to