RFR: Fix 32-bit build by ifdef-ing non-implemented store-val barrier
Aleksey Shipilev
shade at redhat.com
Thu Jan 25 17:41:30 UTC 2018
http://cr.openjdk.java.net/~shade/shenandoah/build/storeval-i586/webrev.01/
x86_32 build is broken because Traversal GC references 64-bit registers:
/home/shade/shenandoah-jdk10/src/hotspot/cpu/x86/shenandoahBarrierSet_x86.cpp: In member function
‘virtual void ShenandoahBarrierSet::interpreter_storeval_barrier(MacroAssembler*, Register, Register)’:
/home/shade/shenandoah-jdk10/src/hotspot/cpu/x86/shenandoahBarrierSet_x86.cpp:167:13: error:
‘c_rarg1’ was not declared in this scope
__ push(c_rarg1);
^~~~~~~
/home/shade/shenandoah-jdk10/src/hotspot/cpu/x86/shenandoahBarrierSet_x86.cpp:171:41: error:
‘r15_thread’ was not declared in this scope
__ g1_write_barrier_pre(noreg, dst, r15_thread, tmp, true, false);
^~~~~~~~~~
The way out is to ifdef the barrier, like we did with the interpreter_write_barrier_impl a few
blocks above.
Testing: failing build
-Aleksey
More information about the shenandoah-dev
mailing list