hg: mlvm/mlvm/hotspot: first cut MH reflector

John Rose John.Rose at Sun.COM
Sat Jul 18 22:59:30 PDT 2009


I finished methodHandleWalker.cpp, except for the bytecode compiler,  
which I'm not sure we need at this point.

If you run with +TraceMethodHandles and +Verbose, you'll see zillions  
of method handle printouts using the walker.

I've spot-checked them and they seem correct, so it's time to think  
about using the walker to generate either bytecodes or C2 nodes.

So, Christian and I are a good step closer to full inlining!

Christian, if we inline with C2 nodes, we'll have to generate oop maps  
(safepoints) as of the call into the inlined MH chain; this is similar  
to what we are doing with debug info for Object.clone, where sometimes  
the operation is restarted instead of continued.  At present, it is  
always valid to restart an MH chain, because everything but the final  
DMH is just casting, conversion, and other argument motion, which  
might throw exceptions, but otherwise has no side effects.

-- John

On Jul 16, 2009, at 12:13 PM, Christian Thalinger wrote:

> [Sent private.]
>
> John Rose wrote:
>> Don't fold the patch into builds yet...  It's just a first cut, and
>> not in the series file yet.  More is coming!  -- John
>
> Can you tell what more you are going to implement?  Because I'm  
> hacking
> a bit around in methodHandleWalk.cpp, just for fun and to understand  
> the
> code.
>
> -- Christian




More information about the mlvm-dev mailing list