mlvm failed building coroutine.cpp on Mac OS X 10.4.6

Stephen Bannasch stephen.bannasch at deanbrook.org
Mon Nov 8 17:08:52 PST 2010


>Replacing NULL with NULL_WORD fixed these compilation warnings compiling coroutine.cpp (and similarwarnings in
>sharedRuntime_x86_64.cpp):
>
>diff --git a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp
>--- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp
>+++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp
>@@ -3941,10 +3941,10 @@
>        Register thread = r15;
>        // set new handle and resource areas
>        __ movptr(temp, Address(target_coroutine, Coroutine::handle_area_offset()));
>-      __ movptr(Address(target_coroutine, Coroutine::handle_area_offset()), NULL);                // TODO is this really
>needed?
>+      __ movptr(Address(target_coroutine, Coroutine::handle_area_offset()), NULL_WORD);                // TODO is this really
>needed?
>        __ movptr(Address(thread, Thread::handle_area_offset()), temp);
>        __ movptr(temp, Address(target_coroutine, Coroutine::resource_area_offset()));
>-      __ movptr(Address(target_coroutine, Coroutine::resource_area_offset()), NULL);              // TODO is this really
>needed?
>+      __ movptr(Address(target_coroutine, Coroutine::resource_area_offset()), NULL_WORD);              // TODO is this really
>needed?
>        __ movptr(Address(thread, Thread::resource_area_offset()), temp);
>
>        // update the thread's stack base and size
>diff --git a/src/share/vm/runtime/coroutine.cpp b/src/share/vm/runtime/coroutine.cpp
>--- a/src/share/vm/runtime/coroutine.cpp
>+++ b/src/share/vm/runtime/coroutine.cpp
>@@ -156,7 +156,7 @@
>
>    intptr_t* sp = (intptr_t*)(fp + 2);
>    address pc = (address)fp[1];
>-  if (fp[0] == (intptr_t)NULL)
>+  if (fp[0] == (intptr_t)NULL_WORD)
>      return;
>    fp = (intptr_t*)fp[0] + displacement;
>
>@@ -200,7 +200,7 @@
>
>    intptr_t* sp = (intptr_t*)(fp + 2);
>    address pc = (address)fp[1];
>-  if (fp[0] == (intptr_t)NULL)
>+  if (fp[0] == (intptr_t)NULL_WORD)
>      return;
>    fp = (intptr_t*)fp[0] + displacement;
>
>But now I'm getting these errors compiling sharedRuntime_x86_64.cpp:
>
>sharedRuntime_x86_64.cpp:1328: error: '_prepareSwitch' is not a member of 'vmIntrinsics'
>sharedRuntime_x86_64.cpp:1330: error: '_switchTo' is not a member of 'vmIntrinsics'
>sharedRuntime_x86_64.cpp:1332: error: '_switchToAndTerminate' is not a member of 'vmIntrinsics'
>sharedRuntime_x86_64.cpp:1334: error: '_switchToAndExit' is not a member of 'vmIntrinsics'
>
>Where are vmIntrinsics defined?
>_______________________________________________
>mlvm-dev mailing list
>mlvm-dev at openjdk.java.net
>http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev



More information about the mlvm-dev mailing list