From 45e145fac2abc90faa56679336ddea4a8cd05446 Mon Sep 17 00:00:00 2001 From: Matias Saavedra Silva Date: Wed, 22 Oct 2025 21:06:25 +0000 Subject: [PATCH] 8359057: AbstractInterpreter::is_not_reached returns incorrectly with invokedynamic Reviewed-by: vlivanov --- src/hotspot/share/interpreter/abstractInterpreter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/hotspot/share/interpreter/abstractInterpreter.cpp b/src/hotspot/share/interpreter/abstractInterpreter.cpp index 640e3ab3fff..b6a2255b468 100644 --- a/src/hotspot/share/interpreter/abstractInterpreter.cpp +++ b/src/hotspot/share/interpreter/abstractInterpreter.cpp @@ -258,7 +258,8 @@ bool AbstractInterpreter::is_not_reached(const methodHandle& method, int bci) { case Bytecodes::_invokedynamic: { assert(invoke_bc.has_index_u4(code), "sanity"); int method_index = invoke_bc.get_index_u4(code); - return cpool->resolved_indy_entry_at(method_index)->is_resolved(); + bool is_resolved = cpool->resolved_indy_entry_at(method_index)->is_resolved(); + return !is_resolved; } case Bytecodes::_invokevirtual: // fall-through case Bytecodes::_invokeinterface: // fall-through