hg: mlvm/mlvm/jdk: added tests and CoroutineLocals

Stephen Bannasch stephen.bannasch at deanbrook.org
Wed Jun 2 18:55:04 PDT 2010


At 1:06 PM -0400 6/2/10, Stephen Bannasch wrote:
>Hi Lukas,
>
>It's great to see coro land.
>
>I'm now getting these errors trying to build coroutine.cpp on MacOS X 10.5.8:
>
>./hotspot/src/share/vm/runtime/coroutine.cpp: In static member function 'static Coroutine*
>Coroutine::create_coroutine(JavaThread*, CoroutineStack*, oopDesc*)':
>./hotspot/src/share/vm/runtime/coroutine.cpp:282: error: 'coroutine_start' was not declared in thisscope

Taking a closer look the problem is obvious -- the method coroutine_start is only defined in two #ifdef blocks, one for WINDOWSand one for LINUX.

I tried duplicating the Linux implementation wrapping it in #ifdef __APPLE__

but I got he following errors compiling hotspot/src/share/vm/runtime/signature.cpp:
 
./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp: In function 'void create_switchTo_contents(MacroAssembler*, int, OopMapSet*, int&, int, BasicType*, VMRegPair*, BasicType, bool)':
./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp:3446: error: call of overloaded 'movptr(Address, NULL)' is ambiguous
./hotspot/src/cpu/x86/vm/assembler_x86.hpp:2196: note: candidates are: void MacroAssembler::movptr(Address, intptr_t)
./hotspot/src/cpu/x86/vm/assembler_x86.hpp:2198: note:                 void MacroAssembler::movptr(Address, RegisterImpl*)
./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp:3449: error: call of overloaded 'movptr(Address, NULL)' is ambiguous
./hotspot/src/cpu/x86/vm/assembler_x86.hpp:2196: note: candidates are: void MacroAssembler::movptr(Address, intptr_t)
./hotspot/src/cpu/x86/vm/assembler_x86.hpp:2198: note:                 void MacroAssembler::movptr(Address, RegisterImpl*)
./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp:3491: error: call of overloaded 'movptr(Address, NULL)' is ambiguous
./hotspot/src/cpu/x86/vm/assembler_x86.hpp:2196: note: candidates are: void MacroAssembler::movptr(Address, intptr_t)
./hotspot/src/cpu/x86/vm/assembler_x86.hpp:2198: note:                 void MacroAssembler::movptr(Address, RegisterImpl*)
./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp:3492: error: call of overloaded 'movptr(RegisterImpl* const&, int)' is ambiguous
./hotspot/src/cpu/x86/vm/assembler_x86.hpp:2194: note: candidates are: void MacroAssembler::movptr(RegisterImpl*, intptr_t)
./hotspot/src/cpu/x86/vm/assembler_x86.hpp:2195: note:                 void MacroAssembler::movptr(RegisterImpl*, RegisterImpl*)
./hotspot/src/cpu/x86/vm/assembler_x86.hpp:2200: note:                 void MacroAssembler::movptr(RegisterImpl*, RegisterOrConstant)
make[6]: *** [sharedRuntime_x86_32.o] Error 1


More information about the mlvm-dev mailing list