RFR: 8227054: ServiceThread needs to know about all OopStorage objects
Kim Barrett
kim.barrett at oracle.com
Fri Aug 9 22:18:36 UTC 2019
> On Aug 5, 2019, at 9:48 AM, Erik Österlund <erik.osterlund at oracle.com> wrote:
>
> Hi Coleen,
>
> On 2019-08-05 15:23, coleen.phillimore at oracle.com wrote:
>> I look forward to seeing Kim's next version.
>
> Me too!
Here is a new revision, taking into account the feedback that fewer
macros (and in particular no x-macros) would be appreciated.
OopStorageSet (was OopStorages) now uses an internal enum (no longer
public) to define indexes and ranges of indexes into the global array
of OopStorage objects.
WeakProcessorPhases no longer has named enumerators for OopStorage
phases, though the range of values is still allocated. Various other
changes in WeakProcessor and friends to account for and make use of
OopStorageSet.
I've also taken Erik's suggestion of using iterator objects to package
up the iteration, rather than using FOR_EACH_xxx macros. That also
got applied to the WeakProcessorPhases.
For extra credit (or perhaps a bridge too far), the new iterators
provide begin/end functions, so they support range-based-for as soon
as it becomes available, allowing some syntactic improvements.
Webrev (no incremental, the changes from the previous version are
pretty substantial and not really worth comparing):
http://cr.openjdk.java.net/~kbarrett/8227054/open.02/
Testing:
mach5 tier1-3
More information about the hotspot-dev
mailing list