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