RFR(S): 8008242: VerifyOops fails on SPARC

Christian Thalinger christian.thalinger at oracle.com
Mon Oct 7 10:55:51 PDT 2013

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