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

Unified Diff: src/heap/heap.h

Issue 904633003: Just visit young array buffers during scavenge. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 10 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
Index: src/heap/heap.h
diff --git a/src/heap/heap.h b/src/heap/heap.h
index aa9358fa799e166d4c7b0da241fdc30dde999924..9a6a1af2b8a80c7774a0150a5a7e5540574fdfc8 100644
--- a/src/heap/heap.h
+++ b/src/heap/heap.h
@@ -844,6 +844,13 @@ class Heap {
void set_array_buffers_list(Object* object) { array_buffers_list_ = object; }
Object* array_buffers_list() const { return array_buffers_list_; }
+ void set_new_array_buffers_view_list(Object* object) {
+ new_array_buffers_view_list_ = object;
+ }
+ Object* new_array_buffers_view_list() const {
+ return new_array_buffers_view_list_;
+ }
+
void set_allocation_sites_list(Object* object) {
allocation_sites_list_ = object;
}
@@ -1444,6 +1451,11 @@ class Heap {
bool deserialization_complete() const { return deserialization_complete_; }
+ bool promotion_failure() const { return promotion_failure_; }
+ void set_promotion_failure(bool promotion_failure) {
+ promotion_failure_ = promotion_failure;
+ }
+
protected:
// Methods made available to tests.
@@ -1612,6 +1624,7 @@ class Heap {
// List heads are initilized lazily and contain the undefined_value at start.
Object* native_contexts_list_;
Object* array_buffers_list_;
+ Object* new_array_buffers_view_list_;
Object* allocation_sites_list_;
// WeakHashTable that maps objects embedded in optimized code to dependent
@@ -1951,7 +1964,8 @@ class Heap {
void MarkCompactEpilogue();
void ProcessNativeContexts(WeakObjectRetainer* retainer);
- void ProcessArrayBuffers(WeakObjectRetainer* retainer);
+ void ProcessArrayBuffers(WeakObjectRetainer* retainer, bool stop_after_young);
+ void ProcessNewArrayBufferViews(WeakObjectRetainer* retainer);
void ProcessAllocationSites(WeakObjectRetainer* retainer);
// Deopts all code that contains allocation instruction which are tenured or
@@ -2124,6 +2138,8 @@ class Heap {
bool deserialization_complete_;
+ bool promotion_failure_;
+
friend class AlwaysAllocateScope;
friend class Deserializer;
friend class Factory;
« no previous file with comments | « src/factory.cc ('k') | src/heap/heap.cc » ('j') | src/runtime/runtime-typedarray.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698