| 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 |