RFR: 8339668: Parallel: Adopt PartialArrayState to consolidate marking stack in Full GC [v2]

Thomas Schatzl tschatzl at openjdk.org
Wed Oct 2 09:29:40 UTC 2024


On Wed, 2 Oct 2024 07:18:49 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

>>> 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.

(Fwiw, https://github.com/tschatzl/jdk/tree/submit/pull/21089-recommendations-test with the suggested changes seems to pass GHA....)

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/21089#discussion_r1784114619


More information about the hotspot-gc-dev mailing list