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
-~----------~----~----~----~------~----~------~--~---

Reply via email to