[pypy-svn] r74836 - pypy/branch/blackhole-improvement/pypy/jit/metainterp
arigo at codespeak.net
arigo at codespeak.net
Fri May 28 10:46:36 CEST 2010
Author: arigo
Date: Fri May 28 10:46:34 2010
New Revision: 74836
Modified:
pypy/branch/blackhole-improvement/pypy/jit/metainterp/compile.py
pypy/branch/blackhole-improvement/pypy/jit/metainterp/pyjitpl.py
pypy/branch/blackhole-improvement/pypy/jit/metainterp/resume.py
pypy/branch/blackhole-improvement/pypy/jit/metainterp/warmspot.py
pypy/branch/blackhole-improvement/pypy/jit/metainterp/warmstate.py
Log:
Progress, really.
Modified: pypy/branch/blackhole-improvement/pypy/jit/metainterp/compile.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/metainterp/compile.py (original)
+++ pypy/branch/blackhole-improvement/pypy/jit/metainterp/compile.py Fri May 28 10:46:34 2010
@@ -262,6 +262,7 @@
else:
from pypy.jit.metainterp.blackhole import resume_in_blackhole
resume_in_blackhole(metainterp_sd, self)
+ assert 0, "unreachable"
def _trace_and_compile_from_bridge(self, metainterp_sd):
from pypy.jit.metainterp.pyjitpl import MetaInterp
Modified: pypy/branch/blackhole-improvement/pypy/jit/metainterp/pyjitpl.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/metainterp/pyjitpl.py (original)
+++ pypy/branch/blackhole-improvement/pypy/jit/metainterp/pyjitpl.py Fri May 28 10:46:34 2010
@@ -1057,7 +1057,6 @@
# ____________________________________________________________
class MetaInterpStaticData(object):
- virtualizable_info = None
logger_noopt = None
logger_ops = None
@@ -1516,11 +1515,11 @@
self.seen_can_enter_jit = False
try:
self.interpret()
- assert False, "should always raise"
except GenerateMergePoint, gmp:
return self.designate_target_loop(gmp)
except SwitchToBlackhole, stb:
self.run_blackhole_interp_to_cancel_tracing(stb)
+ assert False, "should always raise"
def handle_guard_failure(self, key):
debug_start('jit-tracing')
@@ -1544,11 +1543,11 @@
try:
self.prepare_resume_from_failure(key.guard_opnum)
self.interpret()
- assert False, "should always raise"
except GenerateMergePoint, gmp:
return self.designate_target_loop(gmp)
except SwitchToBlackhole, stb:
self.run_blackhole_interp_to_cancel_tracing(stb)
+ assert False, "should always raise"
def run_blackhole_interp_to_cancel_tracing(self, stb):
# We got a SwitchToBlackhole exception. Convert the framestack into
Modified: pypy/branch/blackhole-improvement/pypy/jit/metainterp/resume.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/metainterp/resume.py (original)
+++ pypy/branch/blackhole-improvement/pypy/jit/metainterp/resume.py Fri May 28 10:46:34 2010
@@ -793,6 +793,7 @@
return vinfo.write_from_resume_data_partial(virtualizable, self, nums)
def load_value_of_type(self, TYPE, tagged):
+ from pypy.jit.metainterp.warmstate import specialize_value
kind = getkind(TYPE)
if kind == 'int':
x = self.decode_int(tagged)
@@ -802,7 +803,7 @@
x = self.decode_float(tagged)
else:
raise AssertionError(kind)
- return lltype._cast_whatever(TYPE, x)
+ return specialize_value(TYPE, x)
load_value_of_type._annspecialcase_ = 'specialize:arg(1)'
def consume_vref_and_vable(self, vrefinfo, vinfo):
Modified: pypy/branch/blackhole-improvement/pypy/jit/metainterp/warmspot.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/metainterp/warmspot.py (original)
+++ pypy/branch/blackhole-improvement/pypy/jit/metainterp/warmspot.py Fri May 28 10:46:34 2010
@@ -169,6 +169,8 @@
from pypy.jit.metainterp.virtualizable import VirtualizableInfo
self.virtualizable_info = VirtualizableInfo(self)
self.codewriter.setup_virtualizable_info(self.virtualizable_info)
+ else:
+ self.virtualizable_info = None
#
self.make_exception_classes()
self.make_driverhook_graphs()
Modified: pypy/branch/blackhole-improvement/pypy/jit/metainterp/warmstate.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/metainterp/warmstate.py (original)
+++ pypy/branch/blackhole-improvement/pypy/jit/metainterp/warmstate.py Fri May 28 10:46:34 2010
@@ -195,7 +195,7 @@
return self.maybe_compile_and_run
metainterp_sd = self.warmrunnerdesc.metainterp_sd
- vinfo = metainterp_sd.virtualizable_info
+ vinfo = self.warmrunnerdesc.virtualizable_info
num_green_args = self.warmrunnerdesc.num_green_args
get_jitcell = self.make_jitcell_getter()
set_future_values = self.make_set_future_values()
@@ -416,7 +416,7 @@
warmrunnerdesc = self.warmrunnerdesc
cpu = warmrunnerdesc.cpu
- vinfo = warmrunnerdesc.metainterp_sd.virtualizable_info
+ vinfo = warmrunnerdesc.virtualizable_info
red_args_types = unrolling_iterable(warmrunnerdesc.red_args_types)
#
def set_future_values(*redargs):
More information about the Pypy-commit
mailing list