Disable heap iteration for Shenandoah in SA
Roman Kennke
rkennke at redhat.com
Wed Nov 28 18:27:08 UTC 2018
Am 28.11.18 um 19:14 schrieb Aleksey Shipilev:
> On 11/28/18 7:12 PM, Roman Kennke wrote:
>>> On 11/28/18 6:59 PM, Aleksey Shipilev wrote:
>>>> On 11/28/18 6:38 PM, Roman Kennke wrote:
>>>>> As Per pointed out in reviews, we cannot safely iterate objects in SA,
>>>>> because current implementation is size-based. This might just crash.
>>>>> Let's do the same as ZGC for now and disable it, and revert the other
>>>>> pieces.
>>>>>
>>>>> http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.00/
>>>>
>>>> Comment is incorrect, should be "Shenandoah":
>>>>
>>>> 372 // Operation (currently) not supported with ZGC. Print
>>>>
>>>> Then what Zhengyu said, we can remove cell_header_size completely?
>>>
>>> Also, wait. This screws up jstack and Java monitor detection, right? I vaguely remember we added
>>> this to satisfy adopter's request for this feature. I wonder if we can somehow check that class
>>> unloading is not enabled before traversing.
>>
>> I have no idea. How about I cut this out of the upstreaming patch, and
>> see into fixing it properly (for ZGC too)? We don't need to push it to
>> shenandoah/jdk for that (but we could). WDYT.
>>
>> http://cr.openjdk.java.net/~rkennke/disable-sa-heapdump/webrev.02/
>
> Wrong warning message, should be "Shenandoah" :)
>
> 374 System.err.println("Warning: Operation not supported with ZGC");
>
> Hold on, let me try to detect class unloading flags in SA, and conditionalize on that.
Ok, I'll wait. :-)
That would be +ClassUnloadingWithConcurrentMark only. +ClassUnloading
(at full-gc) should be good.
Roman
More information about the shenandoah-dev
mailing list