On May 9, 2012, at 1:37 PM, Mark Roos wrote:

> 
> Quite interesting John.   A few curiosity based questions. 
> 
>         we are now representing the argument transformations using 
>         a simple AST-like IR, called a LambdaForm 
> 
> would this be something we could inspect, build or manipulate? 

Only in privileged code.  Like the sun.misc.Unsafe API, LFs and the associated 
non-public MH APIs are designed to be partially type-unsafe, and usable only 
from trusted code.

There may be a type-safe way to use them beyond implementing JSR 292, but that 
would require further research.  (Which this community enjoys!)

For an approximately current sketch of lambda forms, see this file:
  http://hg.openjdk.java.net/mlvm/mlvm/hotspot/file/tip/meth-lazy.txt

Especially the section "## form".  A key feature of LFs is that their grammar 
is regular but not recursive (I can't resist: sub-Chomskian).

>         This form can be easily rendered down to bytecodes 
> 
> Are these jvm bytecodes or internal to hotspot?  Again would this be a space 
> one 
> could play in? 

Vanilla JVM bytecodes.  Some of the magic comes from the methods they are able 
to call, like MethodHandle.invokeBasic.  These work (in a sense) like extended 
bytecodes.

> thanks for the update 

My pleasure.

— John
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to