As some of you have noticed, Chris Thalinger, Michael Haupt, and I have been 
working on the mlvm patches [1] for JEP-160 [2] for several months.  These 
changes make method handles more optimizable.  They refactor lots of "magic" 
out of the JVM and into more manageable Java code.

To get an idea of how much "magic" is being removed, consider that the change 
removes 12,000 lines of non-comment code from the JVM, including much assembly 
code.  It inserts 4900 lines of non-comment code.

These changes are now stable enough to integrate.  They pass jtreg tests in a 
number of execution modes and platforms.  They also correctly run various JRuby 
and Nashorn test programs.  Although there are no performance gains to boast 
about at present, these changes clear the ground for long-term optimization 
work.

Here is the webrev [3], for review and integration into JDK 8 via 
hotspot-comp/hotspot/.

Because of the large size of this change set, we request that reviewers would 
clearly designate which files they are reviewing.  That way we may be able to 
divide up the work a little more effectively.

Also, because of the scope of the change, we may respond to some comments by 
promising to address an issue in a future change set.  If necessary, we will 
file tracking bugs to make sure nothing gets dropped.  We have been working on 
this for months, and expect to make many further changes.

The immediate need to get the changes in is twofold:  First, some bugs 
(involving symbolic references off the boot class path) require the new Lambda 
Form intermediate representation, which is "off-BCP-clean".  Second, we need to 
commit our pervasive changes to the JVM sooner rather than later, so they can 
be properly integrated with other pervasive changes, such as metadata changes.

An associated webrev for hotspot-comp/jdk/ will be posted soon; it is already 
present on mlvm-dev for the curious to examine.  (This change set also deletes 
a lot of old code.)

Thanks in advance,
— John

[1] 
http://hg.openjdk.java.net/mlvm/mlvm/hotspot/file/tip/meth-lazy-7023639.patch
[2] http://openjdk.java.net/jeps/160
[3] http://cr.openjdk.java.net/~jrose/7023639/webrev.00/

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

Reply via email to