[pypy-svn] r65916 - pypy/branch/pyjitpl5/pypy/jit/metainterp

antocuni at codespeak.net antocuni at codespeak.net
Wed Jun 24 16:57:52 CEST 2009


Author: antocuni
Date: Wed Jun 24 16:57:52 2009
New Revision: 65916

Modified:
   pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize3.py
Log:
this has been hanging around in my wc for days now. test_optimize3.py still passes


Modified: pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize3.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize3.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize3.py	Wed Jun 24 16:57:52 2009
@@ -540,7 +540,10 @@
             return
         clsbox = node.known_class.source
         oplist.append(self._new_obj(opt.cpu, clsbox, box))
-        opt.setval(box) # make sure that the value for this box exists
+        # create the InstanceValue for this box, or reuse the old one if it
+        # already exists (e.g., if you rebuild the same box twice, in two
+        # different guards)
+        opt.assertval(box, box)
         for descr, node in node.curfields.items():
             fieldbox = opt.rebuild_box(oplist, memo, node, node.source)
 ##             if isinstance(clsbox, FixedList):



More information about the Pypy-commit mailing list