comparison src/cpu/x86/vm/interp_masm_x86_32.cpp @ 512:db4caa99ef11

6787106: Hotspot 32 bit build fails on platforms having different definitions for intptr_t & int32_t Summary: Avoid casting between int32_t and intptr_t specifically for MasmAssembler::movptr in 32 bit platforms. Reviewed-by: jrose, kvn
author xlu
date Wed, 24 Dec 2008 13:06:09 -0800
parents 9ee9cf798b59
children dc3ad84615cf
comparison
equal deleted inserted replaced
511:dabd8d202164 512:db4caa99ef11
131 const Address val_addr (rcx, JvmtiThreadState::earlyret_value_offset()); 131 const Address val_addr (rcx, JvmtiThreadState::earlyret_value_offset());
132 const Address val_addr1(rcx, JvmtiThreadState::earlyret_value_offset() 132 const Address val_addr1(rcx, JvmtiThreadState::earlyret_value_offset()
133 + in_ByteSize(wordSize)); 133 + in_ByteSize(wordSize));
134 switch (state) { 134 switch (state) {
135 case atos: movptr(rax, oop_addr); 135 case atos: movptr(rax, oop_addr);
136 movptr(oop_addr, (int32_t)NULL_WORD); 136 movptr(oop_addr, NULL_WORD);
137 verify_oop(rax, state); break; 137 verify_oop(rax, state); break;
138 case ltos: 138 case ltos:
139 movl(rdx, val_addr1); // fall through 139 movl(rdx, val_addr1); // fall through
140 case btos: // fall through 140 case btos: // fall through
141 case ctos: // fall through 141 case ctos: // fall through
146 case vtos: /* nothing to do */ break; 146 case vtos: /* nothing to do */ break;
147 default : ShouldNotReachHere(); 147 default : ShouldNotReachHere();
148 } 148 }
149 // Clean up tos value in the thread object 149 // Clean up tos value in the thread object
150 movl(tos_addr, (int32_t) ilgl); 150 movl(tos_addr, (int32_t) ilgl);
151 movptr(val_addr, (int32_t)NULL_WORD); 151 movptr(val_addr, NULL_WORD);
152 NOT_LP64(movl(val_addr1, (int32_t)NULL_WORD)); 152 NOT_LP64(movl(val_addr1, (int32_t)NULL_WORD));
153 } 153 }
154 154
155 155
156 void InterpreterMacroAssembler::check_and_handle_earlyret(Register java_thread) { 156 void InterpreterMacroAssembler::check_and_handle_earlyret(Register java_thread) {
942 942
943 // Load oop into obj_reg(%rcx) 943 // Load oop into obj_reg(%rcx)
944 movptr(obj_reg, Address(lock_reg, BasicObjectLock::obj_offset_in_bytes ())); 944 movptr(obj_reg, Address(lock_reg, BasicObjectLock::obj_offset_in_bytes ()));
945 945
946 // Free entry 946 // Free entry
947 movptr(Address(lock_reg, BasicObjectLock::obj_offset_in_bytes()), (int32_t)NULL_WORD); 947 movptr(Address(lock_reg, BasicObjectLock::obj_offset_in_bytes()), NULL_WORD);
948 948
949 if (UseBiasedLocking) { 949 if (UseBiasedLocking) {
950 biased_locking_exit(obj_reg, header_reg, done); 950 biased_locking_exit(obj_reg, header_reg, done);
951 } 951 }
952 952