RFR (S): 7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere

Coleen Phillimore coleen.phillimore at oracle.com
Mon Sep 10 06:19:21 PDT 2012


Roland,
Thank you for fixing c1.  We didn't realize there was this much left 
out.  In c1_LIRAssembler_x86.cpp,  this is sort of confusing.   I would 
prefer a separate case for C1_METADATA, because it would use 
UseCompressedKlassPointers rather than UseCompressedOops so even without 
the ifdef, part of this case doesn't make sense.    Do you have fixes 
for this in your UseCompressedKlassPointer changes?

@@ -1033,10 +1035,17 @@break; } case T_ARRAY: // fall through case 
T_OBJECT: // fall through +#ifndef _LP64+ // We get here to store a 
method pointer to the stack to pass to+ // a dtrace runtime call. This 
can't work on 64 bit with+ // compressed klass ptrs: T_METADATA can be a 
compressed klass+ // ptr or a 64 bit method pointer.+ case 
T_METADATA:+#endifif (UseCompressedOops && !wide) { __ 
movl(as_Address(to_addr), compressed_src); } else { __ 
movptr(as_Address(to_addr), src->as_register()); }
Why isn't there the same sort of change from c1_LIRAssembler_sparc.cpp?

These changes look good to me, but also have someone from the compiler 
group who knows c1 better review this.
Thanks,
Coleen

On 9/10/2012 6:20 AM, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/7195816/webrev.00/
>
> Some of the dtrace probes call the runtime passing a method pointer. This exposes the metadata type at the LIR level and breaks c1 because the LIR has little support for T_METADATA at this point.
>
> I also fixed a c1/dtrace bug on sparc that has nothing to do with NPG (G2 thread pointer not saved across runtime call). This bug may have gone unnoticed because at least one of the dtrace test passes when the VM crashes. For that I filed test bug:
> 7197250: dtrace test may report success when the VM crashes
>
> Roland.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20120910/64deced2/attachment-0001.html 


More information about the hotspot-compiler-dev mailing list