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

Igor Veresov igor.veresov at oracle.com
Tue Oct 22 21:35:42 PDT 2013


On Oct 22, 2013, at 8:33 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:

> src/cpu/x86/vm/c1_LIRAssembler_x86.cpp:
> + #ifdef _LP64
> +   Register thread = r15_thread;
> + #else
>     __ get_thread(rsi);
> !   __ movptr(rax, Address(rsi, JavaThread::exception_oop_offset()));
>     __ movptr(Address(rsi, JavaThread::exception_oop_offset()), (intptr_t)NULL_WORD);
> !   __ movptr(Address(rsi, JavaThread::exception_pc_offset()), (intptr_t)NULL_WORD);
> !   Register thread = rsi;
> + #endif
> I'd prefer using LP64_ONLY and NOT_LP64 on one line.

There is get_thread() on 32bit, it's not going to be one line. But I agree it's better looking.
Review updated in-place.

> 
> src/share/vm/c1/c1_LIRGenerator.cpp:
>     if (x->pass_thread()) {
> !     signature->append(T_ADDRESS);
> !     signature->append(LP64_ONLY(T_LONG) NOT_LP64(T_INT));    // thread
>       args->append(getThreadPointer());
>     }
> Why can it not be T_ADDRESS?

It can, but getThreadPointer() returns either T_INT or T_LONG (probably historically) and I'd like it to be consistent.
Speaking of T_ADDRESS, this change also fixes the size of  the T_ADDRESS spill, which was always 4 bytes.

igor


> 
> 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
>> 
>> igor
> 

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


More information about the hotspot-compiler-dev mailing list