Author: Hakan Ardo <ha...@debian.org> 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit