[pypy-commit] pypy better-jit-hooks: yet another go

fijal noreply at buildbot.pypy.org
Fri Jan 6 10:36:12 CET 2012


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: better-jit-hooks
Changeset: r51058:d8f5fca2919d
Date: 2012-01-06 11:35 +0200
http://bitbucket.org/pypy/pypy/changeset/d8f5fca2919d/

Log:	yet another go

diff --git a/pypy/module/pypyjit/interp_resop.py b/pypy/module/pypyjit/interp_resop.py
--- a/pypy/module/pypyjit/interp_resop.py
+++ b/pypy/module/pypyjit/interp_resop.py
@@ -77,7 +77,7 @@
     return space.w_None
 
 def wrap_oplist(space, logops, operations, ops_offset):
-    return [WrappedOp(op, ops_offset[op], logops) for op in operations]
+    return [WrappedOp(op, ops_offset[op], logops.repr_of_resop(op)) for op in operations]
 
 @unwrap_spec(no=int)
 def new_resop(space, w_tp, no):
@@ -86,18 +86,15 @@
         raise OperationError(space.w_ValueError,
                              space.wrap("for annotation only"))
     op = ResOperation(no, [], None)
-    return space.wrap(WrappedOp(op, 13))
+    return space.wrap(WrappedOp(op, NonConstant(13), NonConstant('repr')))
 
 class WrappedOp(Wrappable):
     """ A class representing a single ResOperation, wrapped nicely
     """
-    def __init__(self, op, offset, logops=None):
+    def __init__(self, op, offset, repr_of_resop):
         self.op = op
         self.offset = offset
-        if logops is not None:
-            self.repr_of_resop = logops.repr_of_resop(op) # XXX fix this, horribly inefficient
-        else:
-            self.repr_of_resop = "repr"
+        self.repr_of_resop = repr_of_resop
 
     def descr_repr(self, space):
         return space.wrap(self.repr_of_resop)


More information about the pypy-commit mailing list