[pypy-svn] r65931 - pypy/branch/pyjitpl5/pypy/jit/tl/spli
fijal at codespeak.net
fijal at codespeak.net
Wed Jun 24 20:57:13 CEST 2009
Author: fijal
Date: Wed Jun 24 20:57:12 2009
New Revision: 65931
Modified:
pypy/branch/pyjitpl5/pypy/jit/tl/spli/serializer.py
Log:
Store length of list
Modified: pypy/branch/pyjitpl5/pypy/jit/tl/spli/serializer.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/tl/spli/serializer.py (original)
+++ pypy/branch/pyjitpl5/pypy/jit/tl/spli/serializer.py Wed Jun 24 20:57:12 2009
@@ -45,9 +45,10 @@
raise NotSupportedFormat(c[start])
def unserialize_consts(constrepr):
- pos = 0
+ pos = int_lgt
consts_w = []
- while pos < len(constrepr):
+ num = runpack('i', constrepr[:int_lgt])
+ for i in range(num):
next_const, pos = unserialize_const(constrepr, pos)
consts_w.append(next_const)
return consts_w
@@ -57,7 +58,8 @@
def serialize(code):
header = struct.pack(FMT, code.co_argcount, code.co_nlocals,
code.co_stacksize, code.co_flags, len(code.co_code))
- constsrepr = "".join([serialize_const(const) for const in code.co_consts])
+ constsrepr = (struct.pack('i', len(code.co_consts)) +
+ "".join([serialize_const(const) for const in code.co_consts]))
return header + code.co_code + constsrepr
def deserialize(coderepr, space=None):
More information about the Pypy-commit
mailing list