RFR: Move Shenandoah stubs generation into ShenandoahBarrierSetAssembler

Aleksey Shipilev shade at redhat.com
Thu Jun 14 15:00:25 UTC 2018


On 06/14/2018 04:47 PM, Roman Kennke wrote:
> Incremental:
> http://cr.openjdk.java.net/~rkennke/shstubgen/webrev.02.diff/
> Full:
> http://cr.openjdk.java.net/~rkennke/shstubgen/webrev.02/

*) In shenandoahBarrierSetAssembler_aarch64.cpp the assert takes the form:

  583   assert(_shenandoah_wb != NULL || !(ShenandoahWriteBarrier ||
ShenandoahStoreValEnqueueBarrier), "need write barrier stub");

...but in shenandoahBarrierSetAssembler_x86.cpp it is:

 846   assert(_shenandoah_wb != NULL, "need write barrier stub");

I think x86 version is better.

*) Ugh. I think proliferation of these flag checks is really awkward. Maybe do:

bool ShenandoahBarrierSetAssembler::is_shenandoah_wb_call(address addr) {
  if (ShenandoahWriteBarrier) {
    return addr == _shenandoah_wb_C;
  } else {
    return false;
  }
}

...and use it, where needed?

-Aleksey



More information about the shenandoah-dev mailing list