RFR: JDK-8203157: Object equals abstraction for BarrierSetAssembler

Roman Kennke rkennke at redhat.com
Fri Jun 8 20:17:51 UTC 2018


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.

Roman




More information about the hotspot-dev mailing list