[pypy-commit] pypy HopArg: don't store llops in HopArg

rlamy noreply at buildbot.pypy.org
Wed May 14 03:30:38 CEST 2014


Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: HopArg
Changeset: r71502:c195d6f7fb54
Date: 2014-05-14 02:29 +0100
http://bitbucket.org/pypy/pypy/changeset/c195d6f7fb54/

Log:	don't store llops in HopArg

diff --git a/rpython/rtyper/rtyper.py b/rpython/rtyper/rtyper.py
--- a/rpython/rtyper/rtyper.py
+++ b/rpython/rtyper/rtyper.py
@@ -650,19 +650,18 @@
 
 class HopArg(object):
     # XXX: find a better name and a meaningful definition
-    def __init__(self, v, s, r, llops):
+    def __init__(self, v, s, r):
         self.v = v  # a Constant or Variable
         self.s = s  # an annotation
         self.r = r  # a repr
-        self.llops = llops
 
-    def convert_to(self, repr):
+    def convert_to(self, repr, llops):
         v = self.v
         if isinstance(v, Constant):
             return inputconst(repr, v.value)
         if self.s.is_constant():
             return inputconst(repr, self.s.const)
-        return self.llops.convertvar(v, self.r, repr)
+        return llops.convertvar(v, self.r, repr)
 
 
 class HighLevelOp(object):
@@ -690,7 +689,7 @@
 
     @property
     def args(self):
-        return [HopArg(v, s, r, self.llops) for v, s, r in
+        return [HopArg(v, s, r) for v, s, r in
                 zip(self.args_v, self.args_s, self.args_r)]
 
     def copy(self):
@@ -718,7 +717,7 @@
         """
         if not isinstance(converted_to, Repr):
             converted_to = self.rtyper.getprimitiverepr(converted_to)
-        return self.args[arg].convert_to(converted_to)
+        return self.args[arg].convert_to(converted_to, self.llops)
 
     inputconst = staticmethod(inputconst)    # export via the HighLevelOp class
 
@@ -731,7 +730,7 @@
         for arg, repr in zip(self.args, converted_to):
             if not isinstance(repr, Repr):
                 repr = self.rtyper.getprimitiverepr(repr)
-            vars.append(arg.convert_to(repr))
+            vars.append(arg.convert_to(repr, self.llops))
         return vars
 
     def genop(self, opname, args_v, resulttype=None):


More information about the pypy-commit mailing list