Mon, 26 Jan 2009 12:07:54 -0800
6795913: A few remaining wrong casts need to be fixed for building hotspot successfully on Mac OS.
Summary: Use NULL_WORD in the places where intptr_t is expected due to incompatible types between intptr_t & int32_t
Reviewed-by: phh, coleenp, never
1.1 --- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp Fri Jan 23 10:41:28 2009 -0500 1.2 +++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp Mon Jan 26 12:07:54 2009 -0800 1.3 @@ -1393,7 +1393,7 @@ 1.4 __ ret(0); 1.5 1.6 __ bind(miss); 1.7 - __ movptr(Address(rsp, (super_off) * VMRegImpl::stack_slot_size), 0); // result 1.8 + __ movptr(Address(rsp, (super_off) * VMRegImpl::stack_slot_size), NULL_WORD); // result 1.9 __ pop(rax); 1.10 __ pop(rcx); 1.11 __ pop(rsi);
2.1 --- a/src/cpu/x86/vm/interp_masm_x86_32.cpp Fri Jan 23 10:41:28 2009 -0500 2.2 +++ b/src/cpu/x86/vm/interp_masm_x86_32.cpp Mon Jan 26 12:07:54 2009 -0800 2.3 @@ -149,7 +149,7 @@ 2.4 // Clean up tos value in the thread object 2.5 movl(tos_addr, (int32_t) ilgl); 2.6 movptr(val_addr, NULL_WORD); 2.7 - NOT_LP64(movl(val_addr1, (int32_t)NULL_WORD)); 2.8 + NOT_LP64(movptr(val_addr1, NULL_WORD)); 2.9 } 2.10 2.11
3.1 --- a/src/cpu/x86/vm/interpreterRT_x86_32.cpp Fri Jan 23 10:41:28 2009 -0500 3.2 +++ b/src/cpu/x86/vm/interpreterRT_x86_32.cpp Mon Jan 26 12:07:54 2009 -0800 3.3 @@ -110,7 +110,7 @@ 3.4 virtual void pass_object() { 3.5 // pass address of from 3.6 intptr_t from_addr = (intptr_t)(_from + Interpreter::local_offset_in_bytes(0)); 3.7 - *_to++ = (*(intptr_t*)from_addr == 0) ? NULL : from_addr; 3.8 + *_to++ = (*(intptr_t*)from_addr == 0) ? NULL_WORD : from_addr; 3.9 debug_only(verify_tag(frame::TagReference)); 3.10 _from -= Interpreter::stackElementSize(); 3.11 }
4.1 --- a/src/cpu/x86/vm/stubGenerator_x86_32.cpp Fri Jan 23 10:41:28 2009 -0500 4.2 +++ b/src/cpu/x86/vm/stubGenerator_x86_32.cpp Mon Jan 26 12:07:54 2009 -0800 4.3 @@ -407,7 +407,7 @@ 4.4 __ get_thread(rcx); 4.5 __ pop(rdx); 4.6 __ movptr(rax, Address(rcx, Thread::pending_exception_offset())); 4.7 - __ movptr(Address(rcx, Thread::pending_exception_offset()), (int32_t)NULL_WORD); 4.8 + __ movptr(Address(rcx, Thread::pending_exception_offset()), NULL_WORD); 4.9 4.10 #ifdef ASSERT 4.11 // make sure exception is set
5.1 --- a/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Fri Jan 23 10:41:28 2009 -0500 5.2 +++ b/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Mon Jan 26 12:07:54 2009 -0800 5.3 @@ -382,7 +382,7 @@ 5.4 // indicating if the counter overflow occurs at a backwards branch (non-NULL bcp). 5.5 // The call returns the address of the verified entry point for the method or NULL 5.6 // if the compilation did not complete (either went background or bailed out). 5.7 - __ movptr(rax, (int32_t)false); 5.8 + __ movptr(rax, (intptr_t)false); 5.9 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), rax); 5.10 5.11 __ movptr(rbx, Address(rbp, method_offset)); // restore methodOop
6.1 --- a/src/cpu/x86/vm/templateTable_x86_32.cpp Fri Jan 23 10:41:28 2009 -0500 6.2 +++ b/src/cpu/x86/vm/templateTable_x86_32.cpp Mon Jan 26 12:07:54 2009 -0800 6.3 @@ -137,7 +137,7 @@ 6.4 // Do the actual store 6.5 // noreg means NULL 6.6 if (val == noreg) { 6.7 - __ movl(Address(rdx, 0), (int32_t)NULL_WORD); 6.8 + __ movptr(Address(rdx, 0), NULL_WORD); 6.9 // No post barrier for NULL 6.10 } else { 6.11 __ movl(Address(rdx, 0), val); 6.12 @@ -152,7 +152,7 @@ 6.13 case BarrierSet::CardTableExtension: 6.14 { 6.15 if (val == noreg) { 6.16 - __ movl(obj, NULL_WORD); 6.17 + __ movptr(obj, NULL_WORD); 6.18 } else { 6.19 __ movl(obj, val); 6.20 // flatten object address if needed 6.21 @@ -168,7 +168,7 @@ 6.22 case BarrierSet::ModRef: 6.23 case BarrierSet::Other: 6.24 if (val == noreg) { 6.25 - __ movl(obj, NULL_WORD); 6.26 + __ movptr(obj, NULL_WORD); 6.27 } else { 6.28 __ movl(obj, val); 6.29 }