RFR: Move Shenandoah stubs generation into ShenandoahBarrierSetAssembler

Roman Kennke rkennke at redhat.com
Thu Jun 14 15:21:55 UTC 2018


Am 14.06.2018 um 17:00 schrieb Aleksey Shipilev:
> 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
> 

Good idea.

Incremental:
http://cr.openjdk.java.net/~rkennke/shstubgen/webrev.04.diff/
Full:
http://cr.openjdk.java.net/~rkennke/shstubgen/webrev.04/

Ok now?



More information about the shenandoah-dev mailing list