[pypy-svn] r75373 - pypy/branch/multijit-4/pypy/jit/metainterp

arigo at codespeak.net arigo at codespeak.net
Sun Jun 13 14:13:42 CEST 2010


Author: arigo
Date: Sun Jun 13 14:13:40 2010
New Revision: 75373

Modified:
   pypy/branch/multijit-4/pypy/jit/metainterp/blackhole.py
   pypy/branch/multijit-4/pypy/jit/metainterp/jitdriver.py
   pypy/branch/multijit-4/pypy/jit/metainterp/pyjitpl.py
   pypy/branch/multijit-4/pypy/jit/metainterp/warmspot.py
Log:
Don't use portal_runner_ptr, but only portal_runner_adr,
because the first one is not type-safe.


Modified: pypy/branch/multijit-4/pypy/jit/metainterp/blackhole.py
==============================================================================
--- pypy/branch/multijit-4/pypy/jit/metainterp/blackhole.py	(original)
+++ pypy/branch/multijit-4/pypy/jit/metainterp/blackhole.py	Sun Jun 13 14:13:40 2010
@@ -792,8 +792,7 @@
 
     def get_portal_runner(self, jdindex):
         jitdriver_sd = self.builder.metainterp_sd.jitdrivers_sd[jdindex]
-        fnptr = llmemory.cast_ptr_to_adr(jitdriver_sd.portal_runner_ptr)
-        fnptr = heaptracker.adr2int(fnptr)
+        fnptr = heaptracker.adr2int(jitdriver_sd.portal_runner_adr)
         calldescr = jitdriver_sd.mainjitcode.calldescr
         return fnptr, calldescr
 

Modified: pypy/branch/multijit-4/pypy/jit/metainterp/jitdriver.py
==============================================================================
--- pypy/branch/multijit-4/pypy/jit/metainterp/jitdriver.py	(original)
+++ pypy/branch/multijit-4/pypy/jit/metainterp/jitdriver.py	Sun Jun 13 14:13:40 2010
@@ -7,6 +7,7 @@
     #    self.jitdriver         ... pypy.jit.metainterp.warmspot
     #    self.portal_graph      ... pypy.jit.metainterp.warmspot
     #    self.portal_runner_ptr ... pypy.jit.metainterp.warmspot
+    #    self.portal_runner_adr ... pypy.jit.metainterp.warmspot
     #    self.num_green_args    ... pypy.jit.metainterp.warmspot
     #    self.result_type       ... pypy.jit.metainterp.warmspot
     #    self.virtualizable_info... pypy.jit.metainterp.warmspot

Modified: pypy/branch/multijit-4/pypy/jit/metainterp/pyjitpl.py
==============================================================================
--- pypy/branch/multijit-4/pypy/jit/metainterp/pyjitpl.py	(original)
+++ pypy/branch/multijit-4/pypy/jit/metainterp/pyjitpl.py	Sun Jun 13 14:13:40 2010
@@ -668,7 +668,7 @@
             # that assembler that we call is still correct
             self.verify_green_args(targetjitdriver_sd, greenboxes)
         #
-        k = llmemory.cast_ptr_to_adr(targetjitdriver_sd.portal_runner_ptr)
+        k = targetjitdriver_sd.portal_runner_adr
         funcbox = ConstInt(heaptracker.adr2int(k))
         return self.do_residual_call(funcbox, portal_code.calldescr,
                                      allboxes, assembler_call_token=token,

Modified: pypy/branch/multijit-4/pypy/jit/metainterp/warmspot.py
==============================================================================
--- pypy/branch/multijit-4/pypy/jit/metainterp/warmspot.py	(original)
+++ pypy/branch/multijit-4/pypy/jit/metainterp/warmspot.py	Sun Jun 13 14:13:40 2010
@@ -614,6 +614,7 @@
         jd._ll_portal_runner = ll_portal_runner # for debugging
         jd.portal_runner_ptr = self.helper_func(jd._PTR_PORTAL_FUNCTYPE,
                                                 ll_portal_runner)
+        jd.portal_runner_adr = llmemory.cast_ptr_to_adr(jd.portal_runner_ptr)
         self.cpu.portal_calldescr = self.cpu.calldescrof(
             jd._PTR_PORTAL_FUNCTYPE.TO,
             jd._PTR_PORTAL_FUNCTYPE.TO.ARGS,



More information about the Pypy-commit mailing list