| Index: src/heap/heap.h
|
| diff --git a/src/heap/heap.h b/src/heap/heap.h
|
| index dcf7bdea0ac812972304bd382d52b0a1f4c5eff2..d60a3f079b035e1e6bf98b5a944dbe33b3023452 100644
|
| --- a/src/heap/heap.h
|
| +++ b/src/heap/heap.h
|
| @@ -883,6 +883,13 @@
|
| return last_array_buffer_in_list_;
|
| }
|
|
|
| + void set_new_array_buffer_views_list(Object* object) {
|
| + new_array_buffer_views_list_ = object;
|
| + }
|
| + Object* new_array_buffer_views_list() const {
|
| + return new_array_buffer_views_list_;
|
| + }
|
| +
|
| void set_allocation_sites_list(Object* object) {
|
| allocation_sites_list_ = object;
|
| }
|
| @@ -1489,6 +1496,18 @@
|
|
|
| bool deserialization_complete() const { return deserialization_complete_; }
|
|
|
| + bool migration_failure() const { return migration_failure_; }
|
| + void set_migration_failure(bool migration_failure) {
|
| + migration_failure_ = migration_failure;
|
| + }
|
| +
|
| + bool previous_migration_failure() const {
|
| + return previous_migration_failure_;
|
| + }
|
| + void set_previous_migration_failure(bool previous_migration_failure) {
|
| + previous_migration_failure_ = previous_migration_failure;
|
| + }
|
| +
|
| protected:
|
| // Methods made available to tests.
|
|
|
| @@ -1662,6 +1681,11 @@
|
| Object* array_buffers_list_;
|
| Object* last_array_buffer_in_list_;
|
| Object* allocation_sites_list_;
|
| +
|
| + // This is a global list of array buffer views in new space. When the views
|
| + // get promoted, they are removed form the list and added to the corresponding
|
| + // array buffer.
|
| + Object* new_array_buffer_views_list_;
|
|
|
| // List of encountered weak collections (JSWeakMap and JSWeakSet) during
|
| // marking. It is initialized during marking, destroyed after marking and
|
| @@ -1993,6 +2017,7 @@
|
|
|
| void ProcessNativeContexts(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
|
| @@ -2151,6 +2176,13 @@
|
| bool deserialization_complete_;
|
|
|
| bool concurrent_sweeping_enabled_;
|
| +
|
| + // A migration failure indicates that a semi-space copy of an object during
|
| + // a scavenge failed and the object got promoted instead.
|
| + bool migration_failure_;
|
| +
|
| + // A migration failure happened in the previous scavenge.
|
| + bool previous_migration_failure_;
|
|
|
| friend class AlwaysAllocateScope;
|
| friend class Deserializer;
|
|
|