Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1349)

Unified Diff: src/heap/spaces.h

Issue 2036643002: Reland "[heap] Fine-grained JSArrayBuffer tracking" (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Remove unneeded locking to avoid lock-inversion-order errors in TSAN Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/heap/scavenger.cc ('k') | src/heap/spaces.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap/spaces.h
diff --git a/src/heap/spaces.h b/src/heap/spaces.h
index a85dce5985021bb1145334789d4f900586442252..30ffe11f888c3dfe136012a58d0660e437edb1b7 100644
--- a/src/heap/spaces.h
+++ b/src/heap/spaces.h
@@ -27,6 +27,7 @@ class CompactionSpace;
class CompactionSpaceCollection;
class FreeList;
class Isolate;
+class LocalArrayBufferTracker;
class MemoryAllocator;
class MemoryChunk;
class Page;
@@ -528,7 +529,8 @@ class MemoryChunk {
+ kPointerSize // AtomicValue next_chunk_
+ kPointerSize // AtomicValue prev_chunk_
// FreeListCategory categories_[kNumberOfCategories]
- + FreeListCategory::kSize * kNumberOfCategories;
+ + FreeListCategory::kSize * kNumberOfCategories +
+ kPointerSize; // LocalArrayBufferTracker* local_tracker_;
// We add some more space to the computed header size to amount for missing
// alignment requirements in our computation.
@@ -638,6 +640,7 @@ class MemoryChunk {
inline TypedSlotSet* typed_old_to_old_slots() {
return typed_old_to_old_slots_;
}
+ inline LocalArrayBufferTracker* local_tracker() { return local_tracker_; }
void AllocateOldToNewSlots();
void ReleaseOldToNewSlots();
@@ -647,6 +650,8 @@ class MemoryChunk {
void ReleaseTypedOldToNewSlots();
void AllocateTypedOldToOldSlots();
void ReleaseTypedOldToOldSlots();
+ void AllocateLocalTracker();
+ void ReleaseLocalTracker();
Address area_start() { return area_start_; }
Address area_end() { return area_end_; }
@@ -833,6 +838,8 @@ class MemoryChunk {
FreeListCategory categories_[kNumberOfCategories];
+ LocalArrayBufferTracker* local_tracker_;
+
private:
void InitializeReservedMemory() { reservation_.Reset(); }
« no previous file with comments | « src/heap/scavenger.cc ('k') | src/heap/spaces.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698