You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Mladen Turk <mt...@apache.org> on 2005/08/16 20:23:49 UTC

Re: [arch] Modular JVM component diagram

Torsten Curdt wrote:
> Only thing I'd like to throw in the pool
> is...
> 
> I'd like the vm to be flexible enough to
> support native continuation in java. Of
> course the first (big) goal is to become
> standard compliant ...but I would like
> to see at least the *possibility* to hook
> in something low-level like that without
> the need of fancy byte code rewriting.
> 

Right.
I suppose you meant about light weight JNI calls :)
Like I said in '[arch] VM/Classlibrary Interface (take 2)'
thread; most of the time there is no need to
go trough the entire JNI call stack.
Most of the classpath calls should be made simple
returning processor atomic types, so the cost for
calling the native should not exceed the call for
and JVM inline.

Regards,
Mladen.


Re: [arch] Modular JVM component diagram

Posted by Torsten Curdt <tc...@apache.org>.
>> I suppose you meant about light weight JNI calls :)
>>
>
> I suspect that the original poster was refering to Continuations
> as in:
> http://en.wikipedia.org/wiki/Continuation
> or
> http://www.intertwingly.net/blog/2005/04/13/Continuations-for- 
> Curmudgeons

Yepp! Currently we work around with bytecode rewriting

  http://jakarta.apache.org/commons/sandbox/javaflow

But that's quite an effort. I heard that in the sun
jvm the exception mechanism does almost provide what
is required for continuations.

It might also be possible to slot it in through the
hotspot interface but it would be nice to have a
slightly easier way of hooking that in.

> It seems that Dolphin will contain a new invoke-[something]  
> bytecode that is supposed
> to help implementation of dynamic languages; I don't know any  
> details of the semantics yet, but
> having continuations or CPS supported by the JVM/a bytecode would  
> probably be nice.

Hmmm... that sounds interesting!

cheers
--
Torsten


Re: [arch] Modular JVM component diagram

Posted by "Werner Schuster (murphee)" <we...@gmail.com>.
Michael Haupt wrote:

>On 8/16/05, Werner Schuster (murphee) <we...@gmail.com> wrote:
>  
>
>>It seems that Dolphin will contain a new invoke-[something] bytecode
>>that is suppose to help implementation of dynamic languages;
>>    
>>
>do you have a link to more information on that issue?
>  
>
Graham Hamilton mentioned this in his talk on Dolphin at JavaOne05 (I 
think it was the technical session).
I also  saw a "invokedynamic" bytecode mentioned in some other set of 
JavaOne slides... but that's
about all I know.
 It wasn't mentioned what this bytecode would do, or how this could 
improve dynamic languages.



How about a invokedynamic bytecode that is bundled with a 
box-activation-frame bytecode?
If you invoke a method with invokedynamic, you could use the 
box-activation-frame in it, to box the
activation frame (ie. move it to a heap data structure) and return a 
reference to it.
Oh... and there'd need to be a unbox-activation-frame bytecode as well.

Another idea might be to have a way to do closures easier and more 
performant; some way
to abstract away the activation stack. This could allow the VM to use 
the stack whenever possible,
and to fallback to the heap if necessary.

OK... I haven't thought these through... does anybody else have any 
ideas?  After all, a bytecode
change is the one thing that people have been demanding for ... possibly 
a decade now.


murphee
-- 
Blog @ http://jroller.com/page/murphee


Re: [arch] Modular JVM component diagram

Posted by Michael Haupt <mh...@gmail.com>.
Hi Werner,

On 8/16/05, Werner Schuster (murphee) <we...@gmail.com> wrote:
> It seems that Dolphin will contain a new invoke-[something] bytecode
> that is supposed
> to help implementation of dynamic languages;

do you have a link to more information on that issue?

Best regards,

Michael Haupt

Re: [arch] Modular JVM component diagram

Posted by "Werner Schuster (murphee)" <we...@gmail.com>.
Mladen Turk wrote:

> Torsten Curdt wrote:
>
>> I'd like the vm to be flexible enough to
>> support native continuation in java. Of
>
> I suppose you meant about light weight JNI calls :)

I suspect that the original poster was refering to Continuations
as in:
http://en.wikipedia.org/wiki/Continuation
or
http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons


It seems that Dolphin will contain a new invoke-[something] bytecode 
that is supposed
to help implementation of dynamic languages; I don't know any details of 
the semantics yet, but
having continuations or CPS supported by the JVM/a bytecode would 
probably be nice.


murphee
-- 
Blog @ http://jroller.com/page/murphee