comparison src/cpu/x86/vm/stubGenerator_x86_32.cpp @ 4743:dca455dea3a7

7116216: StackOverflow GC crash Summary: GC crash for explicit stack overflow checks after a C2I transition. Reviewed-by: coleenp, never Contributed-by: yang02.wang@sap.com, bertrand.delsart@oracle.com
author bdelsart
date Tue, 20 Dec 2011 12:33:05 +0100
parents f08d439fab8c
children 22cee0ee8927
comparison
equal deleted inserted replaced
4742:8fdf463085e1 4743:dca455dea3a7
2321 // Build this early so it's available for the interpreter 2321 // Build this early so it's available for the interpreter
2322 StubRoutines::_throw_WrongMethodTypeException_entry = 2322 StubRoutines::_throw_WrongMethodTypeException_entry =
2323 generate_throw_exception("WrongMethodTypeException throw_exception", 2323 generate_throw_exception("WrongMethodTypeException throw_exception",
2324 CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException), 2324 CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException),
2325 rax, rcx); 2325 rax, rcx);
2326
2327 // Build this early so it's available for the interpreter
2328 StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
2326 } 2329 }
2327 2330
2328 2331
2329 void generate_all() { 2332 void generate_all() {
2330 // Generates all stubs and initializes the entry points 2333 // Generates all stubs and initializes the entry points
2332 // These entry points require SharedInfo::stack0 to be set up in non-core builds 2335 // These entry points require SharedInfo::stack0 to be set up in non-core builds
2333 // and need to be relocatable, so they each fabricate a RuntimeStub internally. 2336 // and need to be relocatable, so they each fabricate a RuntimeStub internally.
2334 StubRoutines::_throw_AbstractMethodError_entry = generate_throw_exception("AbstractMethodError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError)); 2337 StubRoutines::_throw_AbstractMethodError_entry = generate_throw_exception("AbstractMethodError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError));
2335 StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError)); 2338 StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError));
2336 StubRoutines::_throw_NullPointerException_at_call_entry= generate_throw_exception("NullPointerException at call throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException_at_call)); 2339 StubRoutines::_throw_NullPointerException_at_call_entry= generate_throw_exception("NullPointerException at call throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException_at_call));
2337 StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
2338 2340
2339 //------------------------------------------------------------------------------------------------------------------------ 2341 //------------------------------------------------------------------------------------------------------------------------
2340 // entry points that are platform specific 2342 // entry points that are platform specific
2341 2343
2342 // support for verify_oop (must happen after universe_init) 2344 // support for verify_oop (must happen after universe_init)