Reviewers: William Hesse, iposva, Message: Without allocating locals to registers, we are not yet doing better than the peephole optimizer.
Ivan, I'd still appreciate your comments but I will probably submit this before the end of the day. Description: Begin using the virtual frame for assignment statements of the form: <local> = <literal> Literals are pushed on the frame as virtual elements. Assignment of a virtual element to a frame slot (eg, local or parameter) makes that slot virtual too. The above code compiles into a single move of a constant to memory, and that move is actually only caused by spilling the frame. Visiting expressions is guarded by spilling the frame to keep everything spilled in code that assumes it. That's ugly but temporary. Please review this at http://codereview.chromium.org/10993 SVN Base: http://v8.googlecode.com/svn/branches/experimental/toiger/ Affected files: M src/codegen-ia32.h M src/codegen-ia32.cc M src/virtual-frame-ia32.h M src/virtual-frame-ia32.cc --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---