Author: Maciej Fijalkowski <fij...@gmail.com> Branch: optresult-unroll Changeset: r79366:04e67e43db5a Date: 2015-09-01 23:11 +0200 http://bitbucket.org/pypy/pypy/changeset/04e67e43db5a/
Log: fix virtual_ref optimization diff --git a/rpython/jit/metainterp/optimizeopt/virtualize.py b/rpython/jit/metainterp/optimizeopt/virtualize.py --- a/rpython/jit/metainterp/optimizeopt/virtualize.py +++ b/rpython/jit/metainterp/optimizeopt/virtualize.py @@ -160,10 +160,11 @@ return False tokeninfo = self.getptrinfo(tokenop) if (tokeninfo is not None and tokeninfo.is_constant() and - not tokeninfo.is_null()): - forcedvalue = vref.getfield(vrefinfo.descr_forced, None) - if forcedvalue is not None and not forcedvalue.is_null(): - self.make_equal_to(op, forcedvalue) + not tokeninfo.is_nonnull()): + forcedop = vref.getfield(vrefinfo.descr_forced, None) + forcedinfo = self.getptrinfo(forcedop) + if forcedinfo is not None and not forcedinfo.is_null(): + self.make_equal_to(op, forcedop) self.last_emitted_operation = REMOVED return True return False _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit