[pypy-commit] pypy reflowing: Use update_var() in rerased

rlamy pypy.commits at gmail.com
Mon Nov 21 16:09:56 EST 2016


Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: reflowing
Changeset: r88534:e25820fb63d8
Date: 2016-11-21 20:58 +0000
http://bitbucket.org/pypy/pypy/changeset/e25820fb63d8/

Log:	Use update_var() in rerased

diff --git a/rpython/rlib/rerased.py b/rpython/rlib/rerased.py
--- a/rpython/rlib/rerased.py
+++ b/rpython/rlib/rerased.py
@@ -40,7 +40,6 @@
 
 
 class ErasingPairIdentity(object):
-
     def __init__(self, name):
         self.name = name
 
@@ -54,17 +53,20 @@
     def __init__(self, bookkeeper):
         self.bookkeeper = bookkeeper
         self.s_input = annmodel.s_ImpossibleValue
-        self.reflowpositions = {}
+        self.updatevars = set()
 
     def enter_tunnel(self, s_obj):
         s_obj = annmodel.unionof(self.s_input, s_obj)
         if s_obj != self.s_input:
             self.s_input = s_obj
-            for position in self.reflowpositions:
-                self.bookkeeper.annotator.reflowfromposition(position)
+            ann = self.bookkeeper.annotator
+            for v in self.updatevars:
+                ann.update_var(v)
 
     def leave_tunnel(self):
-        self.reflowpositions[self.bookkeeper.position_key] = True
+        bk = self.bookkeeper
+        v = bk.annotator.get_result_var(bk.position_key)
+        self.updatevars.add(v)
         return self.s_input
 
 def _get_desc(bk, identity):


More information about the pypy-commit mailing list