Details
-
Enhancement
-
Resolution: Fixed
-
P4
-
11-shenandoah, 14
-
b25
-
generic
-
generic
Description
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.