RFR(S): 8008242: VerifyOops fails on SPARC

Christian Thalinger christian.thalinger at oracle.com
Tue Oct 8 10:20:59 PDT 2013


On Oct 8, 2013, at 9:45 AM, Morris Meyer <morris.meyer at oracle.com> wrote:

> Roland,
> 
> The x86 version of LIR_Assembler::type_profile_helper() does not have a verify_oop() and I removed the SPARC version accordingly.

Well, the reason that x86 doesn't have that check is because on x86 we can do a memory compare:

    __ cmpptr(recv, Address(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i))));

So we don't have the value in a register to do the check.  Please but the verify_klass_ptr check back.

> 
>        --mm
> 
> 
> On 10/8/13, 12:31 PM, Roland Westrelin wrote:
>> Hi Morris,
>> 
>>> Thanks for the bringing that up Roland and Christian.  I fixed this issue and re-ran the change through JPRT.
>> Why do you need to remove it entirely? Has this check caused failures? To me the check looks good and should be kept as it is.
>> 
>> Also in your previous change:
>> 
>> 2568     __ verify_oop(tmp1);
>> 
>> became:
>> 
>> 2568     __ verify_klass_ptr(tmp1);
>> 
>> and that was good.
>> 
>> Roland.
> 



More information about the hotspot-compiler-dev mailing list