happy new year!

John Rose John.Rose at Sun.COM
Wed Jan 21 15:33:11 PST 2009


On Jan 21, 2009, at 6:33 AM, Jochen Theodorou wrote:

> John Rose schrieb:
> [...]
>> 8. work with brave language implementors (hi, Charlie, Brian) who
>> want to try this stuff out sooner rather than later
>
> since Groovy 1.6 seems to finally setlle down I would have time to
> actually produce a Groovy version that uses the method handles and
> invokedynamic stuff. But for this I need a patch that actually  
> compiles
> on my system. I had problems with the earlier beta version, but b42
> seems to compile fine.

I've started putting the Mercurial hashcode of the baseline revision  
in the series file (.hg/patches/series) of each patch repository.   
For people who attempt their own builds (that's all of us at present)  
that will make it easier to apply the patches cleanly, and to know  
that resulting bugs are real, not due to micro-version skew.

> The more language adopt it early the more optimization into different
> directions can be done. And maybe one or two limitations will surface.

I hope and expect so!

> For this I don't need a modified javac since the asm lib seems to
> support invokedynamic.

Right.

BTW, the next version of invokedynamic (as emitted by yesterday's  
mlvm/langtools push and coming RSN in mlvm/hotspot/indy.patch)  
completely omits references to java.dyn.Dynamic in the constant  
pool.  The CP index in the instruction is to a CONSTANT_NameAndType,  
so don't use a CONSTANT_[Interface]MethodRef.  The two extension  
bytes (last of five) are both required to be zero and reserved for  
future use.

I'm eager to see what Groovy can do with these new goodies.

BTW, what do you think are the chances of interfactoring Groovy's MOP  
with Attila's?  The JSR 292 adoption might be a good time to think  
about it.

-- John



More information about the mlvm-dev mailing list