comparison src/cpu/x86/vm/stubGenerator_x86_64.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 59bc0d4d9ea3
children 22cee0ee8927
comparison
equal deleted inserted replaced
4742:8fdf463085e1 4743:dca455dea3a7
3070 // j_rarg0 and j_rarg1 respectively. 3070 // j_rarg0 and j_rarg1 respectively.
3071 StubRoutines::_throw_WrongMethodTypeException_entry = 3071 StubRoutines::_throw_WrongMethodTypeException_entry =
3072 generate_throw_exception("WrongMethodTypeException throw_exception", 3072 generate_throw_exception("WrongMethodTypeException throw_exception",
3073 CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException), 3073 CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException),
3074 rax, rcx); 3074 rax, rcx);
3075
3076 // Build this early so it's available for the interpreter.
3077 StubRoutines::_throw_StackOverflowError_entry =
3078 generate_throw_exception("StackOverflowError throw_exception",
3079 CAST_FROM_FN_PTR(address,
3080 SharedRuntime::
3081 throw_StackOverflowError));
3075 } 3082 }
3076 3083
3077 void generate_all() { 3084 void generate_all() {
3078 // Generates all stubs and initializes the entry points 3085 // Generates all stubs and initializes the entry points
3079 3086
3096 generate_throw_exception("NullPointerException at call throw_exception", 3103 generate_throw_exception("NullPointerException at call throw_exception",
3097 CAST_FROM_FN_PTR(address, 3104 CAST_FROM_FN_PTR(address,
3098 SharedRuntime:: 3105 SharedRuntime::
3099 throw_NullPointerException_at_call)); 3106 throw_NullPointerException_at_call));
3100 3107
3101 StubRoutines::_throw_StackOverflowError_entry =
3102 generate_throw_exception("StackOverflowError throw_exception",
3103 CAST_FROM_FN_PTR(address,
3104 SharedRuntime::
3105 throw_StackOverflowError));
3106
3107 // entry points that are platform specific 3108 // entry points that are platform specific
3108 StubRoutines::x86::_f2i_fixup = generate_f2i_fixup(); 3109 StubRoutines::x86::_f2i_fixup = generate_f2i_fixup();
3109 StubRoutines::x86::_f2l_fixup = generate_f2l_fixup(); 3110 StubRoutines::x86::_f2l_fixup = generate_f2l_fixup();
3110 StubRoutines::x86::_d2i_fixup = generate_d2i_fixup(); 3111 StubRoutines::x86::_d2i_fixup = generate_d2i_fixup();
3111 StubRoutines::x86::_d2l_fixup = generate_d2l_fixup(); 3112 StubRoutines::x86::_d2l_fixup = generate_d2l_fixup();