RFR (M) 8221183: Avoid code cache walk in MetadataOnStackMark
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Fri Mar 29 15:41:52 UTC 2019
On 3/29/19 10:54 AM, coleen.phillimore at oracle.com wrote:
>
> Hi Erik,
> Thank you for reviewing this!
>
> On 3/29/19 9:39 AM, Erik Österlund wrote:
>> Hi Coleen,
>>
>> Seems like the recreate_old_table() should be called
>> reset_old_table() as it does not really create anything.
>>
>
> I can change the name. I guess the table isn't old but the methods
> are. So I could call it reset_old_method_table instead.
>
>> The CodeCache::mark_all_nmethods_for_deoptimization function seems
>> like a general facility. I don't think I like passing in a boolean if
>> class redefinition-specific stuff should be done in there or not.
>> It's a very small method that just iterates over the nmethods. I'd
>> rather duplicate that while loop in a new function and have the class
>> redefinition logic be separate.
>>
>
> Yes, I could do this too. I hate passing a boolean to a function to
> do something different. Sort of implies one should write a different
> function in the first place.
I made these changes (added
functionmark_all_nmethods_for_evol_deoptimization) and moved all the
redefinition functions in codeCache.cpp together under #ifndef
INCLUDE_JVMTI.
http://cr.openjdk.java.net/~coleenp/2019/8221183.02/webrev/index.html
Thanks,
Coleen
>
> Thanks!
> Coleen
>> Otherwise this looks good!
>>
>> Thanks,
>> /Erik
>>
>> On 2019-03-27 14:09, coleen.phillimore at oracle.com wrote:
>>> Summary: Note nmethods with "old" Methods in them in table to walk
>>> instead.
>>>
>>> See RFE for more details. Tested with RedefineClasses tests
>>> with/without -Xcomp, mach5 tier1-5.
>>>
>>> open webrev at
>>> http://cr.openjdk.java.net/~coleenp/2019/8221183.01/webrev
>>> bug link https://bugs.openjdk.java.net/browse/JDK-8221183
>>>
>>> Thanks,
>>> Coleen
>
More information about the hotspot-dev
mailing list