[pypy-commit] pypy value-classes: Stop gap for dealing with Virtual/ConstPtr case
sbauman
pypy.commits at gmail.com
Tue Sep 27 21:38:50 EDT 2016
Author: Spenser Bauman <sabauma at gmail.com>
Branch: value-classes
Changeset: r87428:eb82006f754f
Date: 2016-09-27 21:34 -0400
http://bitbucket.org/pypy/pypy/changeset/eb82006f754f/
Log: Stop gap for dealing with Virtual/ConstPtr case
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
@@ -1,7 +1,7 @@
from rpython.jit.metainterp.walkvirtual import VirtualVisitor
from rpython.jit.metainterp.history import ConstInt, ConstPtr, ConstFloat
from rpython.jit.metainterp.optimizeopt.info import ArrayPtrInfo,\
- ArrayStructInfo, AbstractStructPtrInfo
+ ArrayStructInfo, AbstractStructPtrInfo, ConstPtrInfo
from rpython.jit.metainterp.optimizeopt.intutils import \
MININT, MAXINT, IntBound, IntLowerBound, IntUnbounded
from rpython.jit.metainterp.resoperation import rop, ResOperation, \
@@ -310,7 +310,9 @@
if runtime_box is not None:
opinfo = state.optimizer.getptrinfo(box)
- assert opinfo is None or isinstance(opinfo, AbstractStructPtrInfo)
+ if opinfo is not None and not isinstance(opinfo, AbstractStructPtrInfo):
+ assert isinstance(opinfo, ConstPtrInfo)
+ raise VirtualStatesCantMatch("cannot yet handle const pointers")
else:
opinfo = None
More information about the pypy-commit
mailing list