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