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