Commit c8695673 authored by Kevin Modzelewski's avatar Kevin Modzelewski

Merge pull request #511 from kmod/module_speculations

Fix speculations at module scope
parents b5f06903 54a225d0
......@@ -485,7 +485,10 @@ private:
emitter.getBuilder()->SetInsertPoint(curblock);
llvm::Value* v = emitter.createCall2(UnwindInfo(current_statement, NULL), g.funcs.deopt,
embedRelocatablePtr(node, g.i8->getPointerTo()), node_value);
emitter.getBuilder()->CreateRet(v);
if (irstate->getReturnType() == VOID)
emitter.getBuilder()->CreateRetVoid();
else
emitter.getBuilder()->CreateRet(v);
curblock = success_bb;
emitter.getBuilder()->SetInsertPoint(curblock);
......
# run_args: -n
# statcheck: stats['slowpath_getattr'] <= 10
# statcheck: stats['slowpath_getattr'] <= 20
class C(object):
def f(self):
print self.n
self.n
c = C()
c.n = 1
for i in xrange(100):
for i in xrange(11000):
c.f()
c.n
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment