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 931 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
942 Object* encountered_weak_collections() const { | 942 Object* encountered_weak_collections() const { |
943 return encountered_weak_collections_; | 943 return encountered_weak_collections_; |
944 } | 944 } |
945 | 945 |
946 void set_encountered_weak_cells(Object* weak_cell) { | 946 void set_encountered_weak_cells(Object* weak_cell) { |
947 encountered_weak_cells_ = weak_cell; | 947 encountered_weak_cells_ = weak_cell; |
948 } | 948 } |
949 Object* encountered_weak_cells() const { return encountered_weak_cells_; } | 949 Object* encountered_weak_cells() const { return encountered_weak_cells_; } |
950 | 950 |
951 // Number of mark-sweeps. | 951 // Number of mark-sweeps. |
952 unsigned int ms_count() { return ms_count_; } | 952 int ms_count() const { return ms_count_; } |
953 | 953 |
954 // Iterates over all roots in the heap. | 954 // Iterates over all roots in the heap. |
955 void IterateRoots(ObjectVisitor* v, VisitMode mode); | 955 void IterateRoots(ObjectVisitor* v, VisitMode mode); |
956 // Iterates over all strong roots in the heap. | 956 // Iterates over all strong roots in the heap. |
957 void IterateStrongRoots(ObjectVisitor* v, VisitMode mode); | 957 void IterateStrongRoots(ObjectVisitor* v, VisitMode mode); |
958 // Iterates over entries in the smi roots list. Only interesting to the | 958 // Iterates over entries in the smi roots list. Only interesting to the |
959 // serializer/deserializer, since GC does not care about smis. | 959 // serializer/deserializer, since GC does not care about smis. |
960 void IterateSmiRoots(ObjectVisitor* v); | 960 void IterateSmiRoots(ObjectVisitor* v); |
961 // Iterates over all the other roots in the heap. | 961 // Iterates over all the other roots in the heap. |
962 void IterateWeakRoots(ObjectVisitor* v, VisitMode mode); | 962 void IterateWeakRoots(ObjectVisitor* v, VisitMode mode); |
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1412 } | 1412 } |
1413 | 1413 |
1414 StoreBuffer* store_buffer() { return &store_buffer_; } | 1414 StoreBuffer* store_buffer() { return &store_buffer_; } |
1415 | 1415 |
1416 IncrementalMarking* incremental_marking() { return &incremental_marking_; } | 1416 IncrementalMarking* incremental_marking() { return &incremental_marking_; } |
1417 | 1417 |
1418 ExternalStringTable* external_string_table() { | 1418 ExternalStringTable* external_string_table() { |
1419 return &external_string_table_; | 1419 return &external_string_table_; |
1420 } | 1420 } |
1421 | 1421 |
1422 // Returns the current sweep generation. | |
1423 int sweep_generation() { return sweep_generation_; } | |
1424 | |
1425 bool concurrent_sweeping_enabled() { return concurrent_sweeping_enabled_; } | 1422 bool concurrent_sweeping_enabled() { return concurrent_sweeping_enabled_; } |
1426 | 1423 |
1427 inline Isolate* isolate(); | 1424 inline Isolate* isolate(); |
1428 | 1425 |
1429 void CallGCPrologueCallbacks(GCType gc_type, GCCallbackFlags flags); | 1426 void CallGCPrologueCallbacks(GCType gc_type, GCCallbackFlags flags); |
1430 void CallGCEpilogueCallbacks(GCType gc_type, GCCallbackFlags flags); | 1427 void CallGCEpilogueCallbacks(GCType gc_type, GCCallbackFlags flags); |
1431 | 1428 |
1432 inline bool OldGenerationAllocationLimitReached(); | 1429 inline bool OldGenerationAllocationLimitReached(); |
1433 | 1430 |
1434 void QueueMemoryChunkForFree(MemoryChunk* chunk); | 1431 void QueueMemoryChunkForFree(MemoryChunk* chunk); |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1695 intptr_t max_executable_size_; | 1692 intptr_t max_executable_size_; |
1696 intptr_t maximum_committed_; | 1693 intptr_t maximum_committed_; |
1697 | 1694 |
1698 // For keeping track of how much data has survived | 1695 // For keeping track of how much data has survived |
1699 // scavenge since last new space expansion. | 1696 // scavenge since last new space expansion. |
1700 int survived_since_last_expansion_; | 1697 int survived_since_last_expansion_; |
1701 | 1698 |
1702 // ... and since the last scavenge. | 1699 // ... and since the last scavenge. |
1703 int survived_last_scavenge_; | 1700 int survived_last_scavenge_; |
1704 | 1701 |
1705 // For keeping track on when to flush RegExp code. | |
1706 int sweep_generation_; | |
1707 | |
1708 int always_allocate_scope_depth_; | 1702 int always_allocate_scope_depth_; |
1709 | 1703 |
1710 // For keeping track of context disposals. | 1704 // For keeping track of context disposals. |
1711 int contexts_disposed_; | 1705 int contexts_disposed_; |
1712 | 1706 |
1713 int global_ic_age_; | 1707 int global_ic_age_; |
1714 | 1708 |
1715 int scan_on_scavenge_pages_; | 1709 int scan_on_scavenge_pages_; |
1716 | 1710 |
1717 NewSpace new_space_; | 1711 NewSpace new_space_; |
(...skipping 991 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2709 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2703 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2710 | 2704 |
2711 private: | 2705 private: |
2712 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2706 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2713 }; | 2707 }; |
2714 #endif // DEBUG | 2708 #endif // DEBUG |
2715 } | 2709 } |
2716 } // namespace v8::internal | 2710 } // namespace v8::internal |
2717 | 2711 |
2718 #endif // V8_HEAP_HEAP_H_ | 2712 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |