1.1 --- a/src/cpu/x86/vm/stubGenerator_x86_32.cpp Fri Sep 09 13:47:11 2011 -0700 1.2 +++ b/src/cpu/x86/vm/stubGenerator_x86_32.cpp Sat Sep 10 00:11:04 2011 -0700 1.3 @@ -2187,7 +2187,7 @@ 1.4 // either at call sites or otherwise assume that stack unwinding will be initiated, 1.5 // so caller saved registers were assumed volatile in the compiler. 1.6 address generate_throw_exception(const char* name, address runtime_entry, 1.7 - bool restore_saved_exception_pc, Register arg1 = noreg, Register arg2 = noreg) { 1.8 + Register arg1 = noreg, Register arg2 = noreg) { 1.9 1.10 int insts_size = 256; 1.11 int locs_size = 32; 1.12 @@ -2204,10 +2204,6 @@ 1.13 // differently than the real call_VM 1.14 Register java_thread = rbx; 1.15 __ get_thread(java_thread); 1.16 - if (restore_saved_exception_pc) { 1.17 - __ movptr(rax, Address(java_thread, in_bytes(JavaThread::saved_exception_pc_offset()))); 1.18 - __ push(rax); 1.19 - } 1.20 1.21 __ enter(); // required for proper stackwalking of RuntimeStub frame 1.22 1.23 @@ -2323,7 +2319,7 @@ 1.24 StubRoutines::_throw_WrongMethodTypeException_entry = 1.25 generate_throw_exception("WrongMethodTypeException throw_exception", 1.26 CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException), 1.27 - false, rax, rcx); 1.28 + rax, rcx); 1.29 } 1.30 1.31 1.32 @@ -2332,12 +2328,10 @@ 1.33 1.34 // These entry points require SharedInfo::stack0 to be set up in non-core builds 1.35 // and need to be relocatable, so they each fabricate a RuntimeStub internally. 1.36 - StubRoutines::_throw_AbstractMethodError_entry = generate_throw_exception("AbstractMethodError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError), false); 1.37 - StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError), false); 1.38 - StubRoutines::_throw_ArithmeticException_entry = generate_throw_exception("ArithmeticException throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_ArithmeticException), true); 1.39 - StubRoutines::_throw_NullPointerException_entry = generate_throw_exception("NullPointerException throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException), true); 1.40 - StubRoutines::_throw_NullPointerException_at_call_entry= generate_throw_exception("NullPointerException at call throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException_at_call), false); 1.41 - StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError), false); 1.42 + StubRoutines::_throw_AbstractMethodError_entry = generate_throw_exception("AbstractMethodError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError)); 1.43 + StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError)); 1.44 + StubRoutines::_throw_NullPointerException_at_call_entry= generate_throw_exception("NullPointerException at call throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException_at_call)); 1.45 + StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError)); 1.46 1.47 //------------------------------------------------------------------------------------------------------------------------ 1.48 // entry points that are platform specific