RFR: 8227054: ServiceThread needs to know about all OopStorage objects
David Holmes
david.holmes at oracle.com
Tue Jul 30 02:27:31 UTC 2019
Hi Kim,
A meta-comment: "storages" is not a well formed term. Can we have
something clearer, perhaps OopStorageManager, or something like that?
Thanks,
David
On 26/07/2019 8:59 am, Kim Barrett wrote:
> 8227054: ServiceThread needs to know about all OopStorage objects
> 8227053: ServiceThread cleanup of OopStorage is missing some
>
> Please review this change in how OopStorage objects are managed and
> accessed. There is a new (all static) class, OopStorages, which
> provides infrastructure for creating all the storage objects, access
> via an enum-based id, and iterating over them.
>
> Various components that previously managed their own storage objects
> now obtain them from OopStorages. A number of access functions have
> been eliminated as part of that, though some have been retained for
> internal convenience of a component.
>
> The set of OopStorage objects is now declared in one place, using
> x-macros, with collective definitions and usages ultimately driven off
> those macros. This includes the ServiceThread (which no longer needs
> explicit knowledge of the set, and is no longer missing any) and the
> OopStorage portion of WeakProcessorPhases. For now, the various GCs
> still have explicit knowledge of the set; that will be addressed in
> followup changes specific to each collector. (This delay minimizes
> the impact on Leo's in-progress review that changes ParallelGC to use
> WorkGangs.)
>
> This change also includes a couple of utility macros for working with
> x-macros.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8227054
> https://bugs.openjdk.java.net/browse/JDK-8227053
>
> Webrev:
> http://cr.openjdk.java.net/~kbarrett/8227054/open.00/
>
> Testing:
> mach5 tier1-3
>
More information about the hotspot-dev
mailing list