RFR: Primitive access for interpreter/x86

Aleksey Shipilev shade at redhat.com
Thu May 3 19:34:20 UTC 2018


On 05/03/2018 09:31 PM, Roman Kennke wrote:
>>> http://cr.openjdk.java.net/~rkennke/interp_primitives/webrev.00/
>>
>> *) Indent breaks:
>>
>>   61   case T_BOOLEAN: __ load_unsigned_byte(dst, src); break;
>>   62   case T_BYTE:    __ load_signed_byte(dst, src); break;
>>   63   case T_CHAR:    __ load_unsigned_short(dst, src); break;
>>   64   case T_SHORT:   __ load_signed_short(dst, src); break;
>>   65   case T_INT:     __ movl  (dst, src); break;
>>   66   case T_ADDRESS: __ movptr(dst, src); break;
> 
> Ok, fixed.
> 
>> *) It looks like {c|i|d|f}aloads are missing IN_HEAP_ARRAY decorators
> 
> Right. Added them. Also to the Xastore variants.
> 
>> *) The uncommented RB in ShenandoahBarrierSetAssembler::load_at -- had we missed it before? If so,
>> should it be done separately to land in sh/jdk10 too?
>>
>> *) Ditto for uncommented WB in  ShenandoahBarrierSetAssembler::store_at?
> 
> It was uncommented before because it was waiting for this patch :-)
> There was also some commented-out debug code that I removed now.

Ah. So resolve_* did RBs before, right?

Okay then.

> I forgot to mention it before, but this patch also fixes a missing RB in
> methodHandles_x86.cpp via load_heap_oop(). I shall propose this
> separately for backporting.

Yes, please do.

-Aleksey



More information about the shenandoah-dev mailing list