1.1 --- a/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Tue Oct 12 10:57:33 2010 -0400 1.2 +++ b/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Wed Oct 13 11:46:46 2010 -0400 1.3 @@ -488,7 +488,9 @@ 1.4 } 1.5 1.6 if (compilation()->env()->dtrace_method_probes()) { 1.7 - __ movoop(Address(rsp, 0), method()->constant_encoding()); 1.8 + __ get_thread(rax); 1.9 + __ movptr(Address(rsp, 0), rax); 1.10 + __ movoop(Address(rsp, sizeof(void*)), method()->constant_encoding()); 1.11 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit))); 1.12 } 1.13 1.14 @@ -1616,8 +1618,7 @@ 1.15 void LIR_Assembler::type_profile_helper(Register mdo, 1.16 ciMethodData *md, ciProfileData *data, 1.17 Register recv, Label* update_done) { 1.18 - uint i; 1.19 - for (i = 0; i < ReceiverTypeData::row_limit(); i++) { 1.20 + for (uint i = 0; i < ReceiverTypeData::row_limit(); i++) { 1.21 Label next_test; 1.22 // See if the receiver is receiver[n]. 1.23 __ cmpptr(recv, Address(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i)))); 1.24 @@ -1629,7 +1630,7 @@ 1.25 } 1.26 1.27 // Didn't find receiver; find next empty slot and fill it in 1.28 - for (i = 0; i < ReceiverTypeData::row_limit(); i++) { 1.29 + for (uint i = 0; i < ReceiverTypeData::row_limit(); i++) { 1.30 Label next_test; 1.31 Address recv_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i))); 1.32 __ cmpptr(recv_addr, (intptr_t)NULL_WORD);