RFR: 8199417: Modularize interpreter GC barriers (original) (raw)

Erik Ă–sterlund erik.osterlund at oracle.com
Mon Mar 26 09:31:37 UTC 2018


Hi,

The GC barriers for the interpreter are not as modular as they could be. They currently use switch statements to check which GC barrier set is being used, and call this or that barrier based on that, in a way that assumes GCs only use write barriers.

This patch modularizes this by generating accesses in the interpreter with declarative semantics. Accesses to the heap may now use store_at and load_at functions of the BarrierSetAssembler, passing along appropriate arguments and decorators. Each concrete BarrierSetAssembler can override the access completely or sprinkle some appropriate GC barriers as necessary.

Big thanks go to Martin Doerr and Roman Kennke, who helped plugging this into S390, PPC and AArch64 respectively.

Webrev: http://cr.openjdk.java.net/~eosterlund/8199417/webrev.00/

Bug: https://bugs.openjdk.java.net/browse/JDK-8199417

Thanks, /Erik



More information about the hotspot-dev mailing list