[pypy-commit] pypy jitframe-on-heap: fix (I should refactor it actually)

fijal noreply at buildbot.pypy.org
Sun Feb 17 14:03:41 CET 2013


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: jitframe-on-heap
Changeset: r61345:bf07804d5c75
Date: 2013-02-17 15:02 +0200
http://bitbucket.org/pypy/pypy/changeset/bf07804d5c75/

Log:	fix (I should refactor it actually)

diff --git a/rpython/jit/backend/arm/opassembler.py b/rpython/jit/backend/arm/opassembler.py
--- a/rpython/jit/backend/arm/opassembler.py
+++ b/rpython/jit/backend/arm/opassembler.py
@@ -1177,13 +1177,15 @@
         old_nbargs = oldlooptoken.compiled_loop_token._debug_nbargs
         new_nbargs = newlooptoken.compiled_loop_token._debug_nbargs
         assert old_nbargs == new_nbargs
-        # we overwrite the instructions at the old _arm_func_adddr
+        # we overwrite the instructions at the old _ll_function_addr
         # to start with a JMP to the new _ll_function_addr.
         # Ideally we should rather patch all existing CALLs, but well.
-        XXX # this is wrong, copy the logic from x86, but also, shouldn't
-        # it live on a base class instead?
         oldadr = oldlooptoken._ll_function_addr
         target = newlooptoken._ll_function_addr
+        # copy frame-info data
+        baseofs = self.cpu.get_baseofs_of_frame_field()
+        newlooptoken.compiled_loop_token.update_frame_info(
+            oldlooptoken.compiled_loop_token, baseofs)
         mc = ARMv7Builder()
         mc.B(target)
         mc.copy_to_raw_memory(oldadr)


More information about the pypy-commit mailing list