RFR(S): 8026495: JVM Crashes when started with -XX:+DTraceMethodProbes on Solaris x86_64

Igor Veresov igor.veresov at oracle.com
Tue Oct 22 22:20:27 PDT 2013


Thanks, John!

igor

On Oct 22, 2013, at 10:06 PM, John Rose <john.r.rose at oracle.com> wrote:

> On Oct 22, 2013, at 8:18 PM, Igor Veresov <igor.veresov at oracle.com> wrote:
> 
>> A bunch of problems here, starting from use of wrong calling convention in LIR_Assembler::emit_unwind_handler() - it simply hasn't been ported to 64bit.
>> Also, there are a bunch of holes left in C1 to support T_METADATA. The relevant for this problem are the calling convention generation, and the register allocator support.
>> 
>> Webrev: http://cr.openjdk.java.net/~iveresov/8026495/
>> 
>> Testing: Java2Demo with -XX:+DTraceMethodProbes, JPRT run in progress
> 
> That's some technical debt there.  Thanks for shoveling through it.  Perhaps there's more, but this is a good barrow load to wheel away.
> 
> The biggest surprise was type2spill_size.  Wasn't that thing raising warnings since the no-permgen rewrite?
> 
> Your use of rbx looks OK, but I wish there were a way to assert what you comment about it, that all the C compilers refrain from blowing it.  Seems like something that could go wrong later.  I looked around for something to grab; nothing in assembler_x86.hpp where the C calling conventions are surveyed, but perhaps we could put something there some day.  The *.ad files have the info, but it's hard to get at.
> 
> Anyway, reviewed.
> 
> — John
> 
> P.S.  I personally don't mind stacked NOT_FOO/FOO_ONLY macros if their bodies are tiny and that there are not larger changes nearby.



More information about the hotspot-compiler-dev mailing list