equal
deleted
inserted
replaced
455 __ restore_LR_CR(R0); |
455 __ restore_LR_CR(R0); |
456 |
456 |
457 // Reset JavaFrameAnchor from call_VM_leaf above. |
457 // Reset JavaFrameAnchor from call_VM_leaf above. |
458 __ reset_last_Java_frame(); |
458 __ reset_last_Java_frame(); |
459 |
459 |
460 #ifdef CC_INTERP |
|
461 // Return to frame manager, it will handle the pending exception. |
|
462 __ blr(); |
|
463 #else |
|
464 // We don't know our caller, so jump to the general forward exception stub, |
460 // We don't know our caller, so jump to the general forward exception stub, |
465 // which will also pop our full frame off. Satisfy the interface of |
461 // which will also pop our full frame off. Satisfy the interface of |
466 // SharedRuntime::generate_forward_exception() |
462 // SharedRuntime::generate_forward_exception() |
467 __ load_const_optimized(R11_scratch1, StubRoutines::forward_exception_entry(), R0); |
463 __ load_const_optimized(R11_scratch1, StubRoutines::forward_exception_entry(), R0); |
468 __ mtctr(R11_scratch1); |
464 __ mtctr(R11_scratch1); |
469 __ bctr(); |
465 __ bctr(); |
470 #endif |
|
471 |
466 |
472 return entry; |
467 return entry; |
473 } |
468 } |
474 |
469 |
475 // Interpreter intrinsic for WeakReference.get(). |
470 // Interpreter intrinsic for WeakReference.get(). |
516 |
511 |
517 // In the G1 code we don't check if we need to reach a safepoint. We |
512 // In the G1 code we don't check if we need to reach a safepoint. We |
518 // continue and the thread will safepoint at the next bytecode dispatch. |
513 // continue and the thread will safepoint at the next bytecode dispatch. |
519 |
514 |
520 // If the receiver is null then it is OK to jump to the slow path. |
515 // If the receiver is null then it is OK to jump to the slow path. |
521 __ ld(R3_RET, Interpreter::stackElementSize, CC_INTERP_ONLY(R17_tos) NOT_CC_INTERP(R15_esp)); // get receiver |
516 __ ld(R3_RET, Interpreter::stackElementSize, R15_esp); // get receiver |
522 |
517 |
523 // Check if receiver == NULL and go the slow path. |
518 // Check if receiver == NULL and go the slow path. |
524 __ cmpdi(CCR0, R3_RET, 0); |
519 __ cmpdi(CCR0, R3_RET, 0); |
525 __ beq(CCR0, slow_path); |
520 __ beq(CCR0, slow_path); |
526 |
521 |