Commit 54a225d0 authored by Kevin Modzelewski's avatar Kevin Modzelewski

Fix speculations at module scope

parent 87b8302d
...@@ -485,7 +485,10 @@ private: ...@@ -485,7 +485,10 @@ private:
emitter.getBuilder()->SetInsertPoint(curblock); emitter.getBuilder()->SetInsertPoint(curblock);
llvm::Value* v = emitter.createCall2(UnwindInfo(current_statement, NULL), g.funcs.deopt, llvm::Value* v = emitter.createCall2(UnwindInfo(current_statement, NULL), g.funcs.deopt,
embedRelocatablePtr(node, g.i8->getPointerTo()), node_value); 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; curblock = success_bb;
emitter.getBuilder()->SetInsertPoint(curblock); emitter.getBuilder()->SetInsertPoint(curblock);
......
# run_args: -n # run_args: -n
# statcheck: stats['slowpath_getattr'] <= 10 # statcheck: stats['slowpath_getattr'] <= 20
class C(object): class C(object):
def f(self): def f(self):
print self.n self.n
c = C() c = C()
c.n = 1 c.n = 1
for i in xrange(100): for i in xrange(11000):
c.f() 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