Reviewers: Lasse Reichstein, Description: When merging a frame to an expected on at block entry, the static type of elements is set to a safe lower bound. Move the setting of the static type out of VirtualFrame::MergeTo (which is not necessarily run for all frames) and into VirtualFrame::PrepareMergeTo (which is).
Please review this at http://codereview.chromium.org/92009 SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/virtual-frame-ia32.cc M src/virtual-frame.cc Index: src/virtual-frame-ia32.cc =================================================================== --- src/virtual-frame-ia32.cc (revision 1765) +++ src/virtual-frame-ia32.cc (working copy) @@ -191,7 +191,6 @@ if (elements_[i].is_copy()) { elements_[elements_[i].index()].set_copied(); } - elements_[i].set_static_type(target.static_type()); } // Adjust the stack pointer downward if necessary. Index: src/virtual-frame.cc =================================================================== --- src/virtual-frame.cc (revision 1765) +++ src/virtual-frame.cc (working copy) @@ -297,6 +297,10 @@ if (elements_[i].is_copy()) { elements_[elements_[i].index()].set_copied(); } + + // No code needs to be generated to change the static type of an + // element. + elements_[i].set_static_type(expected->elements_[i].static_type()); } } --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
