RFR: Eliminate write-barrier assembly stub (part 1)

Roman Kennke rkennke at redhat.com
Mon Mar 5 12:59:11 UTC 2018


We've got a whole lot of assembly code to do the write-barrier without
calling into the runtime. This seems an unnecessary maintenance burden,
increased upstream exposure, for no obvious gain. The fast-path is
already handled completely in C2 IR.

Importantly, any change to the runtime write-barrier code (like the
upcoming safe-oom-during-evac changes) also require corresponding
changes in the write-barrier stub, once for each platform.

This change is the first (and easier) part that removes the actual
allocation+copy+CAS code. This will enable the safe-oom-during-evac stuff.

I also tried to remove the stub altogether, but this leads to other
problems, one of which being that it apparently doesn't play nice when
OOM-during-evac happens, and which will be fixed by the upcoming other
change. After this is in, I'll do the remaining work to remove the whole
stub and required boilerplate code for good.

http://cr.openjdk.java.net/~rkennke/eliminate_wb_stub/webrev.01/

Passes: hotspot_gc_shenandoah

Ok?
Roman



More information about the shenandoah-dev mailing list