< prev index next >

src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp

Print this page
rev 8300 : 8079564: Use FP register as proper frame pointer in JIT compiled code on aarch64
Summary: Add support for PreserveFramePointer for debug/profile
Reviewed-by: duke

*** 2993,3017 **** // and we dont' expect an arg reg save area __ ldp(rfp, r3, Address(__ post(sp, 2 * wordSize))); // r0: exception handler - // Restore SP from BP if the exception PC is a MethodHandle call site. - __ ldrw(rscratch1, Address(rthread, JavaThread::is_method_handle_return_offset())); - // n.b. Intel uses special register rbp_mh_SP_save here but we will - // just hard wire rfp - __ cmpw(rscratch1, zr); - // the obvious way to conditionally copy rfp to sp if NE - // Label skip; - // __ br(Assembler::EQ, skip); - // __ mov(sp, rfp); - // __ bind(skip); - // same but branchless - __ mov(rscratch1, sp); - __ csel(rscratch1, rfp, rscratch1, Assembler::NE); - __ mov(sp, rscratch1); - // We have a handler in r0 (could be deopt blob). __ mov(r8, r0); // Get the exception oop __ ldr(r0, Address(rthread, JavaThread::exception_oop_offset())); --- 2993,3002 ----
< prev index next >