[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