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 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
638 // for all addresses in either semispace. | 638 // for all addresses in either semispace. |
639 Address NewSpaceStart() { return new_space_.start(); } | 639 Address NewSpaceStart() { return new_space_.start(); } |
640 uintptr_t NewSpaceMask() { return new_space_.mask(); } | 640 uintptr_t NewSpaceMask() { return new_space_.mask(); } |
641 Address NewSpaceTop() { return new_space_.top(); } | 641 Address NewSpaceTop() { return new_space_.top(); } |
642 | 642 |
643 NewSpace* new_space() { return &new_space_; } | 643 NewSpace* new_space() { return &new_space_; } |
644 OldSpace* old_space() { return old_space_; } | 644 OldSpace* old_space() { return old_space_; } |
645 OldSpace* code_space() { return code_space_; } | 645 OldSpace* code_space() { return code_space_; } |
646 MapSpace* map_space() { return map_space_; } | 646 MapSpace* map_space() { return map_space_; } |
647 CellSpace* cell_space() { return cell_space_; } | 647 CellSpace* cell_space() { return cell_space_; } |
648 PropertyCellSpace* property_cell_space() { return property_cell_space_; } | |
649 LargeObjectSpace* lo_space() { return lo_space_; } | 648 LargeObjectSpace* lo_space() { return lo_space_; } |
650 PagedSpace* paged_space(int idx) { | 649 PagedSpace* paged_space(int idx) { |
651 switch (idx) { | 650 switch (idx) { |
652 case OLD_SPACE: | 651 case OLD_SPACE: |
653 return old_space(); | 652 return old_space(); |
654 case MAP_SPACE: | 653 case MAP_SPACE: |
655 return map_space(); | 654 return map_space(); |
656 case CELL_SPACE: | 655 case CELL_SPACE: |
657 return cell_space(); | 656 return cell_space(); |
658 case PROPERTY_CELL_SPACE: | |
659 return property_cell_space(); | |
660 case CODE_SPACE: | 657 case CODE_SPACE: |
661 return code_space(); | 658 return code_space(); |
662 case NEW_SPACE: | 659 case NEW_SPACE: |
663 case LO_SPACE: | 660 case LO_SPACE: |
664 UNREACHABLE(); | 661 UNREACHABLE(); |
665 } | 662 } |
666 return NULL; | 663 return NULL; |
667 } | 664 } |
668 | 665 |
669 bool always_allocate() { return always_allocate_scope_depth_ != 0; } | 666 bool always_allocate() { return always_allocate_scope_depth_ != 0; } |
(...skipping 889 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1559 | 1556 |
1560 int global_ic_age_; | 1557 int global_ic_age_; |
1561 | 1558 |
1562 int scan_on_scavenge_pages_; | 1559 int scan_on_scavenge_pages_; |
1563 | 1560 |
1564 NewSpace new_space_; | 1561 NewSpace new_space_; |
1565 OldSpace* old_space_; | 1562 OldSpace* old_space_; |
1566 OldSpace* code_space_; | 1563 OldSpace* code_space_; |
1567 MapSpace* map_space_; | 1564 MapSpace* map_space_; |
1568 CellSpace* cell_space_; | 1565 CellSpace* cell_space_; |
1569 PropertyCellSpace* property_cell_space_; | |
1570 LargeObjectSpace* lo_space_; | 1566 LargeObjectSpace* lo_space_; |
1571 HeapState gc_state_; | 1567 HeapState gc_state_; |
1572 int gc_post_processing_depth_; | 1568 int gc_post_processing_depth_; |
1573 Address new_space_top_after_last_gc_; | 1569 Address new_space_top_after_last_gc_; |
1574 | 1570 |
1575 // Returns the amount of external memory registered since last global gc. | 1571 // Returns the amount of external memory registered since last global gc. |
1576 int64_t PromotedExternalMemorySize(); | 1572 int64_t PromotedExternalMemorySize(); |
1577 | 1573 |
1578 // How many "runtime allocations" happened. | 1574 // How many "runtime allocations" happened. |
1579 uint32_t allocations_count_; | 1575 uint32_t allocations_count_; |
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2178 int* weak_global_handle_count; // 13 | 2174 int* weak_global_handle_count; // 13 |
2179 int* pending_global_handle_count; // 14 | 2175 int* pending_global_handle_count; // 14 |
2180 int* near_death_global_handle_count; // 15 | 2176 int* near_death_global_handle_count; // 15 |
2181 int* free_global_handle_count; // 16 | 2177 int* free_global_handle_count; // 16 |
2182 intptr_t* memory_allocator_size; // 17 | 2178 intptr_t* memory_allocator_size; // 17 |
2183 intptr_t* memory_allocator_capacity; // 18 | 2179 intptr_t* memory_allocator_capacity; // 18 |
2184 int* objects_per_type; // 19 | 2180 int* objects_per_type; // 19 |
2185 int* size_per_type; // 20 | 2181 int* size_per_type; // 20 |
2186 int* os_error; // 21 | 2182 int* os_error; // 21 |
2187 int* end_marker; // 22 | 2183 int* end_marker; // 22 |
2188 intptr_t* property_cell_space_size; // 23 | |
2189 intptr_t* property_cell_space_capacity; // 24 | |
2190 }; | 2184 }; |
2191 | 2185 |
2192 | 2186 |
2193 class AlwaysAllocateScope { | 2187 class AlwaysAllocateScope { |
2194 public: | 2188 public: |
2195 explicit inline AlwaysAllocateScope(Isolate* isolate); | 2189 explicit inline AlwaysAllocateScope(Isolate* isolate); |
2196 inline ~AlwaysAllocateScope(); | 2190 inline ~AlwaysAllocateScope(); |
2197 | 2191 |
2198 private: | 2192 private: |
2199 // Implicitly disable artificial allocation failures. | 2193 // Implicitly disable artificial allocation failures. |
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2599 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2593 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2600 | 2594 |
2601 private: | 2595 private: |
2602 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2596 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2603 }; | 2597 }; |
2604 #endif // DEBUG | 2598 #endif // DEBUG |
2605 } | 2599 } |
2606 } // namespace v8::internal | 2600 } // namespace v8::internal |
2607 | 2601 |
2608 #endif // V8_HEAP_HEAP_H_ | 2602 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |