Exciting :) Once you get it in, perhaps you can release the changes you made to JRuby. I have no problem shipping a reflectively-loaded version of Fiber that uses JVM coroutines! (and I'd like to do the same for 1.8 mode Enumerator, which also requires coroutine support)
On Mon, Jun 7, 2010 at 5:17 PM, Lukas Stadler <[email protected]> wrote: > Well, I finally got my hands on a Mac machine, I'll investigate as soon > as I've finished installing. > > - Lukas > > On 03.06.2010 03:55, Stephen Bannasch wrote: >> 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 >> _______________________________________________ >> mlvm-dev mailing list >> [email protected] >> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev >> > > _______________________________________________ > mlvm-dev mailing list > [email protected] > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > _______________________________________________ mlvm-dev mailing list [email protected] http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
