RFR: AArch64: Fix endless loop / stack-corruption
Roman Kennke
rkennke at redhat.com
Fri May 4 21:23:14 UTC 2018
In aarch64's
TemplateInterpreterGenerator::generate_Reference_get_entry(void), there
used to be enter()/leave() calls around the g1 pre-barrier. This is
necessary in case the barrier calls into the runtime, to setup/remove
stack frames for the call. With the interpreter BarrierSetAssembler
work, this seems to have been dropped. It does lead to stack corruption,
sometimes endless loops, etc.
This patch re-instates the missing enter()/leave() calls where they have
been. This makes hotspot_gc_shenandoah tests happy (finally!)
I filed
https://bugs.openjdk.java.net/browse/JDK-8202676
to track and fix this upstream.
http://cr.openjdk.java.net/~rkennke/aarch64-fix-barrier-rt-call/webrev.00/
Ok to push?
Roman
More information about the shenandoah-dev
mailing list