Commit bc5d666a authored by Marius Wachtler's avatar Marius Wachtler

Fix small issues encountered when doing OSR

parent 8ce0e0bb
......@@ -785,7 +785,7 @@ Box* ASTInterpreter::doOSR(AST_Jump* node) {
= incref(frame_info.passed_closure);
if (created_closure)
sorted_symbol_table[source_info->getInternedStrings().get(CREATED_CLOSURE_NAME)] = created_closure;
sorted_symbol_table[source_info->getInternedStrings().get(CREATED_CLOSURE_NAME)] = incref(created_closure);
sorted_symbol_table[source_info->getInternedStrings().get(FRAME_INFO_PTR_NAME)] = (Box*)&frame_info;
......
......@@ -1057,6 +1057,7 @@ private:
assert(exc_info->getType() == g.llvm_excinfo_type->getPointerTo());
llvm::Constant* v = getNullPtr(g.llvm_value_type_ptr);
emitter.setType(v, RefType::BORROWED);
builder->CreateStore(v, builder->CreateConstInBoundsGEP2_32(exc_info, 0, 0));
builder->CreateStore(v, builder->CreateConstInBoundsGEP2_32(exc_info, 0, 1));
builder->CreateStore(v, builder->CreateConstInBoundsGEP2_32(exc_info, 0, 2));
......@@ -2053,7 +2054,7 @@ private:
converted_msg = msg->makeConverted(emitter, msg->getBoxType());
llvm_args.push_back(converted_msg->getValue());
} else {
llvm_args.push_back(getNullPtr(g.llvm_value_type_ptr));
llvm_args.push_back(emitter.setType(getNullPtr(g.llvm_value_type_ptr), RefType::BORROWED));
}
llvm::CallSite call = emitter.createCall(unw_info, g.funcs.assertFail, llvm_args);
call.setDoesNotReturn();
......
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