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 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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_pointer_space() { return old_pointer_space_; } | 644 OldSpace* old_pointer_space() { return old_pointer_space_; } |
645 OldSpace* old_data_space() { return old_data_space_; } | 645 OldSpace* old_data_space() { return old_data_space_; } |
646 OldSpace* code_space() { return code_space_; } | 646 OldSpace* code_space() { return code_space_; } |
647 MapSpace* map_space() { return map_space_; } | 647 MapSpace* map_space() { return map_space_; } |
648 CellSpace* cell_space() { return cell_space_; } | 648 CellSpace* cell_space() { return cell_space_; } |
649 PropertyCellSpace* property_cell_space() { return property_cell_space_; } | |
650 LargeObjectSpace* lo_space() { return lo_space_; } | 649 LargeObjectSpace* lo_space() { return lo_space_; } |
651 PagedSpace* paged_space(int idx) { | 650 PagedSpace* paged_space(int idx) { |
652 switch (idx) { | 651 switch (idx) { |
653 case OLD_POINTER_SPACE: | 652 case OLD_POINTER_SPACE: |
654 return old_pointer_space(); | 653 return old_pointer_space(); |
655 case OLD_DATA_SPACE: | 654 case OLD_DATA_SPACE: |
656 return old_data_space(); | 655 return old_data_space(); |
657 case MAP_SPACE: | 656 case MAP_SPACE: |
658 return map_space(); | 657 return map_space(); |
659 case CELL_SPACE: | 658 case CELL_SPACE: |
660 return cell_space(); | 659 return cell_space(); |
661 case PROPERTY_CELL_SPACE: | |
662 return property_cell_space(); | |
663 case CODE_SPACE: | 660 case CODE_SPACE: |
664 return code_space(); | 661 return code_space(); |
665 case NEW_SPACE: | 662 case NEW_SPACE: |
666 case LO_SPACE: | 663 case LO_SPACE: |
667 UNREACHABLE(); | 664 UNREACHABLE(); |
668 } | 665 } |
669 return NULL; | 666 return NULL; |
670 } | 667 } |
671 | 668 |
672 bool always_allocate() { return always_allocate_scope_depth_ != 0; } | 669 bool always_allocate() { return always_allocate_scope_depth_ != 0; } |
(...skipping 905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1578 int global_ic_age_; | 1575 int global_ic_age_; |
1579 | 1576 |
1580 int scan_on_scavenge_pages_; | 1577 int scan_on_scavenge_pages_; |
1581 | 1578 |
1582 NewSpace new_space_; | 1579 NewSpace new_space_; |
1583 OldSpace* old_pointer_space_; | 1580 OldSpace* old_pointer_space_; |
1584 OldSpace* old_data_space_; | 1581 OldSpace* old_data_space_; |
1585 OldSpace* code_space_; | 1582 OldSpace* code_space_; |
1586 MapSpace* map_space_; | 1583 MapSpace* map_space_; |
1587 CellSpace* cell_space_; | 1584 CellSpace* cell_space_; |
1588 PropertyCellSpace* property_cell_space_; | |
1589 LargeObjectSpace* lo_space_; | 1585 LargeObjectSpace* lo_space_; |
1590 HeapState gc_state_; | 1586 HeapState gc_state_; |
1591 int gc_post_processing_depth_; | 1587 int gc_post_processing_depth_; |
1592 Address new_space_top_after_last_gc_; | 1588 Address new_space_top_after_last_gc_; |
1593 | 1589 |
1594 // Returns the amount of external memory registered since last global gc. | 1590 // Returns the amount of external memory registered since last global gc. |
1595 int64_t PromotedExternalMemorySize(); | 1591 int64_t PromotedExternalMemorySize(); |
1596 | 1592 |
1597 // How many "runtime allocations" happened. | 1593 // How many "runtime allocations" happened. |
1598 uint32_t allocations_count_; | 1594 uint32_t allocations_count_; |
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2202 int* weak_global_handle_count; // 15 | 2198 int* weak_global_handle_count; // 15 |
2203 int* pending_global_handle_count; // 16 | 2199 int* pending_global_handle_count; // 16 |
2204 int* near_death_global_handle_count; // 17 | 2200 int* near_death_global_handle_count; // 17 |
2205 int* free_global_handle_count; // 18 | 2201 int* free_global_handle_count; // 18 |
2206 intptr_t* memory_allocator_size; // 19 | 2202 intptr_t* memory_allocator_size; // 19 |
2207 intptr_t* memory_allocator_capacity; // 20 | 2203 intptr_t* memory_allocator_capacity; // 20 |
2208 int* objects_per_type; // 21 | 2204 int* objects_per_type; // 21 |
2209 int* size_per_type; // 22 | 2205 int* size_per_type; // 22 |
2210 int* os_error; // 23 | 2206 int* os_error; // 23 |
2211 int* end_marker; // 24 | 2207 int* end_marker; // 24 |
2212 intptr_t* property_cell_space_size; // 25 | |
2213 intptr_t* property_cell_space_capacity; // 26 | |
2214 }; | 2208 }; |
2215 | 2209 |
2216 | 2210 |
2217 class AlwaysAllocateScope { | 2211 class AlwaysAllocateScope { |
2218 public: | 2212 public: |
2219 explicit inline AlwaysAllocateScope(Isolate* isolate); | 2213 explicit inline AlwaysAllocateScope(Isolate* isolate); |
2220 inline ~AlwaysAllocateScope(); | 2214 inline ~AlwaysAllocateScope(); |
2221 | 2215 |
2222 private: | 2216 private: |
2223 // Implicitly disable artificial allocation failures. | 2217 // Implicitly disable artificial allocation failures. |
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2624 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2618 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2625 | 2619 |
2626 private: | 2620 private: |
2627 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2621 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2628 }; | 2622 }; |
2629 #endif // DEBUG | 2623 #endif // DEBUG |
2630 } | 2624 } |
2631 } // namespace v8::internal | 2625 } // namespace v8::internal |
2632 | 2626 |
2633 #endif // V8_HEAP_HEAP_H_ | 2627 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |