RFR 8055008: Clean up code that saves the previous versions of redefined classes
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Tue Sep 2 19:58:30 UTC 2014
Coleen,
Thank you for the answer!
Yes, I hope to finish this review today.
Thanks,
Serguei
On 9/2/14 5:29 AM, Coleen Phillimore wrote:
>
> Serguei, I didn't answer one of your questions.
>
> On 8/28/14, 5:43 PM, serguei.spitsyn at oracle.com wrote:
>>> This bit is set during purging previous versions when all methods
>>> have been marked on_stack() if found in various places. The bit is
>>> only used for setting breakpoints.
>>
>> I had to ask slightly different.
>> "How precise must be the control of this bit?"
>> Part of this question is the question below about what happens when
>> the method invocation is finished.
>> I realized now that it can impact only setting breakpoints.
>> Suppose, we did not clear the bit in time and then another breakpoint
>> is set.
>> The only bad thing is that this new breakpoint will be useless.
>
> Yes. We set the on_stack bit which causes setting the is_running_emcp
> bit during safepoints for class redefinition and class unloading.
> After the safepoint, the on_stack bit is cleared. After the
> safepoint, we may also set breakpoints using the is_running_emcp bit.
> If the method has exited we would set a breakpoint in a method that is
> never reached. But this shouldn't be noticeable to the programmer.
>
> The method's is_running_emcp bit and maybe metadata would be cleaned
> up the next time we do class unloading at a safepoint.
>
>>
>> But let me look at new webrev first to see if any update is needed here.
>>
>
> Yes, please review this again and let me know if this does what I
> claim it does.
>
> Thank you!
> Coleen
More information about the hotspot-dev
mailing list