Author: fijal
Branch: jit-leaner-frontend
Changeset: r83248:9d6c1e09270a
Date: 2016-03-22 13:49 +0200
http://bitbucket.org/pypy/pypy/changeset/9d6c1e09270a/
Log: whack at tests, unsure a bit about the virtualstate one
diff --git a/rpython/jit/metainterp/optimizeopt/virtualstate.py
b/rpython/jit/metainterp/optimizeopt/virtualstate.py
--- a/rpython/jit/metainterp/optimizeopt/virtualstate.py
+++ b/rpython/jit/metainterp/optimizeopt/virtualstate.py
@@ -157,9 +157,11 @@
raise VirtualStatesCantMatch("field descrs don't match")
if runtime_box is not None and opinfo is not None:
fieldbox = opinfo._fields[self.fielddescrs[i].get_index()]
- # must be there
- fieldbox_runtime = state.get_runtime_field(runtime_box,
+ if fieldbox is not None:
+ fieldbox_runtime = state.get_runtime_field(runtime_box,
self.fielddescrs[i])
+ else:
+ fieldbox_runtime = None
else:
fieldbox = None
fieldbox_runtime = None
diff --git a/rpython/jit/metainterp/test/test_warmspot.py
b/rpython/jit/metainterp/test/test_warmspot.py
--- a/rpython/jit/metainterp/test/test_warmspot.py
+++ b/rpython/jit/metainterp/test/test_warmspot.py
@@ -623,6 +623,9 @@
class tracker:
pass
+ def setup_descrs(self):
+ pass
+
def get_latest_descr(self, deadframe):
assert isinstance(deadframe, FakeDeadFrame)
return self.get_fail_descr_from_number(deadframe._no)
diff --git a/rpython/jit/metainterp/test/test_warmstate.py
b/rpython/jit/metainterp/test/test_warmstate.py
--- a/rpython/jit/metainterp/test/test_warmstate.py
+++ b/rpython/jit/metainterp/test/test_warmstate.py
@@ -6,7 +6,8 @@
from rpython.jit.metainterp.warmstate import WarmEnterState
from rpython.jit.metainterp.resoperation import InputArgInt, InputArgRef,\
InputArgFloat
-from rpython.jit.metainterp.history import ConstInt, ConstFloat, ConstPtr
+from rpython.jit.metainterp.history import ConstInt, ConstFloat, ConstPtr,\
+ IntFrontendOp, FloatFrontendOp, RefFrontendOp
from rpython.jit.metainterp.counter import DeterministicJitCounter
from rpython.jit.codewriter import longlong
from rpython.rlib.rarithmetic import r_singlefloat
@@ -31,6 +32,24 @@
assert unwrap(lltype.Ptr(RS), InputArgInt(0)) == lltype.nullptr(RS)
def test_wrap():
+ def InputArgInt(a):
+ i = IntFrontendOp(0)
+ i.setint(a)
+ return i
+
+ def InputArgFloat(a):
+ i = FloatFrontendOp(0)
+ i.setfloatstorage(a)
+ return i
+
+ def InputArgRef(a):
+ i = RefFrontendOp(0)
+ i.setref_base(a)
+ return i
+
+ def boxfloat(x):
+ return InputArgFloat(longlong.getfloatstorage(x))
+
def _is(box1, box2):
return (box1.__class__ == box2.__class__ and
box1.getvalue() == box2.getvalue())
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit