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.