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_CONTEXTS_H_ | 5 #ifndef V8_CONTEXTS_H_ |
6 #define V8_CONTEXTS_H_ | 6 #define V8_CONTEXTS_H_ |
7 | 7 |
8 #include "src/heap/heap.h" | 8 #include "src/heap/heap.h" |
9 #include "src/objects.h" | 9 #include "src/objects.h" |
10 | 10 |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 accessor_property_descriptor_map) \ | 197 accessor_property_descriptor_map) \ |
198 V(ALLOW_CODE_GEN_FROM_STRINGS_INDEX, Object, allow_code_gen_from_strings) \ | 198 V(ALLOW_CODE_GEN_FROM_STRINGS_INDEX, Object, allow_code_gen_from_strings) \ |
199 V(ARRAY_BUFFER_FUN_INDEX, JSFunction, array_buffer_fun) \ | 199 V(ARRAY_BUFFER_FUN_INDEX, JSFunction, array_buffer_fun) \ |
200 V(ARRAY_BUFFER_MAP_INDEX, Map, array_buffer_map) \ | 200 V(ARRAY_BUFFER_MAP_INDEX, Map, array_buffer_map) \ |
201 V(ARRAY_FUNCTION_INDEX, JSFunction, array_function) \ | 201 V(ARRAY_FUNCTION_INDEX, JSFunction, array_function) \ |
202 V(ASYNC_FUNCTION_AWAIT_REJECT_SHARED_FUN, SharedFunctionInfo, \ | 202 V(ASYNC_FUNCTION_AWAIT_REJECT_SHARED_FUN, SharedFunctionInfo, \ |
203 async_function_await_reject_shared_fun) \ | 203 async_function_await_reject_shared_fun) \ |
204 V(ASYNC_FUNCTION_AWAIT_RESOLVE_SHARED_FUN, SharedFunctionInfo, \ | 204 V(ASYNC_FUNCTION_AWAIT_RESOLVE_SHARED_FUN, SharedFunctionInfo, \ |
205 async_function_await_resolve_shared_fun) \ | 205 async_function_await_resolve_shared_fun) \ |
206 V(ASYNC_FUNCTION_FUNCTION_INDEX, JSFunction, async_function_constructor) \ | 206 V(ASYNC_FUNCTION_FUNCTION_INDEX, JSFunction, async_function_constructor) \ |
207 V(BOOL16X8_FUNCTION_INDEX, JSFunction, bool16x8_function) \ | |
208 V(BOOL32X4_FUNCTION_INDEX, JSFunction, bool32x4_function) \ | |
209 V(BOOL8X16_FUNCTION_INDEX, JSFunction, bool8x16_function) \ | |
210 V(BOOLEAN_FUNCTION_INDEX, JSFunction, boolean_function) \ | 207 V(BOOLEAN_FUNCTION_INDEX, JSFunction, boolean_function) \ |
211 V(BOUND_FUNCTION_WITH_CONSTRUCTOR_MAP_INDEX, Map, \ | 208 V(BOUND_FUNCTION_WITH_CONSTRUCTOR_MAP_INDEX, Map, \ |
212 bound_function_with_constructor_map) \ | 209 bound_function_with_constructor_map) \ |
213 V(BOUND_FUNCTION_WITHOUT_CONSTRUCTOR_MAP_INDEX, Map, \ | 210 V(BOUND_FUNCTION_WITHOUT_CONSTRUCTOR_MAP_INDEX, Map, \ |
214 bound_function_without_constructor_map) \ | 211 bound_function_without_constructor_map) \ |
215 V(CALL_AS_CONSTRUCTOR_DELEGATE_INDEX, JSFunction, \ | 212 V(CALL_AS_CONSTRUCTOR_DELEGATE_INDEX, JSFunction, \ |
216 call_as_constructor_delegate) \ | 213 call_as_constructor_delegate) \ |
217 V(CALL_AS_FUNCTION_DELEGATE_INDEX, JSFunction, call_as_function_delegate) \ | 214 V(CALL_AS_FUNCTION_DELEGATE_INDEX, JSFunction, call_as_function_delegate) \ |
218 V(CALLSITE_FUNCTION_INDEX, JSFunction, callsite_function) \ | 215 V(CALLSITE_FUNCTION_INDEX, JSFunction, callsite_function) \ |
219 V(CONTEXT_EXTENSION_FUNCTION_INDEX, JSFunction, context_extension_function) \ | 216 V(CONTEXT_EXTENSION_FUNCTION_INDEX, JSFunction, context_extension_function) \ |
220 V(CURRENT_MODULE_INDEX, Module, current_module) \ | 217 V(CURRENT_MODULE_INDEX, Module, current_module) \ |
221 V(DATA_PROPERTY_DESCRIPTOR_MAP_INDEX, Map, data_property_descriptor_map) \ | 218 V(DATA_PROPERTY_DESCRIPTOR_MAP_INDEX, Map, data_property_descriptor_map) \ |
222 V(DATA_VIEW_FUN_INDEX, JSFunction, data_view_fun) \ | 219 V(DATA_VIEW_FUN_INDEX, JSFunction, data_view_fun) \ |
223 V(DATE_FUNCTION_INDEX, JSFunction, date_function) \ | 220 V(DATE_FUNCTION_INDEX, JSFunction, date_function) \ |
224 V(ERROR_MESSAGE_FOR_CODE_GEN_FROM_STRINGS_INDEX, Object, \ | 221 V(ERROR_MESSAGE_FOR_CODE_GEN_FROM_STRINGS_INDEX, Object, \ |
225 error_message_for_code_gen_from_strings) \ | 222 error_message_for_code_gen_from_strings) \ |
226 V(ERRORS_THROWN_INDEX, Smi, errors_thrown) \ | 223 V(ERRORS_THROWN_INDEX, Smi, errors_thrown) \ |
227 V(EXTRAS_EXPORTS_OBJECT_INDEX, JSObject, extras_binding_object) \ | 224 V(EXTRAS_EXPORTS_OBJECT_INDEX, JSObject, extras_binding_object) \ |
228 V(EXTRAS_UTILS_OBJECT_INDEX, Object, extras_utils_object) \ | 225 V(EXTRAS_UTILS_OBJECT_INDEX, Object, extras_utils_object) \ |
229 V(FAST_ALIASED_ARGUMENTS_MAP_INDEX, Map, fast_aliased_arguments_map) \ | 226 V(FAST_ALIASED_ARGUMENTS_MAP_INDEX, Map, fast_aliased_arguments_map) \ |
230 V(FAST_TEMPLATE_INSTANTIATIONS_CACHE_INDEX, FixedArray, \ | 227 V(FAST_TEMPLATE_INSTANTIATIONS_CACHE_INDEX, FixedArray, \ |
231 fast_template_instantiations_cache) \ | 228 fast_template_instantiations_cache) \ |
232 V(FLOAT32_ARRAY_FUN_INDEX, JSFunction, float32_array_fun) \ | 229 V(FLOAT32_ARRAY_FUN_INDEX, JSFunction, float32_array_fun) \ |
233 V(FLOAT32X4_FUNCTION_INDEX, JSFunction, float32x4_function) \ | |
234 V(FLOAT64_ARRAY_FUN_INDEX, JSFunction, float64_array_fun) \ | 230 V(FLOAT64_ARRAY_FUN_INDEX, JSFunction, float64_array_fun) \ |
235 V(FUNCTION_FUNCTION_INDEX, JSFunction, function_function) \ | 231 V(FUNCTION_FUNCTION_INDEX, JSFunction, function_function) \ |
236 V(GENERATOR_FUNCTION_FUNCTION_INDEX, JSFunction, \ | 232 V(GENERATOR_FUNCTION_FUNCTION_INDEX, JSFunction, \ |
237 generator_function_function) \ | 233 generator_function_function) \ |
238 V(GENERATOR_OBJECT_PROTOTYPE_MAP_INDEX, Map, generator_object_prototype_map) \ | 234 V(GENERATOR_OBJECT_PROTOTYPE_MAP_INDEX, Map, generator_object_prototype_map) \ |
239 V(INITIAL_ARRAY_ITERATOR_PROTOTYPE_INDEX, JSObject, \ | 235 V(INITIAL_ARRAY_ITERATOR_PROTOTYPE_INDEX, JSObject, \ |
240 initial_array_iterator_prototype) \ | 236 initial_array_iterator_prototype) \ |
241 V(INITIAL_ARRAY_ITERATOR_PROTOTYPE_MAP_INDEX, Map, \ | 237 V(INITIAL_ARRAY_ITERATOR_PROTOTYPE_MAP_INDEX, Map, \ |
242 initial_array_iterator_prototype_map) \ | 238 initial_array_iterator_prototype_map) \ |
243 V(INITIAL_ARRAY_PROTOTYPE_INDEX, JSObject, initial_array_prototype) \ | 239 V(INITIAL_ARRAY_PROTOTYPE_INDEX, JSObject, initial_array_prototype) \ |
244 V(INITIAL_GENERATOR_PROTOTYPE_INDEX, JSObject, initial_generator_prototype) \ | 240 V(INITIAL_GENERATOR_PROTOTYPE_INDEX, JSObject, initial_generator_prototype) \ |
245 V(INITIAL_ITERATOR_PROTOTYPE_INDEX, JSObject, initial_iterator_prototype) \ | 241 V(INITIAL_ITERATOR_PROTOTYPE_INDEX, JSObject, initial_iterator_prototype) \ |
246 V(INITIAL_OBJECT_PROTOTYPE_INDEX, JSObject, initial_object_prototype) \ | 242 V(INITIAL_OBJECT_PROTOTYPE_INDEX, JSObject, initial_object_prototype) \ |
247 V(INT16_ARRAY_FUN_INDEX, JSFunction, int16_array_fun) \ | 243 V(INT16_ARRAY_FUN_INDEX, JSFunction, int16_array_fun) \ |
248 V(INT16X8_FUNCTION_INDEX, JSFunction, int16x8_function) \ | |
249 V(INT32_ARRAY_FUN_INDEX, JSFunction, int32_array_fun) \ | 244 V(INT32_ARRAY_FUN_INDEX, JSFunction, int32_array_fun) \ |
250 V(INT32X4_FUNCTION_INDEX, JSFunction, int32x4_function) \ | |
251 V(INT8_ARRAY_FUN_INDEX, JSFunction, int8_array_fun) \ | 245 V(INT8_ARRAY_FUN_INDEX, JSFunction, int8_array_fun) \ |
252 V(INT8X16_FUNCTION_INDEX, JSFunction, int8x16_function) \ | |
253 V(INTERNAL_ARRAY_FUNCTION_INDEX, JSFunction, internal_array_function) \ | 246 V(INTERNAL_ARRAY_FUNCTION_INDEX, JSFunction, internal_array_function) \ |
254 V(ITERATOR_RESULT_MAP_INDEX, Map, iterator_result_map) \ | 247 V(ITERATOR_RESULT_MAP_INDEX, Map, iterator_result_map) \ |
255 V(INTL_DATE_TIME_FORMAT_FUNCTION_INDEX, JSFunction, \ | 248 V(INTL_DATE_TIME_FORMAT_FUNCTION_INDEX, JSFunction, \ |
256 intl_date_time_format_function) \ | 249 intl_date_time_format_function) \ |
257 V(INTL_NUMBER_FORMAT_FUNCTION_INDEX, JSFunction, \ | 250 V(INTL_NUMBER_FORMAT_FUNCTION_INDEX, JSFunction, \ |
258 intl_number_format_function) \ | 251 intl_number_format_function) \ |
259 V(INTL_COLLATOR_FUNCTION_INDEX, JSFunction, intl_collator_function) \ | 252 V(INTL_COLLATOR_FUNCTION_INDEX, JSFunction, intl_collator_function) \ |
260 V(INTL_V8_BREAK_ITERATOR_FUNCTION_INDEX, JSFunction, \ | 253 V(INTL_V8_BREAK_ITERATOR_FUNCTION_INDEX, JSFunction, \ |
261 intl_v8_break_iterator_function) \ | 254 intl_v8_break_iterator_function) \ |
262 V(JS_ARRAY_FAST_SMI_ELEMENTS_MAP_INDEX, Map, \ | 255 V(JS_ARRAY_FAST_SMI_ELEMENTS_MAP_INDEX, Map, \ |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 V(WASM_INSTANCE_SYM_INDEX, Symbol, wasm_instance_sym) \ | 334 V(WASM_INSTANCE_SYM_INDEX, Symbol, wasm_instance_sym) \ |
342 V(WASM_MEMORY_CONSTRUCTOR_INDEX, JSFunction, wasm_memory_constructor) \ | 335 V(WASM_MEMORY_CONSTRUCTOR_INDEX, JSFunction, wasm_memory_constructor) \ |
343 V(WASM_MEMORY_SYM_INDEX, Symbol, wasm_memory_sym) \ | 336 V(WASM_MEMORY_SYM_INDEX, Symbol, wasm_memory_sym) \ |
344 V(WASM_MODULE_CONSTRUCTOR_INDEX, JSFunction, wasm_module_constructor) \ | 337 V(WASM_MODULE_CONSTRUCTOR_INDEX, JSFunction, wasm_module_constructor) \ |
345 V(WASM_MODULE_SYM_INDEX, Symbol, wasm_module_sym) \ | 338 V(WASM_MODULE_SYM_INDEX, Symbol, wasm_module_sym) \ |
346 V(WASM_TABLE_CONSTRUCTOR_INDEX, JSFunction, wasm_table_constructor) \ | 339 V(WASM_TABLE_CONSTRUCTOR_INDEX, JSFunction, wasm_table_constructor) \ |
347 V(WASM_TABLE_SYM_INDEX, Symbol, wasm_table_sym) \ | 340 V(WASM_TABLE_SYM_INDEX, Symbol, wasm_table_sym) \ |
348 V(TYPED_ARRAY_FUN_INDEX, JSFunction, typed_array_function) \ | 341 V(TYPED_ARRAY_FUN_INDEX, JSFunction, typed_array_function) \ |
349 V(TYPED_ARRAY_PROTOTYPE_INDEX, JSObject, typed_array_prototype) \ | 342 V(TYPED_ARRAY_PROTOTYPE_INDEX, JSObject, typed_array_prototype) \ |
350 V(UINT16_ARRAY_FUN_INDEX, JSFunction, uint16_array_fun) \ | 343 V(UINT16_ARRAY_FUN_INDEX, JSFunction, uint16_array_fun) \ |
351 V(UINT16X8_FUNCTION_INDEX, JSFunction, uint16x8_function) \ | |
352 V(UINT32_ARRAY_FUN_INDEX, JSFunction, uint32_array_fun) \ | 344 V(UINT32_ARRAY_FUN_INDEX, JSFunction, uint32_array_fun) \ |
353 V(UINT32X4_FUNCTION_INDEX, JSFunction, uint32x4_function) \ | |
354 V(UINT8_ARRAY_FUN_INDEX, JSFunction, uint8_array_fun) \ | 345 V(UINT8_ARRAY_FUN_INDEX, JSFunction, uint8_array_fun) \ |
355 V(UINT8_CLAMPED_ARRAY_FUN_INDEX, JSFunction, uint8_clamped_array_fun) \ | 346 V(UINT8_CLAMPED_ARRAY_FUN_INDEX, JSFunction, uint8_clamped_array_fun) \ |
356 V(UINT8X16_FUNCTION_INDEX, JSFunction, uint8x16_function) \ | |
357 NATIVE_CONTEXT_INTRINSIC_FUNCTIONS(V) \ | 347 NATIVE_CONTEXT_INTRINSIC_FUNCTIONS(V) \ |
358 NATIVE_CONTEXT_IMPORTED_FIELDS(V) \ | 348 NATIVE_CONTEXT_IMPORTED_FIELDS(V) \ |
359 NATIVE_CONTEXT_JS_ARRAY_ITERATOR_MAPS(V) | 349 NATIVE_CONTEXT_JS_ARRAY_ITERATOR_MAPS(V) |
360 | 350 |
361 // A table of all script contexts. Every loaded top-level script with top-level | 351 // A table of all script contexts. Every loaded top-level script with top-level |
362 // lexical declarations contributes its ScriptContext into this table. | 352 // lexical declarations contributes its ScriptContext into this table. |
363 // | 353 // |
364 // The table is a fixed array, its first slot is the current used count and | 354 // The table is a fixed array, its first slot is the current used count and |
365 // the subsequent slots 1..used contain ScriptContexts. | 355 // the subsequent slots 1..used contain ScriptContexts. |
366 class ScriptContextTable : public FixedArray { | 356 class ScriptContextTable : public FixedArray { |
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
696 STATIC_ASSERT(kHeaderSize == Internals::kContextHeaderSize); | 686 STATIC_ASSERT(kHeaderSize == Internals::kContextHeaderSize); |
697 STATIC_ASSERT(EMBEDDER_DATA_INDEX == Internals::kContextEmbedderDataIndex); | 687 STATIC_ASSERT(EMBEDDER_DATA_INDEX == Internals::kContextEmbedderDataIndex); |
698 }; | 688 }; |
699 | 689 |
700 typedef Context::Field ContextField; | 690 typedef Context::Field ContextField; |
701 | 691 |
702 } // namespace internal | 692 } // namespace internal |
703 } // namespace v8 | 693 } // namespace v8 |
704 | 694 |
705 #endif // V8_CONTEXTS_H_ | 695 #endif // V8_CONTEXTS_H_ |
OLD | NEW |