RFR: Fix 32-bit build by ifdef-ing non-implemented store-val barrier
Roman Kennke
rkennke at redhat.com
Thu Jan 25 17:51:33 UTC 2018
Am 25.01.2018 um 18:41 schrieb Aleksey Shipilev:
> 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
>
Oh my. Yes, please push. Thanks for fixing it!
Roman
More information about the shenandoah-dev
mailing list