From 3e08756fa5253ddff45291a782824a1d718a4f2e Mon Sep 17 00:00:00 2001 From: "bmeurer@chromium.org" Date: Fri, 9 May 2014 12:19:59 +0000 Subject: [PATCH] Fix new space array check limit. Also inline BuildNewSpaceArrayCheck() into its caller, because the name BuildNewSpaceArrayCheck was confusing anyway, since it has nothing do with new space actually. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/275453004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen.cc | 14 +++----------- src/hydrogen.h | 3 --- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/hydrogen.cc b/src/hydrogen.cc index d7394ff..60730ab 100644 --- a/src/hydrogen.cc +++ b/src/hydrogen.cc @@ -2416,23 +2416,15 @@ HValue* HGraphBuilder::BuildNewElementsCapacity(HValue* old_capacity) { } -void HGraphBuilder::BuildNewSpaceArrayCheck(HValue* length, ElementsKind kind) { - int element_size = IsFastDoubleElementsKind(kind) ? kDoubleSize - : kPointerSize; - int max_size = Page::kMaxRegularHeapObjectSize / element_size; - max_size -= JSArray::kSize / element_size; - HConstant* max_size_constant = Add(max_size); - Add(length, max_size_constant); -} - - HValue* HGraphBuilder::BuildGrowElementsCapacity(HValue* object, HValue* elements, ElementsKind kind, ElementsKind new_kind, HValue* length, HValue* new_capacity) { - BuildNewSpaceArrayCheck(new_capacity, new_kind); + Add(new_capacity, Add( + (Page::kMaxRegularHeapObjectSize - FixedArray::kHeaderSize) >> + ElementsKindToShiftSize(kind))); HValue* new_elements = BuildAllocateElementsAndInitializeElementsHeader( new_kind, new_capacity); diff --git a/src/hydrogen.h b/src/hydrogen.h index d20a817..060ccb9 100644 --- a/src/hydrogen.h +++ b/src/hydrogen.h @@ -1665,9 +1665,6 @@ class HGraphBuilder { HValue* BuildNewElementsCapacity(HValue* old_capacity); - void BuildNewSpaceArrayCheck(HValue* length, - ElementsKind kind); - class JSArrayBuilder V8_FINAL { public: JSArrayBuilder(HGraphBuilder* builder, -- 2.7.4