Integrated: 8299032: Interface IN_NATIVE oop stores for C2
Erik Österlund
eosterlund at openjdk.org
Fri Jan 13 12:51:32 UTC 2023
On Fri, 23 Dec 2022 13:54:44 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:
> Loom added the first IN_NATIVE oop store to C2 code, when switching the current virtual thread of a platform thread. Instead of interfacing this properly, a raw store was used. But a future GC algorithm, such as generational ZGC, might not work well with raw stores. We should add support to the access API for this. Looks like Shenandoah was already missing something here as they do concurrent root processing requiring SATB barriers on IN_NATIVE oop stores. It is not in the scope of this PR to fix the Shenandoah bug - someone working on Shenandoah should do this. This PR merely adds an interface such that GCs that need to do something different here, can do that. Serial, Parallel and G1 don't need to do anything for IN_NATIVE stores as they do STW root processing. ZGC doesn't (yet) have store barriers at all, and hence doesn't need to do anything special either.
This pull request has now been integrated.
Changeset: e7fa150b
Author: Erik Österlund <eosterlund at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/e7fa150bc15b1bf5ab8921bfdf1a628ae08f5624
Stats: 8 lines in 2 files changed: 0 ins; 7 del; 1 mod
8299032: Interface IN_NATIVE oop stores for C2
Reviewed-by: stefank, rcastanedalo
-------------
PR: https://git.openjdk.org/jdk/pull/11777
More information about the hotspot-dev
mailing list