Mercurial > hg > graal-jvmci-8
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 |