OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_HEAP_HEAP_H_ | 5 #ifndef V8_HEAP_HEAP_H_ |
6 #define V8_HEAP_HEAP_H_ | 6 #define V8_HEAP_HEAP_H_ |
7 | 7 |
8 #include <cmath> | 8 #include <cmath> |
9 #include <map> | 9 #include <map> |
10 | 10 |
(...skipping 1609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1620 } | 1620 } |
1621 | 1621 |
1622 inline bool ShouldAbortIncrementalMarking() const { | 1622 inline bool ShouldAbortIncrementalMarking() const { |
1623 return current_gc_flags_ & kAbortIncrementalMarkingMask; | 1623 return current_gc_flags_ & kAbortIncrementalMarkingMask; |
1624 } | 1624 } |
1625 | 1625 |
1626 inline bool ShouldFinalizeIncrementalMarking() const { | 1626 inline bool ShouldFinalizeIncrementalMarking() const { |
1627 return current_gc_flags_ & kFinalizeIncrementalMarkingMask; | 1627 return current_gc_flags_ & kFinalizeIncrementalMarkingMask; |
1628 } | 1628 } |
1629 | 1629 |
1630 // Checks whether both, the internal marking deque, and the embedder provided | |
1631 // one are empty. Avoid in fast path as it potentially calls through the API. | |
1632 bool MarkingDequesAreEmpty(); | |
1633 | |
1634 void PreprocessStackTraces(); | 1630 void PreprocessStackTraces(); |
1635 | 1631 |
1636 // Checks whether a global GC is necessary | 1632 // Checks whether a global GC is necessary |
1637 GarbageCollector SelectGarbageCollector(AllocationSpace space, | 1633 GarbageCollector SelectGarbageCollector(AllocationSpace space, |
1638 const char** reason); | 1634 const char** reason); |
1639 | 1635 |
1640 // Make sure there is a filler value behind the top of the new space | 1636 // Make sure there is a filler value behind the top of the new space |
1641 // so that the GC does not confuse some unintialized/stale memory | 1637 // so that the GC does not confuse some unintialized/stale memory |
1642 // with the allocation memento of the object at the top | 1638 // with the allocation memento of the object at the top |
1643 void EnsureFillerObjectAtTop(); | 1639 void EnsureFillerObjectAtTop(); |
(...skipping 1016 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2660 friend class LargeObjectSpace; | 2656 friend class LargeObjectSpace; |
2661 friend class NewSpace; | 2657 friend class NewSpace; |
2662 friend class PagedSpace; | 2658 friend class PagedSpace; |
2663 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2659 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
2664 }; | 2660 }; |
2665 | 2661 |
2666 } // namespace internal | 2662 } // namespace internal |
2667 } // namespace v8 | 2663 } // namespace v8 |
2668 | 2664 |
2669 #endif // V8_HEAP_HEAP_H_ | 2665 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |