Reviewers: Jakob,

Description:
Remove obsolete elements kind check for array literals.

[email protected]

Please review this at https://codereview.chromium.org/17378005/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/hydrogen.cc
  M test/mjsunit/tools/tickprocessor.js


Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index 66b040743746e500ef935bc00f12153124578945..f9adf49b8ff2920b22553400f554f963d39fa6ab 100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -6050,26 +6050,6 @@ void HOptimizedGraphBuilder::VisitArrayLiteral(ArrayLiteral* expr) { Handle<FixedArray> constants = isolate()->factory()->empty_fixed_array();
     int literal_index = expr->literal_index();

- // TODO(mstarzinger): The following check and deopt is actually obsolete
-    // but test cases for the tick processor fails because profile differs.
-
-    // Deopt if the array literal boilerplate ElementsKind is of a type
-    // different than the expected one. The check isn't necessary if the
- // boilerplate has already been converted to TERMINAL_FAST_ELEMENTS_KIND.
-    if (CanTransitionToMoreGeneralFastElementsKind(
-            boilerplate_elements_kind, true)) {
-      IfBuilder builder(this);
-      HValue* boilerplate = AddInstruction(new(zone())
-          HConstant(original_boilerplate_object));
-      HValue* elements_kind = AddInstruction(new(zone())
-          HElementsKind(boilerplate));
-      HValue* expected_kind = AddInstruction(new(zone())
-          HConstant(boilerplate_elements_kind));
-      builder.IfCompare(elements_kind, expected_kind, Token::EQ);
-      builder.Then();
-      builder.ElseDeopt();
-    }
-
     AddInstruction(new(zone()) HPushArgument(AddInstruction(
         new(zone()) HConstant(literals))));
     AddInstruction(new(zone()) HPushArgument(AddInstruction(
Index: test/mjsunit/tools/tickprocessor.js
diff --git a/test/mjsunit/tools/tickprocessor.js b/test/mjsunit/tools/tickprocessor.js index 00e8f6e73ed05dd002613c23b2ee2e1b00c7846e..626929de16bf43d726a1e15ad32211b8c3914eef 100644
--- a/test/mjsunit/tools/tickprocessor.js
+++ b/test/mjsunit/tools/tickprocessor.js
@@ -25,6 +25,10 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+// This test case is not compatible with optimization stress because the
+// generated profile will look vastly different when more is optimized.
+// Flags: --nostress-opt --noalways-opt
+
 // Load implementations from <project root>/tools.
 // Files: tools/splaytree.js tools/codemap.js tools/csvparser.js
 // Files: tools/consarray.js tools/profile.js tools/profile_view.js


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to