3301 // Make sure we don't need to mask Rret for tosBits after the above shift |
3301 // Make sure we don't need to mask Rret for tosBits after the above shift |
3302 ConstantPoolCacheEntry::verify_tosBits(); |
3302 ConstantPoolCacheEntry::verify_tosBits(); |
3303 __ sll(Rret, LogBytesPerWord, Rret); |
3303 __ sll(Rret, LogBytesPerWord, Rret); |
3304 __ ld_ptr(Rtemp, Rret, Rret); // get return address |
3304 __ ld_ptr(Rtemp, Rret, Rret); // get return address |
3305 |
3305 |
3306 __ load_heap_oop(G5_callsite, __ delayed_value(java_dyn_CallSite::target_offset_in_bytes, Rscratch), G3_method_handle); |
3306 __ load_heap_oop(G5_callsite, __ delayed_value(java_lang_invoke_CallSite::target_offset_in_bytes, Rscratch), G3_method_handle); |
3307 __ null_check(G3_method_handle); |
3307 __ null_check(G3_method_handle); |
3308 |
3308 |
3309 // Adjust Rret first so Llast_SP can be same as Rret |
3309 // Adjust Rret first so Llast_SP can be same as Rret |
3310 __ add(Rret, -frame::pc_return_offset, O7); |
3310 __ add(Rret, -frame::pc_return_offset, O7); |
3311 __ add(Lesp, BytesPerWord, Gargs); // setup parameter pointer |
3311 __ add(Lesp, BytesPerWord, Gargs); // setup parameter pointer |