Re: Coroutine

2015-06-01 Thread Krystal Mok
Hi, The coroutine patch you would find in OpenJDK MLVM project is from Lukas Stadler. The project page is here: http://ssw.jku.at/General/Staff/LS/coro/ You should be able to find answers to your questions on the project page. - Kris On Mon, Jun 1, 2015 at 2:37 AM, lee json wrote: > Sorry for

Re: coroutine support

2009-11-19 Thread Lukas Stadler
Rémi Forax schrieb: > Could you re-explain where I have to put annotations and which one ? > Of course. If you want to yield a value within generate then the contents of the generate-stackframe need to be stored. In order to allow this it needs to be marked as @Continuable: @Continuable @Over

Re: coroutine support

2009-11-19 Thread Rémi Forax
Le 19/11/2009 19:32, Lukas Stadler a écrit : > Hi! > Hi Lukas, > Rémi Forax wrote: > >> Hi Lukas, >> Your example doesn't work on my laptop: >> > Ok, after I finally got everything running on Linux+Netbeans so that I > can debug into the assembly code I was able to reproduce this. I

Re: coroutine support

2009-11-19 Thread Lukas Stadler
Hi! Rémi Forax wrote: > Hi Lukas, > Your example doesn't work on my laptop: Ok, after I finally got everything running on Linux+Netbeans so that I can debug into the assembly code I was able to reproduce this. In one place I used Assembler.get_thread without a valid esp, which is totally fine o

Re: coroutine support

2009-11-14 Thread Rémi Forax
Le 14/11/2009 10:22, Lukas Stadler a écrit : Ah, yes... I forgot to mention: it's currently only implemented in C1, and it doesn't even compile on C2 because I had to extend the compiler interface. But I'll probably get rid of that, and then it will be a lot easier to get C2 working as well. You

Re: coroutine support

2009-11-14 Thread Lukas Stadler
Ah, yes... I forgot to mention: it's currently only implemented in C1, and it doesn't even compile on C2 because I had to extend the compiler interface. But I'll probably get rid of that, and then it will be a lot easier to get C2 working as well. You're of course right about the graceful shutd

Re: coroutine support

2009-11-13 Thread Rémi Forax
Hi Lukas, hi all, C1 seems to work but not C2 (see further). Furthermore by default, hotspot requires that package javax.stack exists instead of gracefully disable coroutine if javax.stack is not here (which is the case of the first build, i.e when you use jdk6 to compile jdk7). I will test it

Re: coroutine support

2009-11-13 Thread Charles Oliver Nutter
On Fri, Nov 13, 2009 at 12:00 PM, Jim Baker wrote: >> > Charles Oliver Nutter schrieb: >> >> This is basically what all the bytecode-weaving coroutine/continuation >> >> libraries do. Jython also does this for their >> >> lambda/generator/coroutine stuff so they can jump in and out. > > Except for

Re: coroutine support

2009-11-13 Thread Jim Baker
On Fri, Nov 13, 2009 at 10:48 AM, Charles Oliver Nutter wrote: > On Fri, Nov 13, 2009 at 11:27 AM, Jochen Theodorou > wrote: > > Charles Oliver Nutter schrieb: > >> This is basically what all the bytecode-weaving coroutine/continuation > >> libraries do. Jython also does this for their > >> lamb

Re: coroutine support

2009-11-13 Thread Charles Oliver Nutter
On Fri, Nov 13, 2009 at 11:27 AM, Jochen Theodorou wrote: > Charles Oliver Nutter schrieb: >> This is basically what all the bytecode-weaving coroutine/continuation >> libraries do. Jython also does this for their >> lambda/generator/coroutine stuff so they can jump in and out. The >> primary issu

Re: coroutine support

2009-11-13 Thread Rémi Forax
Le 12/11/2009 19:46, John Rose a écrit : > On Nov 12, 2009, at 10:44 AM, Charles Oliver Nutter wrote: > > >> I'm going to try callcc alone against bsd-port head. >> > Yes; don't build indy into it; it's too much of a moving target to integrate > with callcc etc. > It seems currently

Re: coroutine support

2009-11-13 Thread Jochen Theodorou
Charles Oliver Nutter schrieb: > On Fri, Nov 13, 2009 at 11:09 AM, Jochen Theodorou wrote: >> the alternative would be to generate for run something like: >> >> private Object run$co(Context context) { >> l0: >> switch (context.jumpToLabel) { >> case 1: jmp l1 >> } >> context.l0=0; >>

Re: coroutine support

2009-11-13 Thread Charles Oliver Nutter
On Fri, Nov 13, 2009 at 10:43 AM, Lukas Stadler wrote: > I've fixed a few additional compile problems, on a linux machine with > gcc 4.4.1 - unfortunately I have no easy access to a mac os machine. > I hope that this takes care of your compilation problems. If not - can > you please let me know wh

Re: coroutine support

2009-11-13 Thread Charles Oliver Nutter
On Fri, Nov 13, 2009 at 11:09 AM, Jochen Theodorou wrote: > the alternative would be to generate for run something like: > > private Object run$co(Context context) { >   l0: >   switch (context.jumpToLabel) { >      case 1: jmp l1 >   } >   context.l0=0; >   for (;context.l0<10; context.l0++) { >

Re: coroutine support

2009-11-13 Thread Jochen Theodorou
Lukas Stadler schrieb: > Hi everybody! > > I've just checked in the first prototype of a coroutine implementation. > It's implemented using the continuations framework, so it's not very > speedy (~1µs per context switch in a simple example) but it allows me to > experiment on how the API for co

Re: coroutine support

2009-11-13 Thread Lukas Stadler
I've fixed a few additional compile problems, on a linux machine with gcc 4.4.1 - unfortunately I have no easy access to a mac os machine. I hope that this takes care of your compilation problems. If not - can you please let me know which version of gcc you're using? - Lukas Charles Oliver Nutte

Re: coroutine support

2009-11-12 Thread Jin Mingjian
great news:) I've done some similar helloworld coroutine tests using Javaflow several months ago. It seems that the scheduling time unit of native thread is in the level of ms(although I am not very sure this^_^) 2009/11/13 Lukas Stadler > Hi everybody! > > I've just checked in the first protot

Re: coroutine support

2009-11-12 Thread Charles Oliver Nutter
On Thu, Nov 12, 2009 at 6:30 PM, Lukas Stadler wrote: > It's quite clearly no use fixing those one at a time - I'll build with > gcc tomorrow and let you know as soon as it works. Ok, great, I'll stand by. I can have JRuby's coroutines (and maybe continuations) using your stuff within a day or tw

Re: coroutine support

2009-11-12 Thread Lukas Stadler
Charles Oliver Nutter schrieb: > On Thu, Nov 12, 2009 at 3:20 PM, Lukas Stadler wrote: > >> I fixed that one. I'm compiling with MSVC - I guess I should really >> switch to another platform... >> > > No doubt :) > > I got farther, but then this is the result: > It's quite clearly no use

Re: coroutine support

2009-11-12 Thread Charles Oliver Nutter
On Thu, Nov 12, 2009 at 3:20 PM, Lukas Stadler wrote: > I fixed that one. I'm compiling with MSVC - I guess I should really > switch to another platform... No doubt :) I got farther, but then this is the result: g++ -D_ALLBSD_SOURCE -D_GNU_SOURCE -DIA32 -DASSERT -DFASTDEBUG -I. -I../generated/a

Re: coroutine support

2009-11-12 Thread Jim Baker
Very cool. We could use this in Jython to support the greenlet model, which would also allow us to implement Stackless Python. Given this, I'm principally interested in the capability of a given coroutine being able to yield to another specified coroutine, as well as being able to describe tree rel

Re: coroutine support

2009-11-12 Thread Lukas Stadler
I fixed that one. I'm compiling with MSVC - I guess I should really switch to another platform... - Lukas Charles Oliver Nutter wrote: > Ok, no dice for me so far. Here's the complete g++ error. I'm really > excited to try this out, so please give me some tips :) _

Re: coroutine support

2009-11-12 Thread Charles Oliver Nutter
Ok, no dice for me so far. Here's the complete g++ error. I'm really excited to try this out, so please give me some tips :) g++ -D_ALLBSD_SOURCE -D_GNU_SOURCE -DIA32 -DASSERT -DFASTDEBUG -I. -I../generated/adfiles -I../generated/jvmtifiles -I/Users/headius/projects/davinci/sources/hotspot/src/sha

Re: coroutine support

2009-11-12 Thread Charles Oliver Nutter
On Thu, Nov 12, 2009 at 12:46 PM, John Rose wrote: > On Nov 12, 2009, at 10:44 AM, Charles Oliver Nutter wrote: > >> I'm going to try callcc alone against bsd-port head. > > Yes; don't build indy into it; it's too much of a moving target to integrate > with callcc etc. Ok, I got this far into th

Re: coroutine support

2009-11-12 Thread John Rose
On Nov 12, 2009, at 10:44 AM, Charles Oliver Nutter wrote: > I'm going to try callcc alone against bsd-port head. Yes; don't build indy into it; it's too much of a moving target to integrate with callcc etc. -- John ___ mlvm-dev mailing list mlvm-dev@

Re: coroutine support

2009-11-12 Thread Charles Oliver Nutter
Right now I'm getting two failed patches when trying guards="buildable callcc". The first is applying callcc to hotspot: applying callcc.patch patching file src/cpu/x86/vm/templateInterpreter_x86_32.cpp Hunk #1 succeeded at 160 with fuzz 1 (offset -8 lines). patching file src/share/vm/classfile/vm

Re: coroutine support

2009-11-12 Thread Charles Oliver Nutter
Hot diggity! On Thu, Nov 12, 2009 at 11:08 AM, Lukas Stadler wrote: > Hi everybody! > > I've just checked in the first prototype of a coroutine implementation. > It's implemented using the continuations framework, so it's not very > speedy (~1µs per context switch in a simple example) but it allo