The high-level idea behind the change seems sound, so from that point it LGTM. I haven't looked at the nitty, gritty details of the MakeMergeable code in detail so I'm counting on Bill to do a proper review of that.
On Mon, Feb 2, 2009 at 5:26 PM, <[email protected]> wrote: > Reviewers: William Hesse, Kasper Lund, > > Message: > Kasper & Bill, can you take a look at this? > > Two caveats: > > (1) Much of the complication is involved in correctly implementing > VirtualFrame::MakeMergable, which is all going away shortly. It will be > replaced with a function to calculate a target frame based on a set of > incoming frames, and that makes the frame mergable in one-pass if > needed. > > (2) There is a potential issue that I don't think arises in practice. > Spilling or syncing a virtual frame element (which is used by merging, > make mergable, and calling functions) can require (no more than) one > free register to perform memory-to-memory moves. Obviously, we need to > either ensure that this is always the case or detect when it isn't and > fall back on something (spilling an arbitrary register to use, for > instance). > > Description: > Experimental: allow the virtual frame to explicitly indicate sharing > of memory (as well as register) elements. > > A new type of frame element is introduced, which is a copy of a memory > or register element. As a simple first implementation, sets of copies > are backed by their lowest frame element. This requires adjusting the > backing store when moving elements up and down in the frame. > > Copied elements have copy-on-write semantics---modifying the backing > frame element requires finding the appropriate new backing element and > updating all copies in the set. > > > Please review this at http://codereview.chromium.org/19755 > > SVN Base: http://v8.googlecode.com/svn/branches/experimental/toiger/ > > Affected files: > M src/disassembler.cc > M src/virtual-frame-ia32.h > M src/virtual-frame-ia32.cc > > > --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
