RFR: 8339668: Parallel: Adopt PartialArrayState to consolidate marking stack in Full GC [v2]
Thomas Schatzl
tschatzl at openjdk.org
Wed Oct 2 07:22:37 UTC 2024
On Tue, 1 Oct 2024 19:21:11 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
>>> OopScannerTask
>>
>> I certainly can adopt your implementation once it is integrated.
>
>> Please use `ScannerTask` instead; it seems to be completely serviceable for that purpose. In fact, a search&replace seems just fine.
>>
>> https://github.com/openjdk/jdk/compare/pr/21089...tschatzl:jdk:pull/21089-recommendations?expand=1
>>
>> I am going to experiment with refactoring the other duplicated (statistics) code
>
> I believe I ran into alignment assertion failure with `ScannerTask`
>I ran into the same problem for G1 Full GC that @zhengyu123 has run into here. ScannerTask deals in
pointers to oop (and narrowOop). For the separate marking cases we have oops in the tasks.
I added a class just like this one in my work, except I put mine in gc/shared and gave it a different name
(OopScannerTask, which I don't love). Clearly some coalescing is needed there.
The suggested patch just adds constructor to allow a regular `oop` and the associated getter. Internally `ScannerTask` uses a `void*` anyway.
Probably I am overlooking something trivial here why having an interface to store and retrieve an `oop` is not possible.... seems to pass very basic testing though.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21089#discussion_r1783940286
More information about the hotspot-gc-dev
mailing list