3795f5bbfc
Also makes memory-chunk.h accessible from outside heap which allows removal of some heap-inl.h includes. Bug: v8:10473, v8:10496 Change-Id: Iec4fc5ce8ad201f6ee5fd924cc3cd935324429fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172088 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67551}
51 lines
1.7 KiB
C++
51 lines
1.7 KiB
C++
// Copyright 2020 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.
|
|
|
|
#ifndef V8_HEAP_MEMORY_CHUNK_INL_H_
|
|
#define V8_HEAP_MEMORY_CHUNK_INL_H_
|
|
|
|
#include "src/heap/memory-chunk.h"
|
|
#include "src/heap/spaces-inl.h"
|
|
|
|
namespace v8 {
|
|
namespace internal {
|
|
|
|
void MemoryChunk::IncrementExternalBackingStoreBytes(
|
|
ExternalBackingStoreType type, size_t amount) {
|
|
#ifndef V8_ENABLE_THIRD_PARTY_HEAP
|
|
base::CheckedIncrement(&external_backing_store_bytes_[type], amount);
|
|
owner()->IncrementExternalBackingStoreBytes(type, amount);
|
|
#endif
|
|
}
|
|
|
|
void MemoryChunk::DecrementExternalBackingStoreBytes(
|
|
ExternalBackingStoreType type, size_t amount) {
|
|
#ifndef V8_ENABLE_THIRD_PARTY_HEAP
|
|
base::CheckedDecrement(&external_backing_store_bytes_[type], amount);
|
|
owner()->DecrementExternalBackingStoreBytes(type, amount);
|
|
#endif
|
|
}
|
|
|
|
void MemoryChunk::MoveExternalBackingStoreBytes(ExternalBackingStoreType type,
|
|
MemoryChunk* from,
|
|
MemoryChunk* to,
|
|
size_t amount) {
|
|
DCHECK_NOT_NULL(from->owner());
|
|
DCHECK_NOT_NULL(to->owner());
|
|
base::CheckedDecrement(&(from->external_backing_store_bytes_[type]), amount);
|
|
base::CheckedIncrement(&(to->external_backing_store_bytes_[type]), amount);
|
|
Space::MoveExternalBackingStoreBytes(type, from->owner(), to->owner(),
|
|
amount);
|
|
}
|
|
|
|
AllocationSpace MemoryChunk::owner_identity() const {
|
|
if (InReadOnlySpace()) return RO_SPACE;
|
|
return owner()->identity();
|
|
}
|
|
|
|
} // namespace internal
|
|
} // namespace v8
|
|
|
|
#endif // V8_HEAP_MEMORY_CHUNK_INL_H_
|