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 <[email protected]> wrote: > Nice, although this is a big change to review. > > Michel > > On Apr 18, 2013, at 7:18 AM, Marcus Lagergren <[email protected]> > 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 >
