Please review JDK-8010701 - Final part of immutable IR
Marcus Lagergren
marcus.lagergren at oracle.com
Fri Apr 19 00:22:14 PDT 2013
I should add for the record that this has a lot of positive implications:
* We will by definition use only the smallest possible amount of memory for the IRs
* Cloning IRs are a no-op
* Method specialization based on call site types is now feasible in our memory space due to the above and we will start hacking on that asap (of course, we might still run out of metaspace, but Vladimir I's work has promise here)
/M
On Apr 19, 2013, at 2:53 AM, Michel Trudeau <MICHEL.TRUDEAU at ORACLE.COM> wrote:
> Nice, although this is a big change to review.
>
> Michel
>
> On Apr 18, 2013, at 7:18 AM, Marcus Lagergren <marcus.lagergren at oracle.com> wrote:
>
> http://cr.openjdk.java.net/~lagergren/8010701/webrev/
>
> It is with great satisfaction that I can announce that Attila and I are done with the completely immutable IR. We have as a proof of concept also removed Node.CopyState altogether. There can now be copies of the same reference node in the IR and that is OK. This saves memory and ensures that we can clone code correctly (i.e. with a meaningless operation, rather than with the deep clone that was afflicted with literally dozens of bugs).
>
> All IR changes are now copy on write - which create new nodes. This is the responsibility of the caller.
>
> Everything runs.
>
> Individual patches are at http://cr.openjdk.java.net/~lagergren/8010701/ if the webrev is too much
>
> /M
>
More information about the nashorn-dev
mailing list