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

Christian Thalinger christian.thalinger at oracle.com
Tue Oct 22 22:50:26 PDT 2013


On Oct 22, 2013, at 9:35 PM, Igor Veresov <igor.veresov at oracle.com> wrote:

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

I see.  Makes sense then.  Looks good.

> 
> 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/daacc9de/attachment.html 


More information about the hotspot-compiler-dev mailing list