Author: Maciej Fijalkowski <[email protected]>
Branch: optresult
Changeset: r77615:d3a76417791a
Date: 2015-05-27 10:13 +0200
http://bitbucket.org/pypy/pypy/changeset/d3a76417791a/
Log: enough to pass test_loop.py
diff --git a/rpython/jit/backend/llgraph/runner.py
b/rpython/jit/backend/llgraph/runner.py
--- a/rpython/jit/backend/llgraph/runner.py
+++ b/rpython/jit/backend/llgraph/runner.py
@@ -1065,9 +1065,8 @@
else:
stats.add_merge_point_location(args[1:])
- def execute_new_with_vtable(self, _, vtable):
- descr = heaptracker.vtable2descr(self.cpu, vtable)
- return self.cpu.bh_new_with_vtable(vtable, descr)
+ def execute_new_with_vtable(self, descr):
+ return self.cpu.bh_new_with_vtable(descr)
def execute_force_token(self, _):
return self
diff --git a/rpython/jit/codewriter/jtransform.py
b/rpython/jit/codewriter/jtransform.py
--- a/rpython/jit/codewriter/jtransform.py
+++ b/rpython/jit/codewriter/jtransform.py
@@ -933,7 +933,7 @@
opname = 'new_with_vtable'
else:
opname = 'new'
- sizedescr = self.cpu.sizeof(STRUCT)
+ sizedescr = self.cpu.sizeof(STRUCT, opname == 'new_with_vtable')
op1 = SpaceOperation(opname, [sizedescr], op.result)
if zero:
return self.zero_contents([op1], op.result, STRUCT)
diff --git a/rpython/jit/metainterp/blackhole.py
b/rpython/jit/metainterp/blackhole.py
--- a/rpython/jit/metainterp/blackhole.py
+++ b/rpython/jit/metainterp/blackhole.py
@@ -1365,8 +1365,7 @@
@arguments("cpu", "d", returns="r")
def bhimpl_new_with_vtable(cpu, descr):
- vtable = heaptracker.descr2vtable(cpu, descr)
- return cpu.bh_new_with_vtable(vtable, descr)
+ return cpu.bh_new_with_vtable(descr)
@arguments("cpu", "r", returns="i")
def bhimpl_guard_class(cpu, struct):
diff --git a/rpython/jit/metainterp/optimizeopt/optimizer.py
b/rpython/jit/metainterp/optimizeopt/optimizer.py
--- a/rpython/jit/metainterp/optimizeopt/optimizer.py
+++ b/rpython/jit/metainterp/optimizeopt/optimizer.py
@@ -844,13 +844,14 @@
# dissabled and unrolling emits some SAME_AS ops to setup the
# optimizier state. These needs to always be optimized out.
def optimize_SAME_AS_I(self, op):
- self.make_equal_to(op, self.getvalue(op.getarg(0)))
+ self.make_equal_to(op, op.getarg(0))
optimize_SAME_AS_R = optimize_SAME_AS_I
optimize_SAME_AS_F = optimize_SAME_AS_I
def optimize_MARK_OPAQUE_PTR(self, op):
- value = self.getvalue(op.getarg(0))
- self.optimizer.opaque_pointers[value] = True
+ #value = self.getvalue(op.getarg(0))
+ #self.optimizer.opaque_pointers[value] = True
+ pass # XXX what do we do with that?
dispatch_opt = make_dispatcher_method(Optimizer, 'optimize_',
default=Optimizer.optimize_default)
diff --git a/rpython/jit/metainterp/pyjitpl.py
b/rpython/jit/metainterp/pyjitpl.py
--- a/rpython/jit/metainterp/pyjitpl.py
+++ b/rpython/jit/metainterp/pyjitpl.py
@@ -2828,7 +2828,7 @@
arg_consts = [executor.constant_from_op(a) for a in op.getarglist()]
self.call_pure_results[arg_consts] = resbox_as_const
opnum = OpHelpers.call_pure_for_descr(op.getdescr())
- newop = op._copy_and_change(opnum, args=op.getarglist())
+ newop = op.copy_and_change(opnum, args=op.getarglist())
self.history.operations[-1] = newop
return newop
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit