[pypy-commit] pypy default: Handle getfield_gc_pure* and getfield_gc_* uniformly in heap.py

sbauman noreply at buildbot.pypy.org
Fri Oct 9 15:58:38 CEST 2015


Author: Spenser Bauman <sabauma at gmail.com>
Branch: 
Changeset: r80085:2a46aa80547f
Date: 2015-10-08 11:58 -0400
http://bitbucket.org/pypy/pypy/changeset/2a46aa80547f/

Log:	Handle getfield_gc_pure* and getfield_gc_* uniformly in heap.py

diff --git a/rpython/jit/metainterp/optimizeopt/heap.py b/rpython/jit/metainterp/optimizeopt/heap.py
--- a/rpython/jit/metainterp/optimizeopt/heap.py
+++ b/rpython/jit/metainterp/optimizeopt/heap.py
@@ -507,16 +507,7 @@
     optimize_GETFIELD_GC_R = optimize_GETFIELD_GC_I
     optimize_GETFIELD_GC_F = optimize_GETFIELD_GC_I
 
-    def optimize_GETFIELD_GC_PURE_I(self, op):
-        structinfo = self.ensure_ptr_info_arg0(op)
-        cf = self.field_cache(op.getdescr())
-        field = cf.getfield_from_cache(self, structinfo, op.getdescr())
-        if field is not None:
-            self.make_equal_to(op, field)
-            return
-        # default case: produce the operation
-        self.make_nonnull(op.getarg(0))
-        self.emit_operation(op)
+    optimize_GETFIELD_GC_PURE_I = optimize_GETFIELD_GC_I
     optimize_GETFIELD_GC_PURE_R = optimize_GETFIELD_GC_PURE_I
     optimize_GETFIELD_GC_PURE_F = optimize_GETFIELD_GC_PURE_I
 


More information about the pypy-commit mailing list