mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
6930772: JSR 292 needs to support SPARC C1
C1 for SPARC needs to support JSR 292. Reviewed-by: never, jrose
This commit is contained in:
parent
c9f2ba541b
commit
2e24ba80e9
28 changed files with 164 additions and 137 deletions
|
@ -679,8 +679,15 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
|
|||
__ call_VM_leaf(L7_thread_cache, CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address),
|
||||
G2_thread, Oissuing_pc->after_save());
|
||||
__ verify_not_null_oop(Oexception->after_save());
|
||||
__ jmp(O0, 0);
|
||||
__ delayed()->restore();
|
||||
|
||||
// Restore SP from L7 if the exception PC is a MethodHandle call site.
|
||||
__ mov(O0, G5); // Save the target address.
|
||||
__ lduw(Address(G2_thread, JavaThread::is_method_handle_return_offset()), L0);
|
||||
__ tst(L0); // Condition codes are preserved over the restore.
|
||||
__ restore();
|
||||
|
||||
__ jmp(G5, 0);
|
||||
__ delayed()->movcc(Assembler::notZero, false, Assembler::icc, L7_mh_SP_save, SP); // Restore SP if required.
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue