RFR: 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

Daniel D. Daugherty dcubed at openjdk.org
Wed May 24 20:17:00 UTC 2023


On Wed, 24 May 2023 19:10:08 GMT, Patricio Chilano Mateo <pchilanomate at openjdk.org> wrote:

>> src/hotspot/share/runtime/sharedRuntime.cpp line 1507:
>> 
>>> 1505:   address target = current->is_interp_only_mode() ? callee_method->get_c2i_entry() : callee_method->verified_code_entry();
>>> 1506:   assert(target != nullptr, "Jump to zero!");
>>> 1507:   return target;
>> 
>> There are now 5 copies of this exact code block including this one.
>> 
>> Seems like this is screaming to be refactored into some static function
>> with an appropriate name that can be called from all five places.
>
> I considered that initially but I preferred the readability part given that we are not saving much. But I can do that if you think it's better that way.

I'm not totally sold on the refactoring being a better idea. I would be okay if you
decided not to do that. Let's see if any other reviewer has an opinion one way or
the other.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/14108#discussion_r1204714674


More information about the hotspot-dev mailing list