Author: Armin Rigo <[email protected]>
Branch: remove-globals-in-jit
Changeset: r59728:6f6aaf8a40cf
Date: 2013-01-05 16:44 +0100
http://bitbucket.org/pypy/pypy/changeset/6f6aaf8a40cf/
Log: Pff pff pff. Test (in model.py) and fix for running all of
x86/test/test_ztranslation.py in the same test session.
diff --git a/pypy/jit/backend/model.py b/pypy/jit/backend/model.py
--- a/pypy/jit/backend/model.py
+++ b/pypy/jit/backend/model.py
@@ -1,4 +1,5 @@
from pypy.rlib.debug import debug_start, debug_print, debug_stop
+from pypy.rlib.objectmodel import we_are_translated
from pypy.jit.metainterp import history
from pypy.rpython.lltypesystem import lltype
@@ -42,6 +43,12 @@
def get_fail_descr_number(self, descr):
assert isinstance(descr, history.AbstractFailDescr)
+ if not we_are_translated():
+ if not hasattr(descr, '_cpu'):
+ assert descr.index == -1, "descr.index is already >= 0??"
+ descr._cpu = self
+ assert descr._cpu is self,"another CPU has already seen the descr!"
+ #
n = descr.index
if n < 0:
n = self.reserve_some_free_fail_descr_number()
diff --git a/pypy/jit/metainterp/compile.py b/pypy/jit/metainterp/compile.py
--- a/pypy/jit/metainterp/compile.py
+++ b/pypy/jit/metainterp/compile.py
@@ -858,8 +858,6 @@
assert exception, "PropagateExceptionDescr: no exception??"
raise metainterp_sd.ExitFrameWithExceptionRef(cpu, exception)
-propagate_exception_descr = PropagateExceptionDescr()
-
def compile_tmp_callback(cpu, jitdriver_sd, greenboxes, redargtypes,
memory_manager=None):
"""Make a LoopToken that corresponds to assembler code that just
@@ -897,7 +895,7 @@
finishargs = []
#
jd = jitdriver_sd
- faildescr = propagate_exception_descr
+ faildescr = PropagateExceptionDescr()
operations = [
ResOperation(rop.CALL, callargs, result, descr=jd.portal_calldescr),
ResOperation(rop.GUARD_NO_EXCEPTION, [], None, descr=faildescr),
diff --git a/pypy/jit/metainterp/pyjitpl.py b/pypy/jit/metainterp/pyjitpl.py
--- a/pypy/jit/metainterp/pyjitpl.py
+++ b/pypy/jit/metainterp/pyjitpl.py
@@ -1473,7 +1473,7 @@
num = self.cpu.get_fail_descr_number(tokens[0].finishdescr)
setattr(self.cpu, 'done_with_this_frame_%s_v' % name, num)
#
- exc_descr = compile.propagate_exception_descr
+ exc_descr = compile.PropagateExceptionDescr()
num = self.cpu.get_fail_descr_number(exc_descr)
self.cpu.propagate_exception_v = num
#
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit