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 614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
625 static double HeapGrowingFactor(double gc_speed, double mutator_speed); | 625 static double HeapGrowingFactor(double gc_speed, double mutator_speed); |
626 | 626 |
627 // Copy block of memory from src to dst. Size of block should be aligned | 627 // Copy block of memory from src to dst. Size of block should be aligned |
628 // by pointer size. | 628 // by pointer size. |
629 static inline void CopyBlock(Address dst, Address src, int byte_size); | 629 static inline void CopyBlock(Address dst, Address src, int byte_size); |
630 | 630 |
631 // Determines a static visitor id based on the given {map} that can then be | 631 // Determines a static visitor id based on the given {map} that can then be |
632 // stored on the map to facilitate fast dispatch for {StaticVisitorBase}. | 632 // stored on the map to facilitate fast dispatch for {StaticVisitorBase}. |
633 static int GetStaticVisitorIdForMap(Map* map); | 633 static int GetStaticVisitorIdForMap(Map* map); |
634 | 634 |
635 // We cannot avoid stale handles to left-trimmed objects, but can only make | |
636 // sure all handles still needed are updated. Filter out a stale pointer | |
637 // and clear the slot to allow post processing of handles (needed because | |
638 // the sweeper might actually free the underlying page). | |
639 inline bool PurgeLeftTrimmedObject(Object** object); | |
640 | |
641 // Notifies the heap that is ok to start marking or other activities that | 635 // Notifies the heap that is ok to start marking or other activities that |
642 // should not happen during deserialization. | 636 // should not happen during deserialization. |
643 void NotifyDeserializationComplete(); | 637 void NotifyDeserializationComplete(); |
644 | 638 |
645 intptr_t old_generation_allocation_limit() const { | 639 intptr_t old_generation_allocation_limit() const { |
646 return old_generation_allocation_limit_; | 640 return old_generation_allocation_limit_; |
647 } | 641 } |
648 | 642 |
649 bool always_allocate() { return always_allocate_scope_count_.Value() != 0; } | 643 bool always_allocate() { return always_allocate_scope_count_.Value() != 0; } |
650 | 644 |
(...skipping 2047 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2698 friend class LargeObjectSpace; | 2692 friend class LargeObjectSpace; |
2699 friend class NewSpace; | 2693 friend class NewSpace; |
2700 friend class PagedSpace; | 2694 friend class PagedSpace; |
2701 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); | 2695 DISALLOW_COPY_AND_ASSIGN(AllocationObserver); |
2702 }; | 2696 }; |
2703 | 2697 |
2704 } // namespace internal | 2698 } // namespace internal |
2705 } // namespace v8 | 2699 } // namespace v8 |
2706 | 2700 |
2707 #endif // V8_HEAP_HEAP_H_ | 2701 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |