RFR(S): 8026495: JVM Crashes when started with -XX:+DTraceMethodProbes on Solaris x86_64
Christian Thalinger
christian.thalinger at oracle.com
Tue Oct 22 20:33:16 PDT 2013
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.
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?
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/d21c4582/attachment.html
More information about the hotspot-compiler-dev
mailing list