Reviewers: iposva, William Hesse, Message: This should enable deferred code safely. There is still the general issue that we haven't sorted out what to do with non-frame register references at CFG merge points. We should ensure that they are identical on all paths.
Description: Experimental: thread live register references to deferred code. Deferred code conceptually appears inline, but it is generated at the very end of a function. Since registers could be alive at entry and/or exit, it needs to know which ones. We take a snapshot of the global register file's reference counts and a copy of the virtual frame on entry, and use that to generate the deferred code. This requires the register file and frame to match for deferred code snippets with multiple incoming CFG edges. That's trivially true now because all uses of deferred code occur with fully spilled frames. Also included are fixes for some small lint issues. Please review this at http://codereview.chromium.org/13746 SVN Base: http://v8.googlecode.com/svn/branches/experimental/toiger/ Affected files: M src/codegen-ia32.cc M src/codegen.h M src/codegen.cc M src/jump-target-arm.cc M src/macro-assembler-ia32.cc M src/register-allocator-ia32.h M src/register-allocator-ia32.cc M src/virtual-frame-arm.h 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 -~----------~----~----~----~------~----~------~--~---
