Revert of [heap] Clear out of live range remembered set slots in large objects. (patchset #2 id:20001 of https://codereview.chromium.org/2043713006/ )
Reason for revert: Fails arm sim: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim/builds/1012 Original issue's description: > [heap] Clear out of live range remembered set slots in large objects. > > BUG=chromium:617882 > LOG=n > > Committed: https://crrev.com/38ad63ff15d7e379423be4c57ae94ae2c9ffb4af > Cr-Commit-Position: refs/heads/master@{#36795} TBR=ulan@chromium.org,hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:617882 Review-Url: https://codereview.chromium.org/2042403002 Cr-Commit-Position: refs/heads/master@{#36799}
This commit is contained in:
parent
839f3fd406
commit
67af060318
@ -2947,19 +2947,6 @@ Address LargePage::GetAddressToShrink() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void LargePage::ClearOutOfLiveRangeSlots(Address free_start) {
|
||||
if (old_to_new_slots() != nullptr) {
|
||||
old_to_new_slots()->RemoveRange(
|
||||
static_cast<int>(free_start - address()),
|
||||
static_cast<int>(free_start + size() - address()));
|
||||
}
|
||||
if (old_to_old_slots() != nullptr) {
|
||||
old_to_old_slots()->RemoveRange(
|
||||
static_cast<int>(free_start - address()),
|
||||
static_cast<int>(free_start + size() - address()));
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// LargeObjectIterator
|
||||
|
||||
@ -3139,7 +3126,6 @@ void LargeObjectSpace::FreeUnmarkedObjects() {
|
||||
Address free_start;
|
||||
if ((free_start = current->GetAddressToShrink()) != 0) {
|
||||
// TODO(hpayer): Perform partial free concurrently.
|
||||
current->ClearOutOfLiveRangeSlots(free_start);
|
||||
heap()->memory_allocator()->PartialFreeMemory(current, free_start);
|
||||
RemoveChunkMapEntries(current, free_start);
|
||||
}
|
||||
|
@ -1004,8 +1004,6 @@ class LargePage : public MemoryChunk {
|
||||
// cannot be shrunk 0 is returned.
|
||||
Address GetAddressToShrink();
|
||||
|
||||
void ClearOutOfLiveRangeSlots(Address free_start);
|
||||
|
||||
// A limit to guarantee that we do not overflow typed slot offset in
|
||||
// the old to old remembered set.
|
||||
// Note that this limit is higher than what assembler already imposes on
|
||||
|
@ -1,29 +0,0 @@
|
||||
// Copyright 2016 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: --invoke-weak-callbacks --omit-quit --gc-interval=355 --expose-debug-as=debug
|
||||
|
||||
var __v_33 = {};
|
||||
__v_4 = 70000;
|
||||
function __f_18() {
|
||||
if ((__v_7 % 50) != 0) {
|
||||
} else {
|
||||
return __v_33 + 0.5;
|
||||
}
|
||||
}
|
||||
function __f_17(a) {
|
||||
for (var __v_7= 0; __v_7 < __v_4; ++__v_7 ) {
|
||||
a[__v_7] = __f_18();
|
||||
}
|
||||
}
|
||||
for (var __v_7= 0; __v_7 < __v_4; __v_7 += 500 ) {
|
||||
}
|
||||
__v_9 = new Array();
|
||||
__f_17(__v_9);
|
||||
__v_9.length = 100;
|
||||
Debug = debug.Debug
|
||||
function __f_26() {
|
||||
}
|
||||
__v_29 = "(function() {\
|
||||
})()";
|
Loading…
Reference in New Issue
Block a user