Reviewers: fschneider, Kevin Millikin,

Description:
Do not push a redundant value context in crankshaft.

When visiting AND/OR nodes in a value context during Hydrogen graph generation, there is no need to push a new value context, the full code generator doesn't do it, either. While technically it doesn't hurt to do so, this change makes the context stacks for the full code generator and crankshaft more similar, which
helps comparing the dynamic behaviour of these generators tremendously.

Please review this at http://codereview.chromium.org/7008009/

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

Affected files:
  M     src/hydrogen.cc


Index: src/hydrogen.cc
===================================================================
--- src/hydrogen.cc     (revision 8051)
+++ src/hydrogen.cc     (working copy)
@@ -5072,7 +5072,7 @@
     }

   } else if (ast_context()->IsValue()) {
-    CHECK_ALIVE(VisitForValue(expr->left()));
+    CHECK_ALIVE(Visit(expr->left()));
     ASSERT(current_block() != NULL);

     // We need an extra block to maintain edge-split form.
@@ -5085,7 +5085,7 @@

     set_current_block(eval_right);
     Drop(1);  // Value of the left subexpression.
-    CHECK_BAILOUT(VisitForValue(expr->right()));
+    CHECK_BAILOUT(Visit(expr->right()));

     HBasicBlock* join_block =
       CreateJoin(empty_block, current_block(), expr->id());


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to