[pypy-commit] pypy optresult: small fixes

fijal noreply at buildbot.pypy.org
Fri May 29 15:48:31 CEST 2015


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult
Changeset: r77687:456f14814b85
Date: 2015-05-29 15:48 +0200
http://bitbucket.org/pypy/pypy/changeset/456f14814b85/

Log:	small fixes

diff --git a/rpython/jit/metainterp/optimizeopt/info.py b/rpython/jit/metainterp/optimizeopt/info.py
--- a/rpython/jit/metainterp/optimizeopt/info.py
+++ b/rpython/jit/metainterp/optimizeopt/info.py
@@ -99,12 +99,16 @@
         self._fields = [None] * len(self._fields)
 
     def setfield(self, descr, op, optheap=None, cf=None):
+        if self._fields is None:
+            self.init_fields(descr.parent_descr)
         self._fields[descr.index] = op
         if cf is not None:
             assert not self.is_virtual()
             cf.register_dirty_field(self)
 
     def getfield(self, descr, optheap=None):
+        if self._fields is None:
+            self.init_fields(descr.parent_descr)
         return self._fields[descr.index]
 
     def _force_elements(self, op, optforce, descr):
diff --git a/rpython/jit/metainterp/optimizeopt/intbounds.py b/rpython/jit/metainterp/optimizeopt/intbounds.py
--- a/rpython/jit/metainterp/optimizeopt/intbounds.py
+++ b/rpython/jit/metainterp/optimizeopt/intbounds.py
@@ -351,9 +351,9 @@
             self.emit_operation(op)
 
     def optimize_INT_FORCE_GE_ZERO(self, op):
-        value = self.getvalue(op.getarg(0))
-        if value.getintbound().known_ge(IntBound(0, 0)):
-            self.make_equal_to(op, value)
+        b = self.getintbound(op.getarg(0))
+        if b.known_ge(IntBound(0, 0)):
+            self.make_equal_to(op, op.getarg(0))
         else:
             self.emit_operation(op)
 


More information about the pypy-commit mailing list