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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 // | 94 // |
95 // Note: Context must have no virtual functions and Context objects | 95 // Note: Context must have no virtual functions and Context objects |
96 // must always be allocated via Heap::AllocateContext() or | 96 // must always be allocated via Heap::AllocateContext() or |
97 // Factory::NewContext. | 97 // Factory::NewContext. |
98 | 98 |
99 #define NATIVE_CONTEXT_FIELDS(V) \ | 99 #define NATIVE_CONTEXT_FIELDS(V) \ |
100 V(GLOBAL_PROXY_INDEX, JSObject, global_proxy_object) \ | 100 V(GLOBAL_PROXY_INDEX, JSObject, global_proxy_object) \ |
101 V(SECURITY_TOKEN_INDEX, Object, security_token) \ | 101 V(SECURITY_TOKEN_INDEX, Object, security_token) \ |
102 V(BOOLEAN_FUNCTION_INDEX, JSFunction, boolean_function) \ | 102 V(BOOLEAN_FUNCTION_INDEX, JSFunction, boolean_function) \ |
103 V(NUMBER_FUNCTION_INDEX, JSFunction, number_function) \ | 103 V(NUMBER_FUNCTION_INDEX, JSFunction, number_function) \ |
| 104 V(FLOAT32x4_FUNCTION_INDEX, JSFunction, float32x4_function) \ |
| 105 V(FLOAT32x4_FUNCTION_PROTOTYPE_MAP_INDEX, Map, \ |
| 106 float32x4_function_prototype_map) \ |
| 107 V(INT32x4_FUNCTION_INDEX, JSFunction, int32x4_function) \ |
| 108 V(INT32x4_FUNCTION_PROTOTYPE_MAP_INDEX, Map, \ |
| 109 int32x4_function_prototype_map) \ |
104 V(STRING_FUNCTION_INDEX, JSFunction, string_function) \ | 110 V(STRING_FUNCTION_INDEX, JSFunction, string_function) \ |
105 V(STRING_FUNCTION_PROTOTYPE_MAP_INDEX, Map, string_function_prototype_map) \ | 111 V(STRING_FUNCTION_PROTOTYPE_MAP_INDEX, Map, string_function_prototype_map) \ |
106 V(SYMBOL_FUNCTION_INDEX, JSFunction, symbol_function) \ | 112 V(SYMBOL_FUNCTION_INDEX, JSFunction, symbol_function) \ |
107 V(OBJECT_FUNCTION_INDEX, JSFunction, object_function) \ | 113 V(OBJECT_FUNCTION_INDEX, JSFunction, object_function) \ |
108 V(INTERNAL_ARRAY_FUNCTION_INDEX, JSFunction, internal_array_function) \ | 114 V(INTERNAL_ARRAY_FUNCTION_INDEX, JSFunction, internal_array_function) \ |
109 V(ARRAY_FUNCTION_INDEX, JSFunction, array_function) \ | 115 V(ARRAY_FUNCTION_INDEX, JSFunction, array_function) \ |
110 V(JS_ARRAY_MAPS_INDEX, Object, js_array_maps) \ | 116 V(JS_ARRAY_MAPS_INDEX, Object, js_array_maps) \ |
111 V(DATE_FUNCTION_INDEX, JSFunction, date_function) \ | 117 V(DATE_FUNCTION_INDEX, JSFunction, date_function) \ |
112 V(JSON_OBJECT_INDEX, JSObject, json_object) \ | 118 V(JSON_OBJECT_INDEX, JSObject, json_object) \ |
113 V(REGEXP_FUNCTION_INDEX, JSFunction, regexp_function) \ | 119 V(REGEXP_FUNCTION_INDEX, JSFunction, regexp_function) \ |
(...skipping 11 matching lines...) Expand all Loading... |
125 V(INSTANTIATE_FUN_INDEX, JSFunction, instantiate_fun) \ | 131 V(INSTANTIATE_FUN_INDEX, JSFunction, instantiate_fun) \ |
126 V(CONFIGURE_INSTANCE_FUN_INDEX, JSFunction, configure_instance_fun) \ | 132 V(CONFIGURE_INSTANCE_FUN_INDEX, JSFunction, configure_instance_fun) \ |
127 V(ARRAY_BUFFER_FUN_INDEX, JSFunction, array_buffer_fun) \ | 133 V(ARRAY_BUFFER_FUN_INDEX, JSFunction, array_buffer_fun) \ |
128 V(UINT8_ARRAY_FUN_INDEX, JSFunction, uint8_array_fun) \ | 134 V(UINT8_ARRAY_FUN_INDEX, JSFunction, uint8_array_fun) \ |
129 V(INT8_ARRAY_FUN_INDEX, JSFunction, int8_array_fun) \ | 135 V(INT8_ARRAY_FUN_INDEX, JSFunction, int8_array_fun) \ |
130 V(UINT16_ARRAY_FUN_INDEX, JSFunction, uint16_array_fun) \ | 136 V(UINT16_ARRAY_FUN_INDEX, JSFunction, uint16_array_fun) \ |
131 V(INT16_ARRAY_FUN_INDEX, JSFunction, int16_array_fun) \ | 137 V(INT16_ARRAY_FUN_INDEX, JSFunction, int16_array_fun) \ |
132 V(UINT32_ARRAY_FUN_INDEX, JSFunction, uint32_array_fun) \ | 138 V(UINT32_ARRAY_FUN_INDEX, JSFunction, uint32_array_fun) \ |
133 V(INT32_ARRAY_FUN_INDEX, JSFunction, int32_array_fun) \ | 139 V(INT32_ARRAY_FUN_INDEX, JSFunction, int32_array_fun) \ |
134 V(FLOAT_ARRAY_FUN_INDEX, JSFunction, float_array_fun) \ | 140 V(FLOAT_ARRAY_FUN_INDEX, JSFunction, float_array_fun) \ |
| 141 V(FLOAT32x4_ARRAY_FUN_INDEX, JSFunction, float32x4_array_fun) \ |
| 142 V(INT32x4_ARRAY_FUN_INDEX, JSFunction, int32x4_array_fun) \ |
135 V(DOUBLE_ARRAY_FUN_INDEX, JSFunction, double_array_fun) \ | 143 V(DOUBLE_ARRAY_FUN_INDEX, JSFunction, double_array_fun) \ |
136 V(UINT8C_ARRAY_FUN_INDEX, JSFunction, uint8c_array_fun) \ | 144 V(UINT8C_ARRAY_FUN_INDEX, JSFunction, uint8c_array_fun) \ |
137 V(DATA_VIEW_FUN_INDEX, JSFunction, data_view_fun) \ | 145 V(DATA_VIEW_FUN_INDEX, JSFunction, data_view_fun) \ |
138 V(FUNCTION_MAP_INDEX, Map, function_map) \ | 146 V(FUNCTION_MAP_INDEX, Map, function_map) \ |
139 V(STRICT_MODE_FUNCTION_MAP_INDEX, Map, strict_mode_function_map) \ | 147 V(STRICT_MODE_FUNCTION_MAP_INDEX, Map, strict_mode_function_map) \ |
140 V(FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX, Map, function_without_prototype_map) \ | 148 V(FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX, Map, function_without_prototype_map) \ |
141 V(STRICT_MODE_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX, Map, \ | 149 V(STRICT_MODE_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX, Map, \ |
142 strict_mode_function_without_prototype_map) \ | 150 strict_mode_function_without_prototype_map) \ |
143 V(REGEXP_RESULT_MAP_INDEX, Map, regexp_result_map)\ | 151 V(REGEXP_RESULT_MAP_INDEX, Map, regexp_result_map)\ |
144 V(ARGUMENTS_BOILERPLATE_INDEX, JSObject, arguments_boilerplate) \ | 152 V(ARGUMENTS_BOILERPLATE_INDEX, JSObject, arguments_boilerplate) \ |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 STRICT_MODE_ARGUMENTS_BOILERPLATE_INDEX, | 268 STRICT_MODE_ARGUMENTS_BOILERPLATE_INDEX, |
261 REGEXP_RESULT_MAP_INDEX, | 269 REGEXP_RESULT_MAP_INDEX, |
262 FUNCTION_MAP_INDEX, | 270 FUNCTION_MAP_INDEX, |
263 STRICT_MODE_FUNCTION_MAP_INDEX, | 271 STRICT_MODE_FUNCTION_MAP_INDEX, |
264 FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX, | 272 FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX, |
265 STRICT_MODE_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX, | 273 STRICT_MODE_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX, |
266 INITIAL_OBJECT_PROTOTYPE_INDEX, | 274 INITIAL_OBJECT_PROTOTYPE_INDEX, |
267 INITIAL_ARRAY_PROTOTYPE_INDEX, | 275 INITIAL_ARRAY_PROTOTYPE_INDEX, |
268 BOOLEAN_FUNCTION_INDEX, | 276 BOOLEAN_FUNCTION_INDEX, |
269 NUMBER_FUNCTION_INDEX, | 277 NUMBER_FUNCTION_INDEX, |
| 278 FLOAT32x4_FUNCTION_INDEX, |
| 279 FLOAT32x4_FUNCTION_PROTOTYPE_MAP_INDEX, |
| 280 INT32x4_FUNCTION_INDEX, |
| 281 INT32x4_FUNCTION_PROTOTYPE_MAP_INDEX, |
270 STRING_FUNCTION_INDEX, | 282 STRING_FUNCTION_INDEX, |
271 STRING_FUNCTION_PROTOTYPE_MAP_INDEX, | 283 STRING_FUNCTION_PROTOTYPE_MAP_INDEX, |
272 SYMBOL_FUNCTION_INDEX, | 284 SYMBOL_FUNCTION_INDEX, |
273 OBJECT_FUNCTION_INDEX, | 285 OBJECT_FUNCTION_INDEX, |
274 INTERNAL_ARRAY_FUNCTION_INDEX, | 286 INTERNAL_ARRAY_FUNCTION_INDEX, |
275 ARRAY_FUNCTION_INDEX, | 287 ARRAY_FUNCTION_INDEX, |
276 JS_ARRAY_MAPS_INDEX, | 288 JS_ARRAY_MAPS_INDEX, |
277 DATE_FUNCTION_INDEX, | 289 DATE_FUNCTION_INDEX, |
278 JSON_OBJECT_INDEX, | 290 JSON_OBJECT_INDEX, |
279 REGEXP_FUNCTION_INDEX, | 291 REGEXP_FUNCTION_INDEX, |
(...skipping 10 matching lines...) Expand all Loading... |
290 INSTANTIATE_FUN_INDEX, | 302 INSTANTIATE_FUN_INDEX, |
291 CONFIGURE_INSTANCE_FUN_INDEX, | 303 CONFIGURE_INSTANCE_FUN_INDEX, |
292 ARRAY_BUFFER_FUN_INDEX, | 304 ARRAY_BUFFER_FUN_INDEX, |
293 UINT8_ARRAY_FUN_INDEX, | 305 UINT8_ARRAY_FUN_INDEX, |
294 INT8_ARRAY_FUN_INDEX, | 306 INT8_ARRAY_FUN_INDEX, |
295 UINT16_ARRAY_FUN_INDEX, | 307 UINT16_ARRAY_FUN_INDEX, |
296 INT16_ARRAY_FUN_INDEX, | 308 INT16_ARRAY_FUN_INDEX, |
297 UINT32_ARRAY_FUN_INDEX, | 309 UINT32_ARRAY_FUN_INDEX, |
298 INT32_ARRAY_FUN_INDEX, | 310 INT32_ARRAY_FUN_INDEX, |
299 FLOAT_ARRAY_FUN_INDEX, | 311 FLOAT_ARRAY_FUN_INDEX, |
| 312 FLOAT32x4_ARRAY_FUN_INDEX, |
| 313 INT32x4_ARRAY_FUN_INDEX, |
300 DOUBLE_ARRAY_FUN_INDEX, | 314 DOUBLE_ARRAY_FUN_INDEX, |
301 UINT8C_ARRAY_FUN_INDEX, | 315 UINT8C_ARRAY_FUN_INDEX, |
302 DATA_VIEW_FUN_INDEX, | 316 DATA_VIEW_FUN_INDEX, |
303 MESSAGE_LISTENERS_INDEX, | 317 MESSAGE_LISTENERS_INDEX, |
304 MAKE_MESSAGE_FUN_INDEX, | 318 MAKE_MESSAGE_FUN_INDEX, |
305 GET_STACK_TRACE_LINE_INDEX, | 319 GET_STACK_TRACE_LINE_INDEX, |
306 CONFIGURE_GLOBAL_INDEX, | 320 CONFIGURE_GLOBAL_INDEX, |
307 FUNCTION_CACHE_INDEX, | 321 FUNCTION_CACHE_INDEX, |
308 JSFUNCTION_RESULT_CACHES_INDEX, | 322 JSFUNCTION_RESULT_CACHES_INDEX, |
309 NORMALIZED_MAP_CACHE_INDEX, | 323 NORMALIZED_MAP_CACHE_INDEX, |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
519 static bool IsBootstrappingOrGlobalObject(Isolate* isolate, Object* object); | 533 static bool IsBootstrappingOrGlobalObject(Isolate* isolate, Object* object); |
520 #endif | 534 #endif |
521 | 535 |
522 STATIC_CHECK(kHeaderSize == Internals::kContextHeaderSize); | 536 STATIC_CHECK(kHeaderSize == Internals::kContextHeaderSize); |
523 STATIC_CHECK(EMBEDDER_DATA_INDEX == Internals::kContextEmbedderDataIndex); | 537 STATIC_CHECK(EMBEDDER_DATA_INDEX == Internals::kContextEmbedderDataIndex); |
524 }; | 538 }; |
525 | 539 |
526 } } // namespace v8::internal | 540 } } // namespace v8::internal |
527 | 541 |
528 #endif // V8_CONTEXTS_H_ | 542 #endif // V8_CONTEXTS_H_ |
OLD | NEW |