Mercurial > hg > truffle
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) |