RFR: 8253064: monitor list simplifications and getting rid of TSM [v5]
Daniel D.Daugherty
dcubed at openjdk.java.net
Tue Nov 10 21:51:03 UTC 2020
On Tue, 10 Nov 2020 21:16:33 GMT, Robbin Ehn <rehn at openjdk.org> wrote:
>> So if I narrow the scope around the ThreadBlockInVM, then it would be fine?
>>
>> {
>> // Honor block request.
>> ThreadBlockInVM tbivm(self);
>> }
>>
>> I can make that change before I integrate...
>
> Yes that avoids it!
Done. I also did the one in ObjectSynchronizer::request_deflate_idle_monitors().
>> What does this "you can do this entire loop while blocked instead" mean?
>>
>> Releasing during deflation kind of messes with the life-cycle I was trying
>> to enforce since deletion is the nature end-of-life for these... But to think
>> about that I need to know what you mean by "you can do this entire loop
>> while blocked instead"...
>
> If you only need to free CHeap memory, you can do:
> size_t deleted_count = 0;
> ThreadBlockInVM tbivm(self);
> for (ObjectMonitor* monitor: delete_list) {
> delete monitor;
> deleted_count++;
> }
> }
Ahhh... but that only works if we release the oopStorage when
we deflate. Okay. I grok it now, but don't want to do that in this
changeset. I would want a complete stress test cycle for that
kind of a change.
-------------
PR: https://git.openjdk.java.net/jdk/pull/642
More information about the serviceability-dev
mailing list