Commit 3976ebef authored by jarin@chromium.org's avatar jarin@chromium.org

Make new space iterable for --log-gc and --heap-stats options

R=hpayer@chromium.org
BUG=370827
TEST=test/mjsunit/regress/regress-370827.js
LOG=N

Review URL: https://codereview.chromium.org/272503005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent c02ad39c
...@@ -3825,19 +3825,18 @@ bool HAllocate::HandleSideEffectDominator(GVNFlag side_effect, ...@@ -3825,19 +3825,18 @@ bool HAllocate::HandleSideEffectDominator(GVNFlag side_effect,
dominator_allocate); dominator_allocate);
dominator_allocate->UpdateSize(new_dominator_size_constant); dominator_allocate->UpdateSize(new_dominator_size_constant);
bool keep_new_space_iterable = FLAG_log_gc || FLAG_heap_stats;
#ifdef VERIFY_HEAP #ifdef VERIFY_HEAP
if (FLAG_verify_heap && dominator_allocate->IsNewSpaceAllocation()) { keep_new_space_iterable = keep_new_space_iterable || FLAG_verify_heap;
#endif
if (keep_new_space_iterable && dominator_allocate->IsNewSpaceAllocation()) {
dominator_allocate->MakePrefillWithFiller(); dominator_allocate->MakePrefillWithFiller();
} else { } else {
// TODO(hpayer): This is a short-term hack to make allocation mementos // TODO(hpayer): This is a short-term hack to make allocation mementos
// work again in new space. // work again in new space.
dominator_allocate->ClearNextMapWord(original_object_size); dominator_allocate->ClearNextMapWord(original_object_size);
} }
#else
// TODO(hpayer): This is a short-term hack to make allocation mementos
// work again in new space.
dominator_allocate->ClearNextMapWord(original_object_size);
#endif
dominator_allocate->UpdateClearNextMapWord(MustClearNextMapWord()); dominator_allocate->UpdateClearNextMapWord(MustClearNextMapWord());
......
// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax --expose-gc --heap-stats
function g(dummy, x) {
var start = "";
if (x) { start = x + " - "; }
start = start + "array length";
};
function f() {
gc();
g([0.1]);
}
f();
%OptimizeFunctionOnNextCall(f);
f();
f();
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment