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

John Rose john.r.rose at oracle.com
Tue Oct 22 22:06:40 PDT 2013

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