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
--- a/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp Fri Jan 23 10:41:28 2009 -0500
+++ b/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp Mon Jan 26 12:07:54 2009 -0800
@@ -1393,7 +1393,7 @@
__ ret(0);
__ bind(miss);
- __ movptr(Address(rsp, (super_off) * VMRegImpl::stack_slot_size), 0); // result
+ __ movptr(Address(rsp, (super_off) * VMRegImpl::stack_slot_size), NULL_WORD); // result
__ pop(rax);
__ pop(rcx);
__ pop(rsi);
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp Fri Jan 23 10:41:28 2009 -0500
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp Mon Jan 26 12:07:54 2009 -0800
@@ -149,7 +149,7 @@
// Clean up tos value in the thread object
movl(tos_addr, (int32_t) ilgl);
movptr(val_addr, NULL_WORD);
- NOT_LP64(movl(val_addr1, (int32_t)NULL_WORD));
+ NOT_LP64(movptr(val_addr1, NULL_WORD));
}
--- a/hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp Fri Jan 23 10:41:28 2009 -0500
+++ b/hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp Mon Jan 26 12:07:54 2009 -0800
@@ -110,7 +110,7 @@
virtual void pass_object() {
// pass address of from
intptr_t from_addr = (intptr_t)(_from + Interpreter::local_offset_in_bytes(0));
- *_to++ = (*(intptr_t*)from_addr == 0) ? NULL : from_addr;
+ *_to++ = (*(intptr_t*)from_addr == 0) ? NULL_WORD : from_addr;
debug_only(verify_tag(frame::TagReference));
_from -= Interpreter::stackElementSize();
}
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp Fri Jan 23 10:41:28 2009 -0500
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp Mon Jan 26 12:07:54 2009 -0800
@@ -407,7 +407,7 @@
__ get_thread(rcx);
__ pop(rdx);
__ movptr(rax, Address(rcx, Thread::pending_exception_offset()));
- __ movptr(Address(rcx, Thread::pending_exception_offset()), (int32_t)NULL_WORD);
+ __ movptr(Address(rcx, Thread::pending_exception_offset()), NULL_WORD);
#ifdef ASSERT
// make sure exception is set
--- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Fri Jan 23 10:41:28 2009 -0500
+++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Mon Jan 26 12:07:54 2009 -0800
@@ -382,7 +382,7 @@
// indicating if the counter overflow occurs at a backwards branch (non-NULL bcp).
// The call returns the address of the verified entry point for the method or NULL
// if the compilation did not complete (either went background or bailed out).
- __ movptr(rax, (int32_t)false);
+ __ movptr(rax, (intptr_t)false);
__ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), rax);
__ movptr(rbx, Address(rbp, method_offset)); // restore methodOop
--- a/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp Fri Jan 23 10:41:28 2009 -0500
+++ b/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp Mon Jan 26 12:07:54 2009 -0800
@@ -137,7 +137,7 @@
// Do the actual store
// noreg means NULL
if (val == noreg) {
- __ movl(Address(rdx, 0), (int32_t)NULL_WORD);
+ __ movptr(Address(rdx, 0), NULL_WORD);
// No post barrier for NULL
} else {
__ movl(Address(rdx, 0), val);
@@ -152,7 +152,7 @@
case BarrierSet::CardTableExtension:
{
if (val == noreg) {
- __ movl(obj, NULL_WORD);
+ __ movptr(obj, NULL_WORD);
} else {
__ movl(obj, val);
// flatten object address if needed
@@ -168,7 +168,7 @@
case BarrierSet::ModRef:
case BarrierSet::Other:
if (val == noreg) {
- __ movl(obj, NULL_WORD);
+ __ movptr(obj, NULL_WORD);
} else {
__ movl(obj, val);
}