| Index: src/heap/heap.h
|
| diff --git a/src/heap/heap.h b/src/heap/heap.h
|
| index ebeab181dc06670477d12df7e693d697b81a2121..9dd4b1466272b534b98c2f10d97a8855c749dd77 100644
|
| --- a/src/heap/heap.h
|
| +++ b/src/heap/heap.h
|
| @@ -881,6 +881,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;
|
| }
|
| @@ -1487,6 +1494,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.
|
|
|
| @@ -1660,6 +1679,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
|
| @@ -1991,6 +2015,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
|
| @@ -2149,6 +2174,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;
|
|
|