OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 OWN_MAP, // For fast properties objects. | 311 OWN_MAP, // For fast properties objects. |
312 PROTOTYPE_MAP // For slow properties objects (except GlobalObjects). | 312 PROTOTYPE_MAP // For slow properties objects (except GlobalObjects). |
313 }; | 313 }; |
314 | 314 |
315 | 315 |
316 // Type of properties. | 316 // Type of properties. |
317 // Order of properties is significant. | 317 // Order of properties is significant. |
318 // Must fit in the BitField PropertyDetails::TypeField. | 318 // Must fit in the BitField PropertyDetails::TypeField. |
319 // A copy of this is in mirror-debugger.js. | 319 // A copy of this is in mirror-debugger.js. |
320 enum PropertyType { | 320 enum PropertyType { |
321 NORMAL = 0, // only in slow mode | 321 NORMAL = 0, // only in slow mode |
322 FIELD = 1, // only in fast mode | 322 FIELD = 1, // only in fast mode |
323 CONSTANT_FUNCTION = 2, // only in fast mode | 323 CONSTANT_FUNCTION = 2, // only in fast mode |
324 CALLBACKS = 3, | 324 CALLBACKS = 3, |
325 INTERCEPTOR = 4, // only in lookup results, not in descriptors. | 325 INTERCEPTOR = 4, // only in lookup results, not in descriptors. |
326 MAP_TRANSITION = 5, // only in fast mode | 326 MAP_TRANSITION = 5, // only in fast mode |
327 CONSTANT_TRANSITION = 6, // only in fast mode | 327 EXTERNAL_ARRAY_TRANSITION = 6, |
328 NULL_DESCRIPTOR = 7, // only in fast mode | 328 CONSTANT_TRANSITION = 7, // only in fast mode |
| 329 NULL_DESCRIPTOR = 8, // only in fast mode |
329 // All properties before MAP_TRANSITION are real. | 330 // All properties before MAP_TRANSITION are real. |
330 FIRST_PHANTOM_PROPERTY_TYPE = MAP_TRANSITION, | 331 FIRST_PHANTOM_PROPERTY_TYPE = MAP_TRANSITION, |
331 // There are no IC stubs for NULL_DESCRIPTORS. Therefore, | 332 // There are no IC stubs for NULL_DESCRIPTORS. Therefore, |
332 // NULL_DESCRIPTOR can be used as the type flag for IC stubs for | 333 // NULL_DESCRIPTOR can be used as the type flag for IC stubs for |
333 // nonexistent properties. | 334 // nonexistent properties. |
334 NONEXISTENT = NULL_DESCRIPTOR | 335 NONEXISTENT = NULL_DESCRIPTOR |
335 }; | 336 }; |
336 | 337 |
337 | 338 |
338 // Whether to remove map transitions and constant transitions from a | 339 // Whether to remove map transitions and constant transitions from a |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 kStrictMode, | 476 kStrictMode, |
476 // This value is never used, but is needed to prevent GCC 4.5 from failing | 477 // This value is never used, but is needed to prevent GCC 4.5 from failing |
477 // to compile when we assert that a flag is either kNonStrictMode or | 478 // to compile when we assert that a flag is either kNonStrictMode or |
478 // kStrictMode. | 479 // kStrictMode. |
479 kInvalidStrictFlag | 480 kInvalidStrictFlag |
480 }; | 481 }; |
481 | 482 |
482 } } // namespace v8::internal | 483 } } // namespace v8::internal |
483 | 484 |
484 #endif // V8_V8GLOBALS_H_ | 485 #endif // V8_V8GLOBALS_H_ |
OLD | NEW |