<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Greetings,<br />Since <a id="key-val" class="issue-link" href="https://bugs.openjdk.org/browse/JDK-8301995" rel="5093573" data-issue-key="JDK-8301995">JDK-8301995</a>, the code to in AbstractInterpreter::is_not_reached(...) for invokedynamic looks like this:<br />```<br />      case Bytecodes::_invokedynamic: {<br />        assert(invoke_bc.has_index_u4(code), "sanity");<br />        int method_index = invoke_bc.get_index_u4(code);<br />        return cpool->resolved_indy_entry_at(method_index)->is_resolved();<br />      }<br />```<br />Is this a bug? Before the change, the code looked like this:<br />```<br />      case Bytecodes::_invokedynamic: {<br />        assert(invoke_bc.has_index_u4(code), "sanity");<br />        int method_index = invoke_bc.get_index_u4(code);<br />        return cpool->invokedynamic_cp_cache_entry_at(method_index)->is_f1_null();<br />      }<br />```<br />The comment for this method says:<br />```<br />// Return true if the interpreter can prove that the given bytecode has<br />// not yet been executed (in Java semantics, not in actual operation).<br />```<br />Shouldn't the is_resolved check be negated? The code is two years old since this change, and it seems like a regression. I'm unable to submit a patch if that is the case, so, if this is a bug, It would be great if someone would fix this.<br />Thanks!</p>

</body></html>