RFR: 8266497: Remove unnecessary EMCP liveness indication

Coleen Phillimore coleenp at openjdk.java.net
Wed May 5 13:02:52 UTC 2021


On Wed, 5 May 2021 01:07:13 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:

>> Marking running_emcp for Method* is unnecessary.  We can set/clear breakpoints in all old emcp methods because they're not deallocated until none are running.  See longer explanation in the CR.
>> 
>> Tested with tier1-6, tiers 7,8 are running and 98% passing.
>
> Hi Coleen,
> 
> This looks good to me in general.
> I'm a little bit puzzled why the check ` emcp_method_count != 0` is needed at the line:
> `4005   if (emcp_method_count != 0 && obsolete_method_count != 0 &&`
> 
> Suppose, the emcp_method_count is equal to 0.
> Then do we really want to skip marking all the methods of this InstanceKlass as obsolete?
> Most likely, I'm missing something.
> 
> Thanks,
> Serguei

@sspitsyn  I think you're right here.  If all the newly old methods are obsolete, then we should mark all the methods in the previous versions as obsolete and not skip this.  I'll file an issue to investigate this because it's always been this way (and could use a test also).  It's too risky to change here.   Thanks for the code review!

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

PR: https://git.openjdk.java.net/jdk/pull/3852


More information about the hotspot-runtime-dev mailing list