Continuations, here I come

Hiroshi Yamauchi yamauchi at google.com
Fri Aug 7 15:03:25 PDT 2009


Hi all,

I'm also curious to see/try the latest update/patch as I'd like to
experiment with the continuation feature in the JVM.

I have looked at this file (which I think is an old file) so far:

  http://hg.openjdk.java.net/mlvm/mlvm/hotspot/file/2c1323e05f9a/callcc.patch

I patched it to openjdk6 (Hotspot 11) and the test appears to work,
though the monitor support seemed unfinished.

BTW, here are two comments that I personally had about the API from
the perspective of using continuations from the Java language
(referring to the old patch):

1. I think that we don't want to run the finally clauses twice (once
when the exception is thrown on 'copyStack' and again after the stack
is resumed).

2. I think we want to unlock all the monitors on a stack save and
relock them on a stack resume. (though I'm not sure what the intention
of the unfinished code was.)

Just my 2 cents.

I understand that there has been quite bit of progress and a new patch
since then.

Thanks,
Hiroshi

On Fri, Jul 31, 2009 at 6:27 AM, Christian
Thalinger<Christian.Thalinger at sun.com> wrote:
> Lukas Stadler wrote:
>> The current status: I could push the patch into the patch-repository,
>> but I'm kind of a mercurial-newbie... Do you perhaps have any pointers
>> to a description of how that works? :-)
>
> Sure.  Well, you could read the Mercurial book[1], but I think that's
> overkill for just one push.  As far as I understand, you want to commit
> a patch file without putting it into the series file.  That's easy (e.g.
> for a HotSpot patch):
>
> $ cd patches/hotspot/
> $ cp ~/cont.patch .
> $ hg add cont.patch
> $ hg commit -m "cont: New file."
> $ hg push
>
> Hmm, and here we may have a problem: commit rights.  Do you have an
> OpenJDK username?  Yes, you have:
>
> lstadler        Lukas Stadler   Johannes Kepler University Linz, Austria
>
> For a successful push you need three things:
>
> 1. an OpenJDK username
> 2. commit rights (Mark can help you here)
> 3. a valid default or default-push URL
>
> You can check the latter with:
>
> $ hg paths
> default = http://hg.openjdk.java.net/mlvm/mlvm/hotspot
> default-push = ssh://twisti@hg.openjdk.java.net/mlvm/mlvm/hotspot
>
> Hope that helps.
>
> [1] http://hgbook.red-bean.com/
>
> -- Christian
> _______________________________________________
> 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