| 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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 75 | 75 | 
| 76 #define NATIVE_CONTEXT_FIELDS(V)                                               \ | 76 #define NATIVE_CONTEXT_FIELDS(V)                                               \ | 
| 77   V(GLOBAL_PROXY_INDEX, JSObject, global_proxy_object)                         \ | 77   V(GLOBAL_PROXY_INDEX, JSObject, global_proxy_object)                         \ | 
| 78   V(SECURITY_TOKEN_INDEX, Object, security_token)                              \ | 78   V(SECURITY_TOKEN_INDEX, Object, security_token)                              \ | 
| 79   V(BOOLEAN_FUNCTION_INDEX, JSFunction, boolean_function)                      \ | 79   V(BOOLEAN_FUNCTION_INDEX, JSFunction, boolean_function)                      \ | 
| 80   V(NUMBER_FUNCTION_INDEX, JSFunction, number_function)                        \ | 80   V(NUMBER_FUNCTION_INDEX, JSFunction, number_function)                        \ | 
| 81   V(STRING_FUNCTION_INDEX, JSFunction, string_function)                        \ | 81   V(STRING_FUNCTION_INDEX, JSFunction, string_function)                        \ | 
| 82   V(STRING_FUNCTION_PROTOTYPE_MAP_INDEX, Map, string_function_prototype_map)   \ | 82   V(STRING_FUNCTION_PROTOTYPE_MAP_INDEX, Map, string_function_prototype_map)   \ | 
| 83   V(SYMBOL_FUNCTION_INDEX, JSFunction, symbol_function)                        \ | 83   V(SYMBOL_FUNCTION_INDEX, JSFunction, symbol_function)                        \ | 
| 84   V(OBJECT_FUNCTION_INDEX, JSFunction, object_function)                        \ | 84   V(OBJECT_FUNCTION_INDEX, JSFunction, object_function)                        \ | 
|  | 85   V(JS_OBJECT_STRONG_MAP_INDEX, Map, js_object_strong_map)                     \ | 
| 85   V(INTERNAL_ARRAY_FUNCTION_INDEX, JSFunction, internal_array_function)        \ | 86   V(INTERNAL_ARRAY_FUNCTION_INDEX, JSFunction, internal_array_function)        \ | 
| 86   V(ARRAY_FUNCTION_INDEX, JSFunction, array_function)                          \ | 87   V(ARRAY_FUNCTION_INDEX, JSFunction, array_function)                          \ | 
| 87   V(JS_ARRAY_MAPS_INDEX, Object, js_array_maps)                                \ | 88   V(JS_ARRAY_MAPS_INDEX, Object, js_array_maps)                                \ | 
| 88   V(JS_ARRAY_STRONG_MAPS_INDEX, Object, js_array_strong_maps)                  \ | 89   V(JS_ARRAY_STRONG_MAPS_INDEX, Object, js_array_strong_maps)                  \ | 
| 89   V(DATE_FUNCTION_INDEX, JSFunction, date_function)                            \ | 90   V(DATE_FUNCTION_INDEX, JSFunction, date_function)                            \ | 
| 90   V(JSON_OBJECT_INDEX, JSObject, json_object)                                  \ | 91   V(JSON_OBJECT_INDEX, JSObject, json_object)                                  \ | 
| 91   V(REGEXP_FUNCTION_INDEX, JSFunction, regexp_function)                        \ | 92   V(REGEXP_FUNCTION_INDEX, JSFunction, regexp_function)                        \ | 
| 92   V(INITIAL_OBJECT_PROTOTYPE_INDEX, JSObject, initial_object_prototype)        \ | 93   V(INITIAL_OBJECT_PROTOTYPE_INDEX, JSObject, initial_object_prototype)        \ | 
| 93   V(INITIAL_ARRAY_PROTOTYPE_INDEX, JSObject, initial_array_prototype)          \ | 94   V(INITIAL_ARRAY_PROTOTYPE_INDEX, JSObject, initial_array_prototype)          \ | 
| 94   V(CREATE_DATE_FUN_INDEX, JSFunction, create_date_fun)                        \ | 95   V(CREATE_DATE_FUN_INDEX, JSFunction, create_date_fun)                        \ | 
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 146   V(JSFUNCTION_RESULT_CACHES_INDEX, FixedArray, jsfunction_result_caches)      \ | 147   V(JSFUNCTION_RESULT_CACHES_INDEX, FixedArray, jsfunction_result_caches)      \ | 
| 147   V(NORMALIZED_MAP_CACHE_INDEX, Object, normalized_map_cache)                  \ | 148   V(NORMALIZED_MAP_CACHE_INDEX, Object, normalized_map_cache)                  \ | 
| 148   V(RUNTIME_CONTEXT_INDEX, Context, runtime_context)                           \ | 149   V(RUNTIME_CONTEXT_INDEX, Context, runtime_context)                           \ | 
| 149   V(CALL_AS_FUNCTION_DELEGATE_INDEX, JSFunction, call_as_function_delegate)    \ | 150   V(CALL_AS_FUNCTION_DELEGATE_INDEX, JSFunction, call_as_function_delegate)    \ | 
| 150   V(CALL_AS_CONSTRUCTOR_DELEGATE_INDEX, JSFunction,                            \ | 151   V(CALL_AS_CONSTRUCTOR_DELEGATE_INDEX, JSFunction,                            \ | 
| 151     call_as_constructor_delegate)                                              \ | 152     call_as_constructor_delegate)                                              \ | 
| 152   V(SCRIPT_FUNCTION_INDEX, JSFunction, script_function)                        \ | 153   V(SCRIPT_FUNCTION_INDEX, JSFunction, script_function)                        \ | 
| 153   V(OPAQUE_REFERENCE_FUNCTION_INDEX, JSFunction, opaque_reference_function)    \ | 154   V(OPAQUE_REFERENCE_FUNCTION_INDEX, JSFunction, opaque_reference_function)    \ | 
| 154   V(CONTEXT_EXTENSION_FUNCTION_INDEX, JSFunction, context_extension_function)  \ | 155   V(CONTEXT_EXTENSION_FUNCTION_INDEX, JSFunction, context_extension_function)  \ | 
| 155   V(MAP_CACHE_INDEX, Object, map_cache)                                        \ | 156   V(MAP_CACHE_INDEX, Object, map_cache)                                        \ | 
|  | 157   V(STRONG_MAP_CACHE_INDEX, Object, strong_map_cache)                          \ | 
| 156   V(EMBEDDER_DATA_INDEX, FixedArray, embedder_data)                            \ | 158   V(EMBEDDER_DATA_INDEX, FixedArray, embedder_data)                            \ | 
| 157   V(ALLOW_CODE_GEN_FROM_STRINGS_INDEX, Object, allow_code_gen_from_strings)    \ | 159   V(ALLOW_CODE_GEN_FROM_STRINGS_INDEX, Object, allow_code_gen_from_strings)    \ | 
| 158   V(ERROR_MESSAGE_FOR_CODE_GEN_FROM_STRINGS_INDEX, Object,                     \ | 160   V(ERROR_MESSAGE_FOR_CODE_GEN_FROM_STRINGS_INDEX, Object,                     \ | 
| 159     error_message_for_code_gen_from_strings)                                   \ | 161     error_message_for_code_gen_from_strings)                                   \ | 
| 160   V(PROMISE_STATUS_INDEX, Symbol, promise_status)                              \ | 162   V(PROMISE_STATUS_INDEX, Symbol, promise_status)                              \ | 
| 161   V(PROMISE_VALUE_INDEX, Symbol, promise_value)                                \ | 163   V(PROMISE_VALUE_INDEX, Symbol, promise_value)                                \ | 
| 162   V(PROMISE_CREATE_INDEX, JSFunction, promise_create)                          \ | 164   V(PROMISE_CREATE_INDEX, JSFunction, promise_create)                          \ | 
| 163   V(PROMISE_RESOLVE_INDEX, JSFunction, promise_resolve)                        \ | 165   V(PROMISE_RESOLVE_INDEX, JSFunction, promise_resolve)                        \ | 
| 164   V(PROMISE_REJECT_INDEX, JSFunction, promise_reject)                          \ | 166   V(PROMISE_REJECT_INDEX, JSFunction, promise_reject)                          \ | 
| 165   V(PROMISE_CHAIN_INDEX, JSFunction, promise_chain)                            \ | 167   V(PROMISE_CHAIN_INDEX, JSFunction, promise_chain)                            \ | 
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 333     STRONG_CONSTRUCTOR_MAP_INDEX, | 335     STRONG_CONSTRUCTOR_MAP_INDEX, | 
| 334     BOUND_FUNCTION_MAP_INDEX, | 336     BOUND_FUNCTION_MAP_INDEX, | 
| 335     INITIAL_OBJECT_PROTOTYPE_INDEX, | 337     INITIAL_OBJECT_PROTOTYPE_INDEX, | 
| 336     INITIAL_ARRAY_PROTOTYPE_INDEX, | 338     INITIAL_ARRAY_PROTOTYPE_INDEX, | 
| 337     BOOLEAN_FUNCTION_INDEX, | 339     BOOLEAN_FUNCTION_INDEX, | 
| 338     NUMBER_FUNCTION_INDEX, | 340     NUMBER_FUNCTION_INDEX, | 
| 339     STRING_FUNCTION_INDEX, | 341     STRING_FUNCTION_INDEX, | 
| 340     STRING_FUNCTION_PROTOTYPE_MAP_INDEX, | 342     STRING_FUNCTION_PROTOTYPE_MAP_INDEX, | 
| 341     SYMBOL_FUNCTION_INDEX, | 343     SYMBOL_FUNCTION_INDEX, | 
| 342     OBJECT_FUNCTION_INDEX, | 344     OBJECT_FUNCTION_INDEX, | 
|  | 345     JS_OBJECT_STRONG_MAP_INDEX, | 
| 343     INTERNAL_ARRAY_FUNCTION_INDEX, | 346     INTERNAL_ARRAY_FUNCTION_INDEX, | 
| 344     ARRAY_FUNCTION_INDEX, | 347     ARRAY_FUNCTION_INDEX, | 
| 345     JS_ARRAY_MAPS_INDEX, | 348     JS_ARRAY_MAPS_INDEX, | 
| 346     JS_ARRAY_STRONG_MAPS_INDEX, | 349     JS_ARRAY_STRONG_MAPS_INDEX, | 
| 347     DATE_FUNCTION_INDEX, | 350     DATE_FUNCTION_INDEX, | 
| 348     JSON_OBJECT_INDEX, | 351     JSON_OBJECT_INDEX, | 
| 349     REGEXP_FUNCTION_INDEX, | 352     REGEXP_FUNCTION_INDEX, | 
| 350     CREATE_DATE_FUN_INDEX, | 353     CREATE_DATE_FUN_INDEX, | 
| 351     TO_NUMBER_FUN_INDEX, | 354     TO_NUMBER_FUN_INDEX, | 
| 352     TO_STRING_FUN_INDEX, | 355     TO_STRING_FUN_INDEX, | 
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 420     SLOPPY_GENERATOR_FUNCTION_MAP_INDEX, | 423     SLOPPY_GENERATOR_FUNCTION_MAP_INDEX, | 
| 421     STRICT_GENERATOR_FUNCTION_MAP_INDEX, | 424     STRICT_GENERATOR_FUNCTION_MAP_INDEX, | 
| 422     STRONG_GENERATOR_FUNCTION_MAP_INDEX, | 425     STRONG_GENERATOR_FUNCTION_MAP_INDEX, | 
| 423     GENERATOR_OBJECT_PROTOTYPE_MAP_INDEX, | 426     GENERATOR_OBJECT_PROTOTYPE_MAP_INDEX, | 
| 424     ITERATOR_RESULT_MAP_INDEX, | 427     ITERATOR_RESULT_MAP_INDEX, | 
| 425     MAP_ITERATOR_MAP_INDEX, | 428     MAP_ITERATOR_MAP_INDEX, | 
| 426     SET_ITERATOR_MAP_INDEX, | 429     SET_ITERATOR_MAP_INDEX, | 
| 427     ARRAY_VALUES_ITERATOR_INDEX, | 430     ARRAY_VALUES_ITERATOR_INDEX, | 
| 428     SCRIPT_CONTEXT_TABLE_INDEX, | 431     SCRIPT_CONTEXT_TABLE_INDEX, | 
| 429     MAP_CACHE_INDEX, | 432     MAP_CACHE_INDEX, | 
|  | 433     STRONG_MAP_CACHE_INDEX, | 
| 430     TO_LENGTH_FUN_INDEX, | 434     TO_LENGTH_FUN_INDEX, | 
| 431     NATIVES_UTILS_OBJECT_INDEX, | 435     NATIVES_UTILS_OBJECT_INDEX, | 
| 432     EXTRAS_EXPORTS_OBJECT_INDEX, | 436     EXTRAS_EXPORTS_OBJECT_INDEX, | 
| 433 | 437 | 
| 434     // Properties from here are treated as weak references by the full GC. | 438     // Properties from here are treated as weak references by the full GC. | 
| 435     // Scavenge treats them as strong references. | 439     // Scavenge treats them as strong references. | 
| 436     OPTIMIZED_FUNCTIONS_LIST,  // Weak. | 440     OPTIMIZED_FUNCTIONS_LIST,  // Weak. | 
| 437     OPTIMIZED_CODE_LIST,       // Weak. | 441     OPTIMIZED_CODE_LIST,       // Weak. | 
| 438     DEOPTIMIZED_CODE_LIST,     // Weak. | 442     DEOPTIMIZED_CODE_LIST,     // Weak. | 
| 439     NEXT_CONTEXT_LINK,         // Weak. | 443     NEXT_CONTEXT_LINK,         // Weak. | 
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 630   static bool IsBootstrappingOrGlobalObject(Isolate* isolate, Object* object); | 634   static bool IsBootstrappingOrGlobalObject(Isolate* isolate, Object* object); | 
| 631 #endif | 635 #endif | 
| 632 | 636 | 
| 633   STATIC_ASSERT(kHeaderSize == Internals::kContextHeaderSize); | 637   STATIC_ASSERT(kHeaderSize == Internals::kContextHeaderSize); | 
| 634   STATIC_ASSERT(EMBEDDER_DATA_INDEX == Internals::kContextEmbedderDataIndex); | 638   STATIC_ASSERT(EMBEDDER_DATA_INDEX == Internals::kContextEmbedderDataIndex); | 
| 635 }; | 639 }; | 
| 636 | 640 | 
| 637 } }  // namespace v8::internal | 641 } }  // namespace v8::internal | 
| 638 | 642 | 
| 639 #endif  // V8_CONTEXTS_H_ | 643 #endif  // V8_CONTEXTS_H_ | 
| OLD | NEW | 
|---|