[pypy-svn] r62114 - pypy/branch/pyjitpl5/pypy/jit/metainterp
arigo at codespeak.net
arigo at codespeak.net
Tue Feb 24 16:35:58 CET 2009
Author: arigo
Date: Tue Feb 24 16:35:58 2009
New Revision: 62114
Modified:
pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize.py
Log:
More commenting out (all temporary), and simplify a few
variables away.
Modified: pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize.py (original)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize.py Tue Feb 24 16:35:58 2009
@@ -38,7 +38,7 @@
## self.list_allocations = []
## self.setitems = []
- def deal_with_box(self, box, nodes, liveboxes, memo, ready):
+ def deal_with_box(self, box, nodes, liveboxes, memo):
if isinstance(box, Const) or box not in nodes:
virtual = False
virtualized = False
@@ -67,8 +67,7 @@
res = alloc_offset
memo[box] = res
for ofs, node in instnode.curfields.items():
- num = self.deal_with_box(node.source, nodes, liveboxes, memo,
- ready)
+ num = self.deal_with_box(node.source, nodes, liveboxes, memo)
## if isinstance(instnode.cls.source, ListDescr):
## ld = instnode.cls.source
## x = (alloc_offset + 1) << 16
@@ -82,8 +81,7 @@
memo[box] = res
liveboxes.append(box)
for ofs, node in instnode.curfields.items():
- num = self.deal_with_box(node.source, nodes, liveboxes, memo,
- ready)
+ num = self.deal_with_box(node.source, nodes, liveboxes, memo)
self.setfields.append((res, ofs, num))
else:
res = ~len(liveboxes)
@@ -107,8 +105,8 @@
self.cleanfields = {}
self.dirtyfields = {}
self.expanded_fields = {}
- self.origsize = -1
- self.cursize = -1
+ #self.origsize = -1
+ #self.cursize = -1
def escape_if_startbox(self, memo):
if self in memo:
@@ -283,13 +281,13 @@
1): ##not isinstance(instnode.cls.source, ListDescr)):
instnode.expanded_fields[field] = None
- def find_nodes_insert(self, instnode, field, fieldnode):
- for ofs, node in instnode.curfields.items():
- if ofs >= field:
- instnode.curfields[ofs + 1] = node
- instnode.curfields[field] = fieldnode
- instnode.cursize += 1
- self.dependency_graph.append((instnode, fieldnode))
+## def find_nodes_insert(self, instnode, field, fieldnode):
+## for ofs, node in instnode.curfields.items():
+## if ofs >= field:
+## instnode.curfields[ofs + 1] = node
+## instnode.curfields[field] = fieldnode
+## instnode.cursize += 1
+## self.dependency_graph.append((instnode, fieldnode))
def find_nodes(self):
# Steps (1) and (2)
@@ -515,8 +513,7 @@
op = op.clone()
for box in old_boxes:
indices.append(storage.deal_with_box(box, self.nodes,
- liveboxes, memo,
- self.ready_results))
+ liveboxes, memo))
rev_boxes = {}
for i in range(len(liveboxes)):
box = liveboxes[i]
@@ -555,7 +552,7 @@
instnode = self.nodes[box]
assert not instnode.virtual
box = instnode.source
- assert isinstance(box, Const) or box in self.ready_results
+ #assert isinstance(box, Const) or box in self.ready_results
newboxes.append(box)
return newboxes
@@ -566,8 +563,8 @@
def optimize_getfield(self, instnode, ofs, box):
if instnode.virtual or instnode.virtualized:
- if ofs < 0:
- ofs = instnode.cursize + ofs
+## if ofs < 0:
+## ofs = instnode.cursize + ofs
assert ofs in instnode.curfields
return True # this means field is never actually
elif ofs in instnode.cleanfields:
@@ -579,8 +576,8 @@
def optimize_setfield(self, instnode, ofs, valuenode, valuebox):
if instnode.virtual or instnode.virtualized:
- if ofs < 0:
- ofs = instnode.cursize + ofs
+## if ofs < 0:
+## ofs = instnode.cursize + ofs
instnode.curfields[ofs] = valuenode
else:
assert not valuenode.virtual
@@ -588,19 +585,19 @@
instnode.dirtyfields[ofs] = self.nodes[valuebox]
# we never perform this operation here, note
- def optimize_insert(self, instnode, field, valuenode, valuebox):
- assert instnode.virtual
- for ofs, node in instnode.curfields.items():
- if ofs >= field:
- instnode.curfields[ofs + 1] = node
- instnode.curfields[field] = valuenode
- instnode.cursize += 1
+## def optimize_insert(self, instnode, field, valuenode, valuebox):
+## assert instnode.virtual
+## for ofs, node in instnode.curfields.items():
+## if ofs >= field:
+## instnode.curfields[ofs + 1] = node
+## instnode.curfields[field] = valuenode
+## instnode.cursize += 1
def optimize_loop(self):
- self.ready_results = {}
+ #self.ready_results = {}
newoperations = []
exception_might_have_happened = False
- ops_so_far = []
+ #ops_so_far = []
mp = self.loop.operations[0]
if mp.opname == 'merge_point':
assert len(mp.args) == len(self.specnodes)
@@ -614,21 +611,21 @@
assert not self.nodes[box].virtual
for op in self.loop.operations:
- ops_so_far.append(op)
+ #ops_so_far.append(op)
- if newoperations and newoperations[-1].results:
- self.ready_results[newoperations[-1].results[0]] = None
+ #if newoperations and newoperations[-1].results:
+ # self.ready_results[newoperations[-1].results[0]] = None
opname = op.opname
if opname == 'merge_point':
args = self.expanded_version_of(op.args, None)
op = MergePoint('merge_point', args, [])
newoperations.append(op)
- for arg in op.args:
- self.ready_results[arg] = None
+ #for arg in op.args:
+ # self.ready_results[arg] = None
continue
- elif opname == 'catch':
- for arg in op.args:
- self.ready_results[arg] = None
+ #elif opname == 'catch':
+ # for arg in op.args:
+ # self.ready_results[arg] = None
elif opname == 'jump':
args = self.expanded_version_of(op.args, newoperations)
self.cleanup_field_caches(newoperations)
@@ -643,19 +640,19 @@
op = self.optimize_guard(op)
newoperations.append(op)
continue
- elif opname == 'guard_builtin':
- instnode = self.nodes[op.args[0]]
- if instnode.cls is None:
- instnode.cls = InstanceNode(op.args[1])
- continue
- elif opname == 'guard_len':
- # it should be completely gone, because if it escapes
- # we don't virtualize it anymore
- instnode = self.nodes[op.args[0]]
- if not instnode.escaped and instnode.cursize == -1:
- instnode = self.nodes[op.args[0]]
- instnode.cursize = op.args[1].getint()
- continue
+## elif opname == 'guard_builtin':
+## instnode = self.nodes[op.args[0]]
+## if instnode.cls is None:
+## instnode.cls = InstanceNode(op.args[1])
+## continue
+## elif opname == 'guard_len':
+## # it should be completely gone, because if it escapes
+## # we don't virtualize it anymore
+## instnode = self.nodes[op.args[0]]
+## if not instnode.escaped and instnode.cursize == -1:
+## instnode = self.nodes[op.args[0]]
+## instnode.cursize = op.args[1].getint()
+## continue
elif opname == 'guard_nonvirtualized':
instnode = self.nodes[op.args[0]]
if instnode.virtualized or instnode.virtual:
More information about the Pypy-commit
mailing list