[pypy-svn] r62951 - pypy/branch/pyjitpl5/pypy/jit/backend/llgraph
fijal at codespeak.net
fijal at codespeak.net
Sat Mar 14 13:51:40 CET 2009
Author: fijal
Date: Sat Mar 14 13:51:38 2009
New Revision: 62951
Modified:
pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/llimpl.py
pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/runner.py
Log:
couple of missing ops + a minor improvement in descr display
Modified: pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/llimpl.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/llimpl.py (original)
+++ pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/llimpl.py Sat Mar 14 13:51:38 2009
@@ -532,12 +532,16 @@
else:
return do_getarrayitem_gc_int(array, index, self.memocast)
+ op_getarrayitem_gc_pure = op_getarrayitem_gc
+
def op_getfield_gc(self, fielddescr, struct):
if fielddescr.type == 'p':
return do_getfield_gc_ptr(struct, fielddescr.ofs)
else:
return do_getfield_gc_int(struct, fielddescr.ofs, self.memocast)
+ op_getfield_gc_pure = op_getfield_gc
+
def op_getfield_raw(self, fielddescr, struct):
if fielddescr.type == 'p':
return do_getfield_raw_ptr(struct, fielddescr.ofs)
@@ -581,6 +585,8 @@
err_result = 0
return _do_call_common(func, self.memocast, err_result)
+ op_call_pure = op_call
+
def op_new_array(self, arraydescr, count):
return do_new_array(arraydescr.ofs, count)
Modified: pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/runner.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/runner.py (original)
+++ pypy/branch/pyjitpl5/pypy/jit/backend/llgraph/runner.py Sat Mar 14 13:51:38 2009
@@ -15,6 +15,8 @@
class Descr(history.AbstractDescr):
+ name = None
+
def __init__(self, ofs, type='?'):
self.ofs = ofs
self.type = type
@@ -45,9 +47,10 @@
raise TypeError("cannot use comparison on Descrs")
def __repr__(self):
+ if self.name is not None:
+ return '<Descr %r, %r, %r>' % (self.ofs, self.type, self.name)
return '<Descr %r, %r>' % (self.ofs, self.type)
-
class CPU(object):
def __init__(self, rtyper, stats=None, translate_support_code=False,
@@ -234,7 +237,9 @@
def fielddescrof(S, fieldname):
ofs, size = symbolic.get_field_token(S, fieldname)
token = history.getkind(getattr(S, fieldname))
- return Descr(ofs, token[0])
+ res = Descr(ofs, token[0])
+ res.name = fieldname
+ return res
@staticmethod
def arraydescrof(A):
@@ -368,7 +373,6 @@
else: # calldescr.type == 'v' # void
llimpl.do_call_void(func, self.memo_cast)
-
class GuardFailed(object):
returns = False
More information about the Pypy-commit
mailing list