RFR(S): 8008242: VerifyOops fails on SPARC

Morris Meyer morris.meyer at oracle.com
Tue Oct 8 06:34:00 PDT 2013

Thanks for the bringing that up Roland and Christian.  I fixed this 
issue and re-ran the change through JPRT.

Here's the patch.


WEBREV - http://cr.openjdk.java.net/8008242.02

On 10/7/13, 1:55 PM, Christian Thalinger wrote:
> On Oct 7, 2013, at 9:11 AM, Roland Westrelin <roland.westrelin at oracle.com> wrote:
>> Hi Morris,
>>> Could I get a review of this P2 issue on SPARC?  I had to fix some branch relocation issues first, before relaxing the oop verify in c1_LIRAssembler_sparc::type_profile_helper() and mem2reg().
>> Why did you change:
>> 1391     __ verify_oop(src);
>> in c1_LIRAssembler_sparc.cpp?
> I concur.  Did you hit a problem here?  The check is guarded by:
>     if (addr->base()->type() == T_OBJECT) {
> -    __ verify_oop(src);
> +    __ verify_klass_ptr(src);
>     }
> so this should trigger.  If it does then we are propagating the wrong type somewhere.
>> It appears verify_klass_ptr() doesn't do anything currently so that nothing fails with this changed doesn't really prove it's correct.
> Correct; these methods are currently empty.  When the runtime team removed perm-gen they added these methods but never implemented them.  Not our issue.  But the second change is definitely correct; the receiver is a Klass*.
>> Roland.

More information about the hotspot-compiler-dev mailing list