AArch64 gen_continuation_enter
    Andrew Haley 
    aph-open at littlepinkcloud.com
       
    Wed Aug 24 16:09:33 UTC 2022
    
    
  
I'm looking at this in gen_continuation_enter:
       __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), rthread, c_rarg1);
       // see OptoRuntime::generate_exception_blob: r0 -- exception oop, r3 -- exception pc
       __ mov(r1, r0); // the exception handler
       __ mov(r0, r19); // restore return value contaning the exception oop
       __ verify_oop(r0);
       __ leave();
       __ mov(r3, lr);
       __ br(r1); // the exception handler
This read from LR looks wrong. Nothing defines LR at this point: as far as I
can see it probably contains the address of the instruction after the call to
SharedRuntime::exception_handler_for_return_address, but the platform ABI
doesn't require that.
-- 
Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
    
    
More information about the loom-dev
mailing list