mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 03:58:21 +00:00
8370766: JVM crashes when running compiler/exceptions/TestAccessErrorInCatch.java fails with -XX:+VerifyStack
Co-authored-by: Manuel Hässig <mhaessig@openjdk.org> Reviewed-by: mhaessig, chagedorn
This commit is contained in:
parent
ac0e6af8f9
commit
5627ff2d91
@ -1059,14 +1059,19 @@ void Parse::catch_inline_exceptions(SafePointNode* ex_map) {
|
||||
assert(!stopped(), "you should return if you finish the chain");
|
||||
|
||||
// Oops, need to call into the VM to resolve the klasses at runtime.
|
||||
// Note: This call must not deoptimize, since it is not a real at this bci!
|
||||
kill_dead_locals();
|
||||
|
||||
make_runtime_call(RC_NO_LEAF | RC_MUST_THROW,
|
||||
OptoRuntime::rethrow_Type(),
|
||||
OptoRuntime::rethrow_stub(),
|
||||
nullptr, nullptr,
|
||||
ex_node);
|
||||
{ PreserveReexecuteState preexecs(this);
|
||||
// When throwing an exception, set the reexecute flag for deoptimization.
|
||||
// This is mostly needed to pass -XX:+VerifyStack sanity checks.
|
||||
jvms()->set_should_reexecute(true);
|
||||
|
||||
make_runtime_call(RC_NO_LEAF | RC_MUST_THROW,
|
||||
OptoRuntime::rethrow_Type(),
|
||||
OptoRuntime::rethrow_stub(),
|
||||
nullptr, nullptr,
|
||||
ex_node);
|
||||
}
|
||||
|
||||
// Rethrow is a pure call, no side effects, only a result.
|
||||
// The result cannot be allocated, so we use I_O
|
||||
|
||||
@ -23,16 +23,18 @@
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 8367002
|
||||
* @bug 8367002 8370766
|
||||
* @summary Compilers might not generate handlers for recursive exceptions
|
||||
*
|
||||
* @compile IllegalAccessInCatch.jasm
|
||||
* @run main/othervm -Xbatch
|
||||
* -XX:CompileCommand=compileonly,IllegalAccessInCatch*::test
|
||||
* -XX:+IgnoreUnrecognizedVMOptions -XX:+VerifyStack
|
||||
* -XX:-TieredCompilation
|
||||
* TestAccessErrorInCatch
|
||||
* @run main/othervm -Xbatch
|
||||
* -XX:CompileCommand=compileonly,IllegalAccessInCatch*::test
|
||||
* -XX:+IgnoreUnrecognizedVMOptions -XX:+VerifyStack
|
||||
* -XX:TieredStopAtLevel=3
|
||||
* TestAccessErrorInCatch
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user