src/share/vm/interpreter/interpreterRuntime.cpp
Print this page
*** 312,321 ****
--- 312,340 ----
// Increment counter for hs_err file reporting
Atomic::inc(&Exceptions::_stack_overflow_errors);
THROW_HANDLE(exception);
IRT_END
+ IRT_ENTRY(address, InterpreterRuntime::check_ReservedStackAccess_annotated_methods(JavaThread* thread))
+ frame fr = thread->last_frame();
+ assert(fr.is_java_frame(), "Must be a Java frame");
+ frame activation = SharedRuntime::look_for_reserved_stack_annotated_method(thread, fr);
+ if (activation.sp() != NULL) {
+ thread->disable_stack_reserved_zone();
+ thread->set_reserved_stack_activation(activation.unextended_sp());
+ }
+ return (address)activation.sp();
+ IRT_END
+
+ IRT_ENTRY(void, InterpreterRuntime::throw_delayed_StackOverflowError(JavaThread* thread))
+ Handle exception = get_preinitialized_exception(
+ SystemDictionary::StackOverflowError_klass(),
+ CHECK);
+ java_lang_Throwable::set_message(exception(),
+ Universe::delayed_stack_overflow_error_message());
+ THROW_HANDLE(exception);
+ IRT_END
IRT_ENTRY(void, InterpreterRuntime::create_exception(JavaThread* thread, char* name, char* message))
// lookup exception klass
TempNewSymbol s = SymbolTable::new_symbol(name, CHECK);
if (ProfileTraps) {