Author: fijal
Branch: more-pending-setfields
Changeset: r79953:39d268efdfe1
Date: 2015-10-03 16:22 +0200
http://bitbucket.org/pypy/pypy/changeset/39d268efdfe1/

Log:    try to do more pending setfields

diff --git a/dotviewer/graphclient.py b/dotviewer/graphclient.py
--- a/dotviewer/graphclient.py
+++ b/dotviewer/graphclient.py
@@ -127,17 +127,17 @@
         return spawn_graphserver_handler((host, port))
 
 def spawn_local_handler():
-    if hasattr(sys, 'pypy_objspaceclass'):
-        # if 'python' is actually PyPy, e.g. in a virtualenv, then
-        # try hard to find a real CPython
-        try:
-            python = subprocess.check_output(
-                'env -i $SHELL -l -c "which python"', shell=True).strip()
-        except subprocess.CalledProcessError:
-            # did not work, fall back to 'python'
-            python = 'python'
-    else:
-        python = sys.executable
+    #if hasattr(sys, 'pypy_objspaceclass'):
+    #    # if 'python' is actually PyPy, e.g. in a virtualenv, then
+    #    # try hard to find a real CPython
+    #    try:
+    #        python = subprocess.check_output(
+    #            'env -i $SHELL -l -c "which python"', shell=True).strip()
+    #    except subprocess.CalledProcessError:
+    #        # did not work, fall back to 'python'
+    #        python = 'python'
+    #else:
+    python = sys.executable
     args = [python, '-u', GRAPHSERVER, '--stdio']
     p = subprocess.Popen(args,
                          stdout=subprocess.PIPE, stdin=subprocess.PIPE)
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
@@ -469,10 +469,10 @@
             if op is None:
                 continue
             val = op.getarg(1)
-            if self.optimizer.is_virtual(val):
-                pendingfields.append(op)
-                continue
-            cf.force_lazy_setfield(self, descr)
+            #if self.optimizer.is_virtual(val):
+            pendingfields.append(op)
+            #    continue
+            #cf.force_lazy_setfield(self, descr)
         for descr, submap in self.cached_arrayitems.iteritems():
             for index, cf in submap.iteritems():
                 op = cf._lazy_setfield
diff --git a/rpython/jit/metainterp/resume.py b/rpython/jit/metainterp/resume.py
--- a/rpython/jit/metainterp/resume.py
+++ b/rpython/jit/metainterp/resume.py
@@ -417,8 +417,9 @@
             self.register_box(box)
             self.register_box(fieldbox)
             info = optimizer.getptrinfo(fieldbox)
-            assert info is not None and info.is_virtual()
-            info.visitor_walk_recursive(fieldbox, self, optimizer)
+            #assert info is not None and info.is_virtual()
+            if info and info.is_virtual():
+                info.visitor_walk_recursive(fieldbox, self, optimizer)
 
         self._number_virtuals(liveboxes, optimizer, v)
         self._add_pending_fields(optimizer, pending_setfields)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to