OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 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 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 // | 223 // |
224 // NOTE: Everything following JS_VALUE_TYPE is considered a | 224 // NOTE: Everything following JS_VALUE_TYPE is considered a |
225 // JSObject for GC purposes. The first four entries here have typeof | 225 // JSObject for GC purposes. The first four entries here have typeof |
226 // 'object', whereas JS_FUNCTION_TYPE has typeof 'function'. | 226 // 'object', whereas JS_FUNCTION_TYPE has typeof 'function'. |
227 #define INSTANCE_TYPE_LIST_ALL(V) \ | 227 #define INSTANCE_TYPE_LIST_ALL(V) \ |
228 V(SYMBOL_TYPE) \ | 228 V(SYMBOL_TYPE) \ |
229 V(ASCII_SYMBOL_TYPE) \ | 229 V(ASCII_SYMBOL_TYPE) \ |
230 V(CONS_SYMBOL_TYPE) \ | 230 V(CONS_SYMBOL_TYPE) \ |
231 V(CONS_ASCII_SYMBOL_TYPE) \ | 231 V(CONS_ASCII_SYMBOL_TYPE) \ |
232 V(EXTERNAL_SYMBOL_TYPE) \ | 232 V(EXTERNAL_SYMBOL_TYPE) \ |
| 233 V(EXTERNAL_SYMBOL_WITH_ASCII_DATA_TYPE) \ |
233 V(EXTERNAL_ASCII_SYMBOL_TYPE) \ | 234 V(EXTERNAL_ASCII_SYMBOL_TYPE) \ |
234 V(STRING_TYPE) \ | 235 V(STRING_TYPE) \ |
235 V(ASCII_STRING_TYPE) \ | 236 V(ASCII_STRING_TYPE) \ |
236 V(CONS_STRING_TYPE) \ | 237 V(CONS_STRING_TYPE) \ |
237 V(CONS_ASCII_STRING_TYPE) \ | 238 V(CONS_ASCII_STRING_TYPE) \ |
238 V(EXTERNAL_STRING_TYPE) \ | 239 V(EXTERNAL_STRING_TYPE) \ |
| 240 V(EXTERNAL_STRING_WITH_ASCII_DATA_TYPE) \ |
239 V(EXTERNAL_ASCII_STRING_TYPE) \ | 241 V(EXTERNAL_ASCII_STRING_TYPE) \ |
240 V(PRIVATE_EXTERNAL_ASCII_STRING_TYPE) \ | 242 V(PRIVATE_EXTERNAL_ASCII_STRING_TYPE) \ |
241 \ | 243 \ |
242 V(MAP_TYPE) \ | 244 V(MAP_TYPE) \ |
243 V(CODE_TYPE) \ | 245 V(CODE_TYPE) \ |
| 246 V(ODDBALL_TYPE) \ |
244 V(JS_GLOBAL_PROPERTY_CELL_TYPE) \ | 247 V(JS_GLOBAL_PROPERTY_CELL_TYPE) \ |
245 V(ODDBALL_TYPE) \ | |
246 \ | 248 \ |
247 V(HEAP_NUMBER_TYPE) \ | 249 V(HEAP_NUMBER_TYPE) \ |
248 V(PROXY_TYPE) \ | 250 V(PROXY_TYPE) \ |
249 V(BYTE_ARRAY_TYPE) \ | 251 V(BYTE_ARRAY_TYPE) \ |
250 V(PIXEL_ARRAY_TYPE) \ | 252 V(PIXEL_ARRAY_TYPE) \ |
251 /* Note: the order of these external array */ \ | 253 /* Note: the order of these external array */ \ |
252 /* types is relied upon in */ \ | 254 /* types is relied upon in */ \ |
253 /* Object::IsExternalArray(). */ \ | 255 /* Object::IsExternalArray(). */ \ |
254 V(EXTERNAL_BYTE_ARRAY_TYPE) \ | 256 V(EXTERNAL_BYTE_ARRAY_TYPE) \ |
255 V(EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE) \ | 257 V(EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE) \ |
256 V(EXTERNAL_SHORT_ARRAY_TYPE) \ | 258 V(EXTERNAL_SHORT_ARRAY_TYPE) \ |
257 V(EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE) \ | 259 V(EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE) \ |
258 V(EXTERNAL_INT_ARRAY_TYPE) \ | 260 V(EXTERNAL_INT_ARRAY_TYPE) \ |
259 V(EXTERNAL_UNSIGNED_INT_ARRAY_TYPE) \ | 261 V(EXTERNAL_UNSIGNED_INT_ARRAY_TYPE) \ |
260 V(EXTERNAL_FLOAT_ARRAY_TYPE) \ | 262 V(EXTERNAL_FLOAT_ARRAY_TYPE) \ |
261 V(FILLER_TYPE) \ | 263 V(FILLER_TYPE) \ |
262 \ | 264 \ |
263 V(FIXED_ARRAY_TYPE) \ | |
264 V(ACCESSOR_INFO_TYPE) \ | 265 V(ACCESSOR_INFO_TYPE) \ |
265 V(ACCESS_CHECK_INFO_TYPE) \ | 266 V(ACCESS_CHECK_INFO_TYPE) \ |
266 V(INTERCEPTOR_INFO_TYPE) \ | 267 V(INTERCEPTOR_INFO_TYPE) \ |
267 V(SHARED_FUNCTION_INFO_TYPE) \ | |
268 V(CALL_HANDLER_INFO_TYPE) \ | 268 V(CALL_HANDLER_INFO_TYPE) \ |
269 V(FUNCTION_TEMPLATE_INFO_TYPE) \ | 269 V(FUNCTION_TEMPLATE_INFO_TYPE) \ |
270 V(OBJECT_TEMPLATE_INFO_TYPE) \ | 270 V(OBJECT_TEMPLATE_INFO_TYPE) \ |
271 V(SIGNATURE_INFO_TYPE) \ | 271 V(SIGNATURE_INFO_TYPE) \ |
272 V(TYPE_SWITCH_INFO_TYPE) \ | 272 V(TYPE_SWITCH_INFO_TYPE) \ |
273 V(SCRIPT_TYPE) \ | 273 V(SCRIPT_TYPE) \ |
274 V(CODE_CACHE_TYPE) \ | 274 V(CODE_CACHE_TYPE) \ |
275 \ | 275 \ |
| 276 V(FIXED_ARRAY_TYPE) \ |
| 277 V(SHARED_FUNCTION_INFO_TYPE) \ |
| 278 \ |
276 V(JS_VALUE_TYPE) \ | 279 V(JS_VALUE_TYPE) \ |
277 V(JS_OBJECT_TYPE) \ | 280 V(JS_OBJECT_TYPE) \ |
278 V(JS_CONTEXT_EXTENSION_OBJECT_TYPE) \ | 281 V(JS_CONTEXT_EXTENSION_OBJECT_TYPE) \ |
279 V(JS_GLOBAL_OBJECT_TYPE) \ | 282 V(JS_GLOBAL_OBJECT_TYPE) \ |
280 V(JS_BUILTINS_OBJECT_TYPE) \ | 283 V(JS_BUILTINS_OBJECT_TYPE) \ |
281 V(JS_GLOBAL_PROXY_TYPE) \ | 284 V(JS_GLOBAL_PROXY_TYPE) \ |
282 V(JS_ARRAY_TYPE) \ | 285 V(JS_ARRAY_TYPE) \ |
283 V(JS_REGEXP_TYPE) \ | 286 V(JS_REGEXP_TYPE) \ |
284 \ | 287 \ |
285 V(JS_FUNCTION_TYPE) \ | 288 V(JS_FUNCTION_TYPE) \ |
(...skipping 5196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5482 } else { | 5485 } else { |
5483 value &= ~(1 << bit_position); | 5486 value &= ~(1 << bit_position); |
5484 } | 5487 } |
5485 return value; | 5488 return value; |
5486 } | 5489 } |
5487 }; | 5490 }; |
5488 | 5491 |
5489 } } // namespace v8::internal | 5492 } } // namespace v8::internal |
5490 | 5493 |
5491 #endif // V8_OBJECTS_H_ | 5494 #endif // V8_OBJECTS_H_ |
OLD | NEW |