hotspot/src/share/vm/runtime/sharedRuntime.cpp
changeset 24018 77b156916bab
parent 23873 dc33274a6248
child 24023 965f85aeb674
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp	Mon Apr 14 09:04:36 2014 +0000
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp	Tue Apr 01 09:36:49 2014 +0200
@@ -775,10 +775,13 @@
         // going to be unwound. Dispatch to a shared runtime stub
         // which will cause the StackOverflowError to be fabricated
         // and processed.
-        // For stack overflow in deoptimization blob, cleanup thread.
-        if (thread->deopt_mark() != NULL) {
-          Deoptimization::cleanup_deopt_info(thread, NULL);
-        }
+        // Stack overflow should never occur during deoptimization:
+        // the compiled method bangs the stack by as much as the
+        // interpreter would need in case of a deoptimization. The
+        // deoptimization blob and uncommon trap blob bang the stack
+        // in a debug VM to verify the correctness of the compiled
+        // method stack banging.
+        assert(thread->deopt_mark() == NULL, "no stack overflow from deopt blob/uncommon trap");
         Events::log_exception(thread, "StackOverflowError at " INTPTR_FORMAT, pc);
         return StubRoutines::throw_StackOverflowError_entry();
       }