[pypy-svn] r37614 - in pypy/dist/pypy/jit/hintannotator: . test
arigo at codespeak.net
arigo at codespeak.net
Tue Jan 30 17:23:13 CET 2007
Author: arigo
Date: Tue Jan 30 17:23:06 2007
New Revision: 37614
Modified:
pypy/dist/pypy/jit/hintannotator/model.py
pypy/dist/pypy/jit/hintannotator/test/test_annotator.py
Log:
Fix for r37611: deepfrozen across cast_pointer.
Modified: pypy/dist/pypy/jit/hintannotator/model.py
==============================================================================
--- pypy/dist/pypy/jit/hintannotator/model.py (original)
+++ pypy/dist/pypy/jit/hintannotator/model.py Tue Jan 30 17:23:06 2007
@@ -327,6 +327,10 @@
FIELD_TYPE = getattr(S, hs_fieldname.const)
return SomeLLAbstractVariable(lltype.Ptr(FIELD_TYPE), hs_v1.deepfrozen)
+ def cast_pointer(hs_v1):
+ RESTYPE = getbookkeeper().current_op_concretetype()
+ return SomeLLAbstractVariable(RESTYPE, hs_v1.deepfrozen)
+
def indirect_call(hs_v1, *args_hs):
hs_graph_list = args_hs[-1]
args_hs = args_hs[:-1]
@@ -452,6 +456,16 @@
myorigin=origin,
deepfrozen=hs_c1.deepfrozen)
+ def cast_pointer(hs_c1):
+ bk = getbookkeeper()
+ origin = bk.myorigin()
+ d = setadd(hs_c1.origins, origin)
+ RESTYPE = bk.current_op_concretetype()
+ return SomeLLAbstractConstant(RESTYPE, d,
+ eager_concrete = hs_c1.eager_concrete,
+ myorigin = origin,
+ deepfrozen = hs_c1.deepfrozen)
+
class __extend__(SomeLLAbstractContainer):
@@ -687,7 +701,6 @@
return SomeLLAbstractConstant(RESTYPE, d,
eager_concrete = hs_c1.eager_concrete,
myorigin = origin)
- #deepfrozen = hs_c1.deepfrozen)
def const_binary((hs_c1, hs_c2)):
#XXX unsure hacks
@@ -699,7 +712,6 @@
eager_concrete = hs_c1.eager_concrete or
hs_c2.eager_concrete,
myorigin = origin)
- #deepfrozen = hs_c1.deepfrozen and hs_c2.deepfrozen)
def setup(oplist, ValueCls, var_fn, ConstantCls, const_fn):
for name in oplist:
Modified: pypy/dist/pypy/jit/hintannotator/test/test_annotator.py
==============================================================================
--- pypy/dist/pypy/jit/hintannotator/test/test_annotator.py (original)
+++ pypy/dist/pypy/jit/hintannotator/test/test_annotator.py Tue Jan 30 17:23:06 2007
@@ -705,7 +705,6 @@
def test_cast_pointer_keeps_deepfreeze():
- py.test.skip("does not work")
class A(object):
pass
@@ -729,5 +728,3 @@
hs = hannotate(ll_function, [int], policy=P_NOVIRTUAL)
assert hs.deepfrozen
-
-
More information about the Pypy-commit
mailing list