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