Author: Hakan Ardo <[email protected]>
Branch: jit-targets
Changeset: r48771:beacbd0267fc
Date: 2011-11-05 09:04 +0100
http://bitbucket.org/pypy/pypy/changeset/beacbd0267fc/
Log: place the virtual_state on the target_token
diff --git a/pypy/jit/metainterp/history.py b/pypy/jit/metainterp/history.py
--- a/pypy/jit/metainterp/history.py
+++ b/pypy/jit/metainterp/history.py
@@ -768,6 +768,7 @@
class TargetToken(AbstractDescr):
def __init__(self, merge_point):
self.merge_point = merge_point
+ self.virtual_state = None
self.exported_state = None
class TreeLoop(object):
diff --git a/pypy/jit/metainterp/optimizeopt/unroll.py
b/pypy/jit/metainterp/optimizeopt/unroll.py
--- a/pypy/jit/metainterp/optimizeopt/unroll.py
+++ b/pypy/jit/metainterp/optimizeopt/unroll.py
@@ -191,10 +191,11 @@
target_token = targetop.getdescr()
assert isinstance(target_token, TargetToken)
targetop.initarglist(inputargs)
+ target_token.virtual_state = virtual_state
target_token.exported_state = ExportedState(values, short_inputargs,
constant_inputargs,
short_boxes,
inputarg_setup_ops,
self.optimizer,
- virtual_state,
start_resumedescr)
+ start_resumedescr)
def import_state(self, targetop):
target_token = targetop.getdescr()
@@ -214,6 +215,7 @@
self.imported_state = exported_state
self.inputargs = targetop.getarglist()
self.start_resumedescr = exported_state.start_resumedescr
+ self.initial_virtual_state = target_token.virtual_state
seen = {}
for box in self.inputargs:
@@ -252,7 +254,7 @@
self.optimizer.emitting_dissabled = False
def close_loop(self, jumpop):
- virtual_state = self.imported_state.virtual_state
+ virtual_state = self.initial_virtual_state
short_inputargs = self.imported_state.short_inputargs
constant_inputargs = self.imported_state.constant_inputargs
inputargs = self.inputargs
@@ -365,8 +367,6 @@
inliner.inline_descr_inplace(descr)
short_loop.start_resumedescr = descr
- short_loop.virtual_state = self.imported_state.virtual_state
-
# Forget the values to allow them to be freed
for box in short_loop.inputargs:
box.forget_value()
@@ -574,7 +574,7 @@
class ExportedState(object):
def __init__(self, values, short_inputargs, constant_inputargs,
- short_boxes, inputarg_setup_ops, optimizer, virtual_state,
+ short_boxes, inputarg_setup_ops, optimizer,
start_resumedescr):
self.values = values
self.short_inputargs = short_inputargs
@@ -582,6 +582,5 @@
self.short_boxes = short_boxes
self.inputarg_setup_ops = inputarg_setup_ops
self.optimizer = optimizer
- self.virtual_state = virtual_state
self.start_resumedescr = start_resumedescr
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit