-
Type:
Enhancement
-
Resolution: Fixed
-
Priority:
P4
-
Affects Version/s: 11-shenandoah, 14
-
Component/s: hotspot
-
b25
-
generic
-
generic
Shenandoah's runtime barriers for SATB pre-date the GC interface, and have been very coarsly fitted into the new GC interfaces. It leaves room for improvements:
- Rename methods to make more sense
- Group enqueueing barrier methods together
- Make them inlinable, including the ultimate enqueue() method
- Avoid barriers on DEST_UNINITIALIZED pre-barriers
- Benefit from static resolution of decorators when possible, and don't generate barriers at all in those cases
As a bonus, add SATB and traversal store-value barriers to native oop stores. This is not doing anything now, but will enable concurrent roots scanning in the near future.
- Rename methods to make more sense
- Group enqueueing barrier methods together
- Make them inlinable, including the ultimate enqueue() method
- Avoid barriers on DEST_UNINITIALIZED pre-barriers
- Benefit from static resolution of decorators when possible, and don't generate barriers at all in those cases
As a bonus, add SATB and traversal store-value barriers to native oop stores. This is not doing anything now, but will enable concurrent roots scanning in the near future.