提交 0c5e3915 编写于 作者: I iveresov

7013812: C1: deopt blob too far from patching stub

Summary: Use long jumps to get from patching stubs to deopt blob
Reviewed-by: kvn, never
上级 fda06608
...@@ -343,9 +343,10 @@ OopMapSet* Runtime1::generate_patching(StubAssembler* sasm, address target) { ...@@ -343,9 +343,10 @@ OopMapSet* Runtime1::generate_patching(StubAssembler* sasm, address target) {
// returned. // returned.
restore_live_registers(sasm); restore_live_registers(sasm);
__ restore();
__ br(Assembler::always, false, Assembler::pt, deopt_blob->unpack_with_reexecution(), relocInfo::runtime_call_type); AddressLiteral dest(deopt_blob->unpack_with_reexecution());
__ delayed()->nop(); __ jump_to(dest, O0);
__ delayed()->restore();
__ bind(no_deopt); __ bind(no_deopt);
restore_live_registers(sasm); restore_live_registers(sasm);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册