Latest instructions on getting and patching

John Rose John.Rose at Sun.COM
Mon Apr 6 03:48:33 PDT 2009


On Apr 5, 2009, at 1:10 AM, Charles Oliver Nutter wrote:

> - follow the instructions in the MLVM repo, with the following
> modifications:
> -- clone bsd-port instead of openjdk directly
I changed the README to reflect this reality.
> -- remove "testable" from your guards to get invokedynamic support  
> along 
> with method handles (though John says there's still some bugs to fix)
The indy stuff is now marked testable.  (Not stable, just testable.)
> -- add "projects" to your guards to also apply John's demo projects  
> for 
> anonymous classes and method handles (and I believe the invokedynamic
> code in the method handle project is function too, right John?)
Partially.  Some tests pass, some fail.  I'm working in it...
> -- use the *second* set of instructions for applying the patches,  
> with 
> all the raw hg queue commands
> -- once everything has been applied, follow Stephen Bannasch's 
> instructions for getting it to build as normal
> -- when running with opcode 186 (new-style invokedynamic) you'll  
> need to 
> turn off verification with -Xverify:none
I committed a patch to the old plugin-based verifier in the jdk repo,  
which should fix that.

> With this process I managed to get JRuby to the point of producing an
> invokedynamic error (missing bootstrap), which to me is a great  
> success.
> I hope to have things re-wired in the next day or two and will  
> report back.


That's great!  I think the road is clear for your next step.  Upcoming  
problems are
likely to be either something low-level in the new JVM code, or else a  
missing
piece in the java.dyn.MethodHandles API.

Thanks for working on this!

-- John



More information about the mlvm-dev mailing list