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 1193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1204 kStringTableRootIndex, | 1204 kStringTableRootIndex, |
1205 | 1205 |
1206 #define ROOT_INDEX_DECLARATION(type, name, camel_name) k##camel_name##RootIndex, | 1206 #define ROOT_INDEX_DECLARATION(type, name, camel_name) k##camel_name##RootIndex, |
1207 SMI_ROOT_LIST(ROOT_INDEX_DECLARATION) | 1207 SMI_ROOT_LIST(ROOT_INDEX_DECLARATION) |
1208 #undef ROOT_INDEX_DECLARATION | 1208 #undef ROOT_INDEX_DECLARATION |
1209 kRootListLength, | 1209 kRootListLength, |
1210 kStrongRootListLength = kStringTableRootIndex, | 1210 kStrongRootListLength = kStringTableRootIndex, |
1211 kSmiRootsStart = kStringTableRootIndex + 1 | 1211 kSmiRootsStart = kStringTableRootIndex + 1 |
1212 }; | 1212 }; |
1213 | 1213 |
1214 // Get the root list index for {object} if such a root list index exists. | |
1215 bool GetRootListIndex(Handle<HeapObject> object, | |
1216 Heap::RootListIndex* index_return); | |
1217 | |
1218 Object* root(RootListIndex index) { return roots_[index]; } | 1214 Object* root(RootListIndex index) { return roots_[index]; } |
1219 | 1215 |
1220 STATIC_ASSERT(kUndefinedValueRootIndex == | 1216 STATIC_ASSERT(kUndefinedValueRootIndex == |
1221 Internals::kUndefinedValueRootIndex); | 1217 Internals::kUndefinedValueRootIndex); |
1222 STATIC_ASSERT(kNullValueRootIndex == Internals::kNullValueRootIndex); | 1218 STATIC_ASSERT(kNullValueRootIndex == Internals::kNullValueRootIndex); |
1223 STATIC_ASSERT(kTrueValueRootIndex == Internals::kTrueValueRootIndex); | 1219 STATIC_ASSERT(kTrueValueRootIndex == Internals::kTrueValueRootIndex); |
1224 STATIC_ASSERT(kFalseValueRootIndex == Internals::kFalseValueRootIndex); | 1220 STATIC_ASSERT(kFalseValueRootIndex == Internals::kFalseValueRootIndex); |
1225 STATIC_ASSERT(kempty_stringRootIndex == Internals::kEmptyStringRootIndex); | 1221 STATIC_ASSERT(kempty_stringRootIndex == Internals::kEmptyStringRootIndex); |
1226 | 1222 |
1227 // Generated code can embed direct references to non-writable roots if | 1223 // Generated code can embed direct references to non-writable roots if |
(...skipping 1556 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2784 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2780 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
2785 | 2781 |
2786 private: | 2782 private: |
2787 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2783 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2788 }; | 2784 }; |
2789 #endif // DEBUG | 2785 #endif // DEBUG |
2790 } | 2786 } |
2791 } // namespace v8::internal | 2787 } // namespace v8::internal |
2792 | 2788 |
2793 #endif // V8_HEAP_HEAP_H_ | 2789 #endif // V8_HEAP_HEAP_H_ |
OLD | NEW |