OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 V(Map, shared_function_info_map, SharedFunctionInfoMap) \ | 65 V(Map, shared_function_info_map, SharedFunctionInfoMap) \ |
66 V(Map, meta_map, MetaMap) \ | 66 V(Map, meta_map, MetaMap) \ |
67 V(Map, heap_number_map, HeapNumberMap) \ | 67 V(Map, heap_number_map, HeapNumberMap) \ |
68 V(Map, native_context_map, NativeContextMap) \ | 68 V(Map, native_context_map, NativeContextMap) \ |
69 V(Map, fixed_array_map, FixedArrayMap) \ | 69 V(Map, fixed_array_map, FixedArrayMap) \ |
70 V(Map, code_map, CodeMap) \ | 70 V(Map, code_map, CodeMap) \ |
71 V(Map, scope_info_map, ScopeInfoMap) \ | 71 V(Map, scope_info_map, ScopeInfoMap) \ |
72 V(Map, fixed_cow_array_map, FixedCOWArrayMap) \ | 72 V(Map, fixed_cow_array_map, FixedCOWArrayMap) \ |
73 V(Map, fixed_double_array_map, FixedDoubleArrayMap) \ | 73 V(Map, fixed_double_array_map, FixedDoubleArrayMap) \ |
74 V(Map, constant_pool_array_map, ConstantPoolArrayMap) \ | 74 V(Map, constant_pool_array_map, ConstantPoolArrayMap) \ |
75 V(Object, no_interceptor_result_sentinel, NoInterceptorResultSentinel) \ | 75 V(Oddball, no_interceptor_result_sentinel, NoInterceptorResultSentinel) \ |
76 V(Map, hash_table_map, HashTableMap) \ | 76 V(Map, hash_table_map, HashTableMap) \ |
77 V(FixedArray, empty_fixed_array, EmptyFixedArray) \ | 77 V(FixedArray, empty_fixed_array, EmptyFixedArray) \ |
78 V(ByteArray, empty_byte_array, EmptyByteArray) \ | 78 V(ByteArray, empty_byte_array, EmptyByteArray) \ |
79 V(DescriptorArray, empty_descriptor_array, EmptyDescriptorArray) \ | 79 V(DescriptorArray, empty_descriptor_array, EmptyDescriptorArray) \ |
80 V(ConstantPoolArray, empty_constant_pool_array, EmptyConstantPoolArray) \ | 80 V(ConstantPoolArray, empty_constant_pool_array, EmptyConstantPoolArray) \ |
81 V(Oddball, arguments_marker, ArgumentsMarker) \ | 81 V(Oddball, arguments_marker, ArgumentsMarker) \ |
82 /* The roots above this line should be boring from a GC point of view. */ \ | 82 /* The roots above this line should be boring from a GC point of view. */ \ |
83 /* This means they are never in new space and never on a page that is */ \ | 83 /* This means they are never in new space and never on a page that is */ \ |
84 /* being compacted. */ \ | 84 /* being compacted. */ \ |
85 V(FixedArray, number_string_cache, NumberStringCache) \ | 85 V(FixedArray, number_string_cache, NumberStringCache) \ |
86 V(Object, instanceof_cache_function, InstanceofCacheFunction) \ | 86 V(Object, instanceof_cache_function, InstanceofCacheFunction) \ |
87 V(Object, instanceof_cache_map, InstanceofCacheMap) \ | 87 V(Object, instanceof_cache_map, InstanceofCacheMap) \ |
88 V(Object, instanceof_cache_answer, InstanceofCacheAnswer) \ | 88 V(Object, instanceof_cache_answer, InstanceofCacheAnswer) \ |
89 V(FixedArray, single_character_string_cache, SingleCharacterStringCache) \ | 89 V(FixedArray, single_character_string_cache, SingleCharacterStringCache) \ |
90 V(FixedArray, string_split_cache, StringSplitCache) \ | 90 V(FixedArray, string_split_cache, StringSplitCache) \ |
91 V(FixedArray, regexp_multiple_cache, RegExpMultipleCache) \ | 91 V(FixedArray, regexp_multiple_cache, RegExpMultipleCache) \ |
92 V(Object, termination_exception, TerminationException) \ | 92 V(Oddball, termination_exception, TerminationException) \ |
93 V(Smi, hash_seed, HashSeed) \ | 93 V(Smi, hash_seed, HashSeed) \ |
94 V(Map, symbol_map, SymbolMap) \ | 94 V(Map, symbol_map, SymbolMap) \ |
95 V(Map, string_map, StringMap) \ | 95 V(Map, string_map, StringMap) \ |
96 V(Map, ascii_string_map, AsciiStringMap) \ | 96 V(Map, ascii_string_map, AsciiStringMap) \ |
97 V(Map, cons_string_map, ConsStringMap) \ | 97 V(Map, cons_string_map, ConsStringMap) \ |
98 V(Map, cons_ascii_string_map, ConsAsciiStringMap) \ | 98 V(Map, cons_ascii_string_map, ConsAsciiStringMap) \ |
99 V(Map, sliced_string_map, SlicedStringMap) \ | 99 V(Map, sliced_string_map, SlicedStringMap) \ |
100 V(Map, sliced_ascii_string_map, SlicedAsciiStringMap) \ | 100 V(Map, sliced_ascii_string_map, SlicedAsciiStringMap) \ |
101 V(Map, external_string_map, ExternalStringMap) \ | 101 V(Map, external_string_map, ExternalStringMap) \ |
102 V(Map, \ | 102 V(Map, \ |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 V(FixedTypedArrayBase, empty_fixed_float64_array, EmptyFixedFloat64Array) \ | 172 V(FixedTypedArrayBase, empty_fixed_float64_array, EmptyFixedFloat64Array) \ |
173 V(FixedTypedArrayBase, empty_fixed_uint8_clamped_array, \ | 173 V(FixedTypedArrayBase, empty_fixed_uint8_clamped_array, \ |
174 EmptyFixedUint8ClampedArray) \ | 174 EmptyFixedUint8ClampedArray) \ |
175 V(Map, sloppy_arguments_elements_map, SloppyArgumentsElementsMap) \ | 175 V(Map, sloppy_arguments_elements_map, SloppyArgumentsElementsMap) \ |
176 V(Map, function_context_map, FunctionContextMap) \ | 176 V(Map, function_context_map, FunctionContextMap) \ |
177 V(Map, catch_context_map, CatchContextMap) \ | 177 V(Map, catch_context_map, CatchContextMap) \ |
178 V(Map, with_context_map, WithContextMap) \ | 178 V(Map, with_context_map, WithContextMap) \ |
179 V(Map, block_context_map, BlockContextMap) \ | 179 V(Map, block_context_map, BlockContextMap) \ |
180 V(Map, module_context_map, ModuleContextMap) \ | 180 V(Map, module_context_map, ModuleContextMap) \ |
181 V(Map, global_context_map, GlobalContextMap) \ | 181 V(Map, global_context_map, GlobalContextMap) \ |
182 V(Map, oddball_map, OddballMap) \ | 182 V(Map, undefined_map, UndefinedMap) \ |
| 183 V(Map, the_hole_map, TheHoleMap) \ |
| 184 V(Map, null_map, NullMap) \ |
| 185 V(Map, boolean_map, BooleanMap) \ |
| 186 V(Map, uninitialized_map, UninitializedMap) \ |
| 187 V(Map, arguments_marker_map, ArgumentsMarkerMap) \ |
| 188 V(Map, no_interceptor_result_sentinel_map, NoInterceptorResultSentinelMap) \ |
| 189 V(Map, termination_exception_map, TerminationExceptionMap) \ |
183 V(Map, message_object_map, JSMessageObjectMap) \ | 190 V(Map, message_object_map, JSMessageObjectMap) \ |
184 V(Map, foreign_map, ForeignMap) \ | 191 V(Map, foreign_map, ForeignMap) \ |
185 V(HeapNumber, nan_value, NanValue) \ | 192 V(HeapNumber, nan_value, NanValue) \ |
186 V(HeapNumber, infinity_value, InfinityValue) \ | 193 V(HeapNumber, infinity_value, InfinityValue) \ |
187 V(HeapNumber, minus_zero_value, MinusZeroValue) \ | 194 V(HeapNumber, minus_zero_value, MinusZeroValue) \ |
188 V(Map, neander_map, NeanderMap) \ | 195 V(Map, neander_map, NeanderMap) \ |
189 V(JSObject, message_listeners, MessageListeners) \ | 196 V(JSObject, message_listeners, MessageListeners) \ |
190 V(UnseededNumberDictionary, code_stubs, CodeStubs) \ | 197 V(UnseededNumberDictionary, code_stubs, CodeStubs) \ |
191 V(UnseededNumberDictionary, non_monomorphic_cache, NonMonomorphicCache) \ | 198 V(UnseededNumberDictionary, non_monomorphic_cache, NonMonomorphicCache) \ |
192 V(PolymorphicCodeCache, polymorphic_code_cache, PolymorphicCodeCache) \ | 199 V(PolymorphicCodeCache, polymorphic_code_cache, PolymorphicCodeCache) \ |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 V(empty_constant_pool_array) \ | 266 V(empty_constant_pool_array) \ |
260 V(arguments_marker) \ | 267 V(arguments_marker) \ |
261 V(symbol_map) \ | 268 V(symbol_map) \ |
262 V(sloppy_arguments_elements_map) \ | 269 V(sloppy_arguments_elements_map) \ |
263 V(function_context_map) \ | 270 V(function_context_map) \ |
264 V(catch_context_map) \ | 271 V(catch_context_map) \ |
265 V(with_context_map) \ | 272 V(with_context_map) \ |
266 V(block_context_map) \ | 273 V(block_context_map) \ |
267 V(module_context_map) \ | 274 V(module_context_map) \ |
268 V(global_context_map) \ | 275 V(global_context_map) \ |
269 V(oddball_map) \ | 276 V(undefined_map) \ |
| 277 V(the_hole_map) \ |
| 278 V(null_map) \ |
| 279 V(boolean_map) \ |
| 280 V(uninitialized_map) \ |
270 V(message_object_map) \ | 281 V(message_object_map) \ |
271 V(foreign_map) \ | 282 V(foreign_map) \ |
272 V(neander_map) | 283 V(neander_map) |
273 | 284 |
274 #define INTERNALIZED_STRING_LIST(V) \ | 285 #define INTERNALIZED_STRING_LIST(V) \ |
275 V(Array_string, "Array") \ | 286 V(Array_string, "Array") \ |
276 V(Object_string, "Object") \ | 287 V(Object_string, "Object") \ |
277 V(proto_string, "__proto__") \ | 288 V(proto_string, "__proto__") \ |
278 V(arguments_string, "arguments") \ | 289 V(arguments_string, "arguments") \ |
279 V(Arguments_string, "Arguments") \ | 290 V(Arguments_string, "Arguments") \ |
(...skipping 1926 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2206 bool CreateInitialMaps(); | 2217 bool CreateInitialMaps(); |
2207 bool CreateInitialObjects(); | 2218 bool CreateInitialObjects(); |
2208 | 2219 |
2209 // These five Create*EntryStub functions are here and forced to not be inlined | 2220 // These five Create*EntryStub functions are here and forced to not be inlined |
2210 // because of a gcc-4.4 bug that assigns wrong vtable entries. | 2221 // because of a gcc-4.4 bug that assigns wrong vtable entries. |
2211 NO_INLINE(void CreateJSEntryStub()); | 2222 NO_INLINE(void CreateJSEntryStub()); |
2212 NO_INLINE(void CreateJSConstructEntryStub()); | 2223 NO_INLINE(void CreateJSConstructEntryStub()); |
2213 | 2224 |
2214 void CreateFixedStubs(); | 2225 void CreateFixedStubs(); |
2215 | 2226 |
2216 MUST_USE_RESULT MaybeObject* CreateOddball(const char* to_string, | 2227 MUST_USE_RESULT MaybeObject* CreateOddball(Map* map, |
| 2228 const char* to_string, |
2217 Object* to_number, | 2229 Object* to_number, |
2218 byte kind); | 2230 byte kind); |
2219 | 2231 |
2220 // Allocate a JSArray with no elements | 2232 // Allocate a JSArray with no elements |
2221 MUST_USE_RESULT MaybeObject* AllocateJSArray( | 2233 MUST_USE_RESULT MaybeObject* AllocateJSArray( |
2222 ElementsKind elements_kind, | 2234 ElementsKind elements_kind, |
2223 PretenureFlag pretenure = NOT_TENURED); | 2235 PretenureFlag pretenure = NOT_TENURED); |
2224 | 2236 |
2225 // Allocate empty fixed array. | 2237 // Allocate empty fixed array. |
2226 MUST_USE_RESULT MaybeObject* AllocateEmptyFixedArray(); | 2238 MUST_USE_RESULT MaybeObject* AllocateEmptyFixedArray(); |
(...skipping 911 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3138 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 3150 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
3139 | 3151 |
3140 private: | 3152 private: |
3141 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 3153 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
3142 }; | 3154 }; |
3143 #endif // DEBUG | 3155 #endif // DEBUG |
3144 | 3156 |
3145 } } // namespace v8::internal | 3157 } } // namespace v8::internal |
3146 | 3158 |
3147 #endif // V8_HEAP_H_ | 3159 #endif // V8_HEAP_H_ |
OLD | NEW |