Author: Armin Rigo <[email protected]>
Branch: guard-compatible
Changeset: r84662:cba1e6bf36e9
Date: 2016-05-24 18:53 +0200
http://bitbucket.org/pypy/pypy/changeset/cba1e6bf36e9/

Log:    some fixes

diff --git a/rpython/jit/backend/ppc/guard_compat.py 
b/rpython/jit/backend/ppc/guard_compat.py
--- a/rpython/jit/backend/ppc/guard_compat.py
+++ b/rpython/jit/backend/ppc/guard_compat.py
@@ -21,6 +21,11 @@
     # and r0 containing the actual value of the guard
 
     mc = PPCBuilder()
+    r0 = r.SCRATCH
+    r2 = r.SCRATCH2
+    r3 = r.r3
+    r4 = r.r4
+    r5 = r.r5
     r7 = r.r7
     r10 = r.r10
 
@@ -95,7 +100,7 @@
     invoke_find_compatible = make_invoke_find_compatible(assembler.cpu)
     llfunc = llhelper(INVOKE_FIND_COMPATIBLE_FUNC, invoke_find_compatible)
     llfunc = assembler.cpu.cast_ptr_to_int(llfunc)
-    assembler.load_imm(mc.RAW_CALL_REG, llfunc)
+    mc.load_imm(mc.RAW_CALL_REG, llfunc)
     mc.raw_call()                           # mtctr / bctrl
     assembler._reload_frame_if_necessary(mc)
     mc.mtctr(r3.value)                      # mtctr r3
@@ -104,14 +109,14 @@
     # containing GC pointers that may have moved.  That means we just
     # restore them all.
     assembler._pop_core_regs_from_jitframe(mc)
-    assembler._pop_fp_regs_to_jitframe(mc)
+    assembler._pop_fp_regs_from_jitframe(mc)
 
     mc.bctr()                               # jump to the old r3
 
     assembler.guard_compat_search_tree = mc.materialize(assembler.cpu, [])
 
 
-def generate_guard_compatible(assembler, token, l0, bindex):
+def generate_guard_compatible(assembler, guard_token, l0, bindex):
     mc = assembler.mc
     r0 = r.SCRATCH
     r2 = r.SCRATCH2
@@ -134,7 +139,7 @@
     pmc.bne(mc.currpos() - bne_location)    # jump here if l0 != r0
     pmc.overwrite()
 
-    assembler.load_imm(r0, assembler.guard_compat_search_tree)
+    mc.load_imm(r0, assembler.guard_compat_search_tree)
     mc.mtctr(r0.value)
     mc.mr(r0.value, l0.value)
     mc.bctr()
diff --git a/rpython/jit/backend/ppc/opassembler.py 
b/rpython/jit/backend/ppc/opassembler.py
--- a/rpython/jit/backend/ppc/opassembler.py
+++ b/rpython/jit/backend/ppc/opassembler.py
@@ -4,6 +4,7 @@
 import rpython.jit.backend.ppc.register as r
 from rpython.jit.backend.ppc.locations import imm
 from rpython.jit.backend.ppc.locations import imm as make_imm_loc
+from rpython.jit.backend.ppc import guard_compat
 from rpython.jit.backend.ppc.arch import (IS_PPC_32, IS_PPC_64, WORD,
                                           MAX_REG_PARAMS, MAX_FREG_PARAMS,
                                           PARAM_SAVE_AREA_OFFSET,
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to