--- old/src/cpu/sparc/vm/sharedRuntime_sparc.cpp 2013-10-14 11:14:40.000000000 -0700 +++ new/src/cpu/sparc/vm/sharedRuntime_sparc.cpp 2013-10-14 11:14:39.000000000 -0700 @@ -3580,7 +3580,9 @@ // Move the pending exception from exception_oop to Oexception so // the pending exception will be picked up the interpreter. __ ld_ptr(G2_thread, in_bytes(JavaThread::exception_oop_offset()), Oexception); + __ ld_ptr(G2_thread, in_bytes(JavaThread::exception_pc_offset()), Oissuing_pc); __ st_ptr(G0, G2_thread, in_bytes(JavaThread::exception_oop_offset())); + __ st_ptr(G0, G2_thread, in_bytes(JavaThread::exception_pc_offset())); __ bind(noException); // deallocate the deoptimization frame taking care to preserve the return values