From 5659e7c84e037d336e37d01d7bcc2353fba7d1b4 Mon Sep 17 00:00:00 2001 From: "olivf@chromium.org" Date: Thu, 29 Aug 2013 09:54:52 +0000 Subject: [PATCH] Fix assert triggered by constant folding. Add<> asserts the return type, which might not be an HAdd in this case because of constant folding. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/23754002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/hydrogen.cc b/src/hydrogen.cc index cf1b505..237e807 100644 --- a/src/hydrogen.cc +++ b/src/hydrogen.cc @@ -1537,14 +1537,15 @@ HLoadNamedField* HGraphBuilder::AddLoadFixedArrayLength(HValue* object) { HValue* HGraphBuilder::BuildNewElementsCapacity(HValue* old_capacity) { - HValue* half_old_capacity = Add(old_capacity, graph_->GetConstant1()); + HValue* half_old_capacity = AddUncasted(old_capacity, + graph_->GetConstant1()); - HValue* new_capacity = Add(half_old_capacity, old_capacity); + HValue* new_capacity = AddUncasted(half_old_capacity, old_capacity); new_capacity->ClearFlag(HValue::kCanOverflow); HValue* min_growth = Add(16); - new_capacity = Add(new_capacity, min_growth); + new_capacity = AddUncasted(new_capacity, min_growth); new_capacity->ClearFlag(HValue::kCanOverflow); return new_capacity; -- 2.7.4