-
Bug
-
Resolution: Unresolved
-
P4
-
22
When resolving a call from compiled code a JavaThread might call into one of these methods in SharedRuntime class: resolve_virtual_call_C, resolve_opt_virtual_call_C, resolve_static_call_C, handle_wrong_method, handle_wrong_method_ic_miss.
These are non-leaf methods, i.e. methods that transition to vm and then back to Java, where the JavaThread could be switched to interpreter only mode. But we don't check that case when returning from these methods and always return the _from_compiled_entry from the resolved method which will point to the compiled entry if there was one (c2i otherwise).
These are non-leaf methods, i.e. methods that transition to vm and then back to Java, where the JavaThread could be switched to interpreter only mode. But we don't check that case when returning from these methods and always return the _from_compiled_entry from the resolved method which will point to the compiled entry if there was one (c2i otherwise).
- relates to
-
JDK-8302351 "assert(!JavaThread::current()->is_interp_only_mode() || !nm->method()->is_continuation_enter_intrinsic() || ContinuationEntry::is_interpreted_call(return_pc)) failed: interp_only_mode but not in enterSpecial interpreted entry" in fixup_callers_callsite
- Resolved