RFR: JDK-8203157: Object equals abstraction for BarrierSetAssembler
Roman Kennke
rkennke at redhat.com
Mon Jun 11 15:25:17 UTC 2018
Am 08.06.2018 um 22:17 schrieb Roman Kennke:
> Am 06.06.2018 um 12:03 schrieb Andrew Haley:
>> On 06/05/2018 08:34 PM, Roman Kennke wrote:
>>> Ok, done here:
>>>
>>> Incremental:
>>> http://cr.openjdk.java.net/~rkennke/JDK-8203157/webrev.01.diff/
>>> Full:
>>> http://cr.openjdk.java.net/~rkennke/JDK-8203157/webrev.01/
>>>
>>> Good now?
>>
>> It's be better to fix this up in LIR generation than to use jobject2reg:
>>
>> 1910 break;
>> 1911 case T_OBJECT:
>> 1912 case T_ARRAY:
>> 1913 jobject2reg(opr2->as_constant_ptr()->as_jobject(), rscratch1);
>> 1914 __ cmpoop(reg1, rscratch1);
>> 1915 return;
>>
>
> Why is it better? And how would I do that? It sounds like a fairly
> complex undertaking for a special case. Notice that if the oop doesn't
> qualify as immediate operand (quite likely for an oop?) it used to be
> moved into rscratch1 anyway a few lines below.
>
Hi Andrew,
Ping?
Also, this is a very plaform-specific thing. Doing it up in LIR
generation would either do it for all platforms, or require to move it
into LIR_Generator_$PLATFORM.cpp which I'd rather avoid.
Can you please explain or confirm that it's ok to push anyway?
Thanks, Roman
More information about the hotspot-dev
mailing list