hg: mlvm/mlvm/jdk: added tests and CoroutineLocals
Charles Oliver Nutter
headius at headius.com
Mon Jun 7 11:23:45 PDT 2010
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 <lukas.stadler at jku.at> 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
>> mlvm-dev at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>>
>
> _______________________________________________
> 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