mlvm failed building coroutine.cpp on Mac OS X 10.4.6

Stephen Bannasch stephen.bannasch at deanbrook.org
Mon Nov 8 16:36:49 PST 2010


Replacing NULL with NULL_WORD fixed these compilation warnings compiling coroutine.cpp (and similar warnings 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?


More information about the mlvm-dev mailing list