| 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_H_ | 5 #ifndef V8_HEAP_H_ |
| 6 #define V8_HEAP_H_ | 6 #define V8_HEAP_H_ |
| 7 | 7 |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 | 9 |
| 10 #include "allocation.h" | 10 #include "allocation.h" |
| (...skipping 815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 826 INTERNALIZED_STRING_LIST(STRING_ACCESSOR) | 826 INTERNALIZED_STRING_LIST(STRING_ACCESSOR) |
| 827 #undef STRING_ACCESSOR | 827 #undef STRING_ACCESSOR |
| 828 | 828 |
| 829 // The hidden_string is special because it is the empty string, but does | 829 // The hidden_string is special because it is the empty string, but does |
| 830 // not match the empty string. | 830 // not match the empty string. |
| 831 String* hidden_string() { return hidden_string_; } | 831 String* hidden_string() { return hidden_string_; } |
| 832 | 832 |
| 833 void set_native_contexts_list(Object* object) { | 833 void set_native_contexts_list(Object* object) { |
| 834 native_contexts_list_ = object; | 834 native_contexts_list_ = object; |
| 835 } | 835 } |
| 836 Object* native_contexts_list() { return native_contexts_list_; } | 836 Object* native_contexts_list() const { return native_contexts_list_; } |
| 837 | 837 |
| 838 void set_array_buffers_list(Object* object) { | 838 void set_array_buffers_list(Object* object) { |
| 839 array_buffers_list_ = object; | 839 array_buffers_list_ = object; |
| 840 } | 840 } |
| 841 Object* array_buffers_list() { return array_buffers_list_; } | 841 Object* array_buffers_list() const { return array_buffers_list_; } |
| 842 | 842 |
| 843 void set_allocation_sites_list(Object* object) { | 843 void set_allocation_sites_list(Object* object) { |
| 844 allocation_sites_list_ = object; | 844 allocation_sites_list_ = object; |
| 845 } | 845 } |
| 846 Object* allocation_sites_list() { return allocation_sites_list_; } | 846 Object* allocation_sites_list() { return allocation_sites_list_; } |
| 847 |
| 848 // Used in CreateAllocationSiteStub and the (de)serializer. |
| 847 Object** allocation_sites_list_address() { return &allocation_sites_list_; } | 849 Object** allocation_sites_list_address() { return &allocation_sites_list_; } |
| 848 | 850 |
| 849 Object* weak_object_to_code_table() { return weak_object_to_code_table_; } | 851 Object* weak_object_to_code_table() { return weak_object_to_code_table_; } |
| 850 | 852 |
| 851 // Number of mark-sweeps. | 853 // Number of mark-sweeps. |
| 852 unsigned int ms_count() { return ms_count_; } | 854 unsigned int ms_count() { return ms_count_; } |
| 853 | 855 |
| 854 // Iterates over all roots in the heap. | 856 // Iterates over all roots in the heap. |
| 855 void IterateRoots(ObjectVisitor* v, VisitMode mode); | 857 void IterateRoots(ObjectVisitor* v, VisitMode mode); |
| 856 // Iterates over all strong roots in the heap. | 858 // Iterates over all strong roots in the heap. |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 929 roots_[kMaterializedObjectsRootIndex] = objects; | 931 roots_[kMaterializedObjectsRootIndex] = objects; |
| 930 } | 932 } |
| 931 | 933 |
| 932 // Generated code can embed this address to get access to the roots. | 934 // Generated code can embed this address to get access to the roots. |
| 933 Object** roots_array_start() { return roots_; } | 935 Object** roots_array_start() { return roots_; } |
| 934 | 936 |
| 935 Address* store_buffer_top_address() { | 937 Address* store_buffer_top_address() { |
| 936 return reinterpret_cast<Address*>(&roots_[kStoreBufferTopRootIndex]); | 938 return reinterpret_cast<Address*>(&roots_[kStoreBufferTopRootIndex]); |
| 937 } | 939 } |
| 938 | 940 |
| 939 // Get address of native contexts list for serialization support. | |
| 940 Object** native_contexts_list_address() { | |
| 941 return &native_contexts_list_; | |
| 942 } | |
| 943 | |
| 944 #ifdef VERIFY_HEAP | 941 #ifdef VERIFY_HEAP |
| 945 // Verify the heap is in its normal state before or after a GC. | 942 // Verify the heap is in its normal state before or after a GC. |
| 946 void Verify(); | 943 void Verify(); |
| 947 | 944 |
| 948 | 945 |
| 949 bool weak_embedded_objects_verification_enabled() { | 946 bool weak_embedded_objects_verification_enabled() { |
| 950 return no_weak_object_verification_scope_depth_ == 0; | 947 return no_weak_object_verification_scope_depth_ == 0; |
| 951 } | 948 } |
| 952 #endif | 949 #endif |
| 953 | 950 |
| (...skipping 1867 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2821 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2818 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
| 2822 | 2819 |
| 2823 private: | 2820 private: |
| 2824 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2821 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
| 2825 }; | 2822 }; |
| 2826 #endif // DEBUG | 2823 #endif // DEBUG |
| 2827 | 2824 |
| 2828 } } // namespace v8::internal | 2825 } } // namespace v8::internal |
| 2829 | 2826 |
| 2830 #endif // V8_HEAP_H_ | 2827 #endif // V8_HEAP_H_ |
| OLD | NEW |