RFR(sh/jdk8): [backport] 8232992: Shenandoah: Implement self-fixing interpreter LRB
Roman Kennke
rkennke at redhat.com
Thu Nov 26 20:00:14 UTC 2020
This backports the issue:
https://bugs.openjdk.java.net/browse/JDK-8257180
It is different from later incarnations. The JDK8 interpreter code does
not call through stub as we did when we originally implemented the sfx
barriers, but instead calls the runtime entries directly. This was
because we have no simple GC interface for interpreter stub generation.
However, we switched to that runtime calling model in tip later. So what
I did was adapt the *current* interpreter code, take out handling of
weak access, and adjust a little to jdk8.
Another change was, instead of adding our LRB into
MacroAssembler::load_heap_oop(), we now fully replace it. That's because
we need to preserve registers of the src address. This would have been
much too messy otherwise.
Testing: hotspot_gc_shenandoah (x86 and aarch64)
http://cr.openjdk.java.net/~rkennke/JDK-8232992-jdk8/webrev.01/
Ok?
More information about the shenandoah-dev
mailing list