Author: Armin Rigo <[email protected]>
Branch: result-in-resops
Changeset: r58069:3a4f00542c79
Date: 2012-10-12 18:18 +0200
http://bitbucket.org/pypy/pypy/changeset/3a4f00542c79/

Log:    kill a bit more stuff

diff --git a/pypy/jit/metainterp/resoperation.py 
b/pypy/jit/metainterp/resoperation.py
--- a/pypy/jit/metainterp/resoperation.py
+++ b/pypy/jit/metainterp/resoperation.py
@@ -803,7 +803,7 @@
             return 0 # for tests
         return compute_identity_hash(self._descr)
 
-class GuardResOp(ResOpWithDescr):
+class GuardResOp(PlainResOp):
 
     # gathered during tracing
     _rd_snapshot = None
@@ -872,9 +872,6 @@
             res.set_rd_snapshot(self.get_rd_snapshot())
         return res
 
-    def copy_if_modified_by_optimization(self, opt):
-        return self
-
     def get_key_op(self, opt):
         return self
 
@@ -906,18 +903,6 @@
     def foreach_arg(self, func, arg):
         func(arg, self.getopnum(), 0, self._arg0)
 
-    @specialize.argtype(1)
-    def copy_if_modified_by_optimization(self, opt):
-        new_arg = opt.get_value_replacement(self._arg0)
-        if new_arg is None:
-            return self
-        res = create_resop_1(self.opnum, self.getresult(), new_arg,
-                             self.getdescr())
-        if self.is_guard():
-            res.set_rd_frame_info_list(self.get_rd_frame_info_list())
-            res.set_rd_snapshot(self.get_rd_snapshot())
-        return res
-
     def get_key_op(self, opt):
         new_arg = opt.getvalue(self._arg0).get_key_box()
         if new_arg is self._arg0:
@@ -971,21 +956,6 @@
         func(arg, self.getopnum(), 1, self._arg1)
 
     @specialize.argtype(1)
-    def copy_if_modified_by_optimization(self, opt):
-        new_arg0 = opt.get_value_replacement(self._arg0)
-        new_arg1 = opt.get_value_replacement(self._arg1)
-        if new_arg0 is None and new_arg1 is None:
-            return self
-        res = create_resop_2(self.opnum, self.getresult(),
-                             new_arg0 or self._arg0,
-                             new_arg1 or self._arg1,
-                             self.getdescr())
-        if self.is_guard():
-            res.set_rd_frame_info_list(self.get_rd_frame_info_list())
-            res.set_rd_snapshot(self.get_rd_snapshot())
-        return res
-
-    @specialize.argtype(1)
     def get_key_op(self, opt):
         new_arg0 = opt.getvalue(self._arg0).get_key_box()
         new_arg1 = opt.getvalue(self._arg1).get_key_box()
@@ -1045,20 +1015,6 @@
         func(arg, self.getopnum(), 2, self._arg2)
 
     @specialize.argtype(1)
-    def copy_if_modified_by_optimization(self, opt):
-        assert not self.is_guard()
-        new_arg0 = opt.get_value_replacement(self._arg0)
-        new_arg1 = opt.get_value_replacement(self._arg1)
-        new_arg2 = opt.get_value_replacement(self._arg2)
-        if new_arg0 is None and new_arg1 is None and new_arg2 is None:
-            return self
-        return create_resop_3(self.opnum, self.getresult(),
-                              new_arg0 or self._arg0,
-                              new_arg1 or self._arg1,
-                              new_arg2 or self._arg2,
-                              self.getdescr())
-
-    @specialize.argtype(1)
     def get_key_op(self, opt):
         new_arg0 = opt.getvalue(self._arg0).get_key_box()
         new_arg1 = opt.getvalue(self._arg1).get_key_box()
@@ -1111,24 +1067,6 @@
             func(func_arg, self.getopnum(), i, arg)
 
     @specialize.argtype(1)
-    def copy_if_modified_by_optimization(self, opt):
-        newargs = None
-        for i, arg in enumerate(self._args):
-            new_arg = opt.get_value_replacement(arg)
-            if new_arg is not None:
-                if newargs is None:
-                    newargs = newlist_hint(len(self._args))
-                    for k in range(i):
-                        newargs.append(self._args[k])
-                newargs.append(new_arg)
-            elif newargs is not None:
-                newargs.append(arg)
-        if newargs is None:
-            return self
-        return create_resop(self.opnum, self.getresult(),
-                            newargs, self.getdescr())
-
-    @specialize.argtype(1)
     def get_key_op(self, opt):
         newargs = None
         for i, arg in enumerate(self._args):
@@ -1181,20 +1119,20 @@
 
     '_GUARD_FIRST',
     '_GUARD_FOLDABLE_FIRST',
-    'GUARD_TRUE/1d/N',
-    'GUARD_FALSE/1d/N',
-    'GUARD_VALUE/2d/N',
-    'GUARD_CLASS/2d/N',
-    'GUARD_NONNULL/1d/N',
-    'GUARD_ISNULL/1d/N',
-    'GUARD_NONNULL_CLASS/2d/N',
+    'GUARD_TRUE/1/N',
+    'GUARD_FALSE/1/N',
+    'GUARD_VALUE/2/N',
+    'GUARD_CLASS/2/N',
+    'GUARD_NONNULL/1/N',
+    'GUARD_ISNULL/1/N',
+    'GUARD_NONNULL_CLASS/2/N',
     '_GUARD_FOLDABLE_LAST',
-    'GUARD_NO_EXCEPTION/0d/N',   # may be called with an exception currently 
set
-    'GUARD_EXCEPTION/1d/r',      # may be called with an exception currently 
set
-    'GUARD_NO_OVERFLOW/0d/N',
-    'GUARD_OVERFLOW/0d/N',
-    'GUARD_NOT_FORCED/0d/N',     # may be called with an exception currently 
set
-    'GUARD_NOT_INVALIDATED/0d/N',
+    'GUARD_NO_EXCEPTION/0/N',   # may be called with an exception currently set
+    'GUARD_EXCEPTION/1/r',      # may be called with an exception currently set
+    'GUARD_NO_OVERFLOW/0/N',
+    'GUARD_OVERFLOW/0/N',
+    'GUARD_NOT_FORCED/0/N',     # may be called with an exception currently set
+    'GUARD_NOT_INVALIDATED/0/N',
     '_GUARD_LAST', # ----- end of guard operations -----
 
     '_NOSIDEEFFECT_FIRST', # ----- start of no_side_effect operations -----
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to