Author: Alex Gaynor <[email protected]>
Branch: unroll-if-alt
Changeset: r47312:751ecc7098ae
Date: 2011-09-16 21:46 -0400
http://bitbucket.org/pypy/pypy/changeset/751ecc7098ae/
Log: make this work with struct.unpack as well
diff --git a/pypy/module/struct/formatiterator.py
b/pypy/module/struct/formatiterator.py
--- a/pypy/module/struct/formatiterator.py
+++ b/pypy/module/struct/formatiterator.py
@@ -135,13 +135,15 @@
self.inputpos = 0
self.result_w = [] # list of wrapped objects
+ # See above comment on operate.
+ @jit.unroll_safe
+ @specialize.arg(1)
def operate(self, fmtdesc, repetitions):
if fmtdesc.needcount:
fmtdesc.unpack(self, repetitions)
else:
for i in range(repetitions):
fmtdesc.unpack(self)
- operate._annspecialcase_ = 'specialize:arg(1)'
_operate_is_specialized_ = True
def align(self, mask):
@@ -159,7 +161,6 @@
self.inputpos = end
return s
+ @specialize.argtype(1)
def appendobj(self, value):
self.result_w.append(self.space.wrap(value))
- appendobj._annspecialcase_ = 'specialize:argtype(1)'
-
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit