8146093: [sparc only] compiler/interpreter/7116216/StackOverflow.java Program terminates with signal 11, Segmentation fault. in __1cLRegisterMap2t6MpnKJavaThread_b_v_ ()
Reviewed-by: dcubed, coleenp
--- a/hotspot/src/cpu/sparc/vm/templateInterpreterGenerator_sparc.cpp Thu Apr 07 15:34:21 2016 -0700
+++ b/hotspot/src/cpu/sparc/vm/templateInterpreterGenerator_sparc.cpp Fri Apr 08 00:38:00 2016 -0700
@@ -616,7 +616,7 @@
// compute the beginning of the protected zone minus the requested frame size
__ sub( Rscratch, Rscratch2, Rscratch );
- __ set( JavaThread::stack_red_zone_size() + JavaThread::stack_yellow_zone_size(), Rscratch2 );
+ __ set(MAX2(JavaThread::stack_shadow_zone_size(), JavaThread::stack_guard_zone_size()), Rscratch2 );
__ add( Rscratch, Rscratch2, Rscratch );
// Add in the size of the frame (which is the same as subtracting it from the
--- a/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp Thu Apr 07 15:34:21 2016 -0700
+++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp Fri Apr 08 00:38:00 2016 -0700
@@ -313,18 +313,7 @@
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((address)activation.unextended_sp());
- }
- return (address)activation.sp();
-IRT_END
-
- IRT_ENTRY(void, InterpreterRuntime::throw_delayed_StackOverflowError(JavaThread* thread))
+IRT_ENTRY(void, InterpreterRuntime::throw_delayed_StackOverflowError(JavaThread* thread))
Handle exception = get_preinitialized_exception(
SystemDictionary::StackOverflowError_klass(),
CHECK);
--- a/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp Thu Apr 07 15:34:21 2016 -0700
+++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.hpp Fri Apr 08 00:38:00 2016 -0700
@@ -91,8 +91,6 @@
// Quicken instance-of and check-cast bytecodes
static void quicken_io_cc(JavaThread* thread);
- static address check_ReservedStackAccess_annotated_methods(JavaThread* thread);
-
// Exceptions thrown by the interpreter
static void throw_AbstractMethodError(JavaThread* thread);
static void throw_IncompatibleClassChangeError(JavaThread* thread);