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_GLOBALS_H_ | 5 #ifndef V8_GLOBALS_H_ |
6 #define V8_GLOBALS_H_ | 6 #define V8_GLOBALS_H_ |
7 | 7 |
8 #include "include/v8stdint.h" | 8 #include "include/v8stdint.h" |
9 | 9 |
10 #include "src/base/build_config.h" | 10 #include "src/base/build_config.h" |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 | 413 |
414 | 414 |
415 // State for inline cache call sites. Aliased as IC::State. | 415 // State for inline cache call sites. Aliased as IC::State. |
416 enum InlineCacheState { | 416 enum InlineCacheState { |
417 // Has never been executed. | 417 // Has never been executed. |
418 UNINITIALIZED, | 418 UNINITIALIZED, |
419 // Has been executed but monomorhic state has been delayed. | 419 // Has been executed but monomorhic state has been delayed. |
420 PREMONOMORPHIC, | 420 PREMONOMORPHIC, |
421 // Has been executed and only one receiver type has been seen. | 421 // Has been executed and only one receiver type has been seen. |
422 MONOMORPHIC, | 422 MONOMORPHIC, |
423 // Like MONOMORPHIC but check failed due to prototype. | 423 // Check failed due to prototype (or map deprecation). |
424 MONOMORPHIC_PROTOTYPE_FAILURE, | 424 PROTOTYPE_FAILURE, |
425 // Multiple receiver types have been seen. | 425 // Multiple receiver types have been seen. |
426 POLYMORPHIC, | 426 POLYMORPHIC, |
427 // Many receiver types have been seen. | 427 // Many receiver types have been seen. |
428 MEGAMORPHIC, | 428 MEGAMORPHIC, |
429 // A generic handler is installed and no extra typefeedback is recorded. | 429 // A generic handler is installed and no extra typefeedback is recorded. |
430 GENERIC, | 430 GENERIC, |
431 // Special state for debug break or step in prepare stubs. | 431 // Special state for debug break or step in prepare stubs. |
432 DEBUG_STUB | 432 DEBUG_STUB |
433 }; | 433 }; |
434 | 434 |
435 | 435 |
436 enum CallFunctionFlags { | 436 enum CallFunctionFlags { |
437 NO_CALL_FUNCTION_FLAGS, | 437 NO_CALL_FUNCTION_FLAGS, |
438 CALL_AS_METHOD, | 438 CALL_AS_METHOD, |
439 // Always wrap the receiver and call to the JSFunction. Only use this flag | 439 // Always wrap the receiver and call to the JSFunction. Only use this flag |
440 // both the receiver type and the target method are statically known. | 440 // both the receiver type and the target method are statically known. |
441 WRAP_AND_CALL | 441 WRAP_AND_CALL |
442 }; | 442 }; |
443 | 443 |
444 | 444 |
445 enum CallConstructorFlags { | 445 enum CallConstructorFlags { |
446 NO_CALL_CONSTRUCTOR_FLAGS, | 446 NO_CALL_CONSTRUCTOR_FLAGS, |
447 // The call target is cached in the instruction stream. | 447 // The call target is cached in the instruction stream. |
448 RECORD_CONSTRUCTOR_TARGET | 448 RECORD_CONSTRUCTOR_TARGET |
449 }; | 449 }; |
450 | 450 |
451 | 451 |
452 enum InlineCacheHolderFlag { | 452 enum CacheHolderFlag { |
453 OWN_MAP, // For fast properties objects. | 453 kCacheOnPrototype, |
454 PROTOTYPE_MAP // For slow properties objects (except GlobalObjects). | 454 kCacheOnPrototypeReceiverIsDictionary, |
| 455 kCacheOnPrototypeReceiverIsPrimitive, |
| 456 kCacheOnReceiver |
455 }; | 457 }; |
456 | 458 |
457 | 459 |
458 // The Store Buffer (GC). | 460 // The Store Buffer (GC). |
459 typedef enum { | 461 typedef enum { |
460 kStoreBufferFullEvent, | 462 kStoreBufferFullEvent, |
461 kStoreBufferStartScanningPagesEvent, | 463 kStoreBufferStartScanningPagesEvent, |
462 kStoreBufferScanningPageEvent | 464 kStoreBufferScanningPageEvent |
463 } StoreBufferEvent; | 465 } StoreBufferEvent; |
464 | 466 |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
725 enum MinusZeroMode { | 727 enum MinusZeroMode { |
726 TREAT_MINUS_ZERO_AS_ZERO, | 728 TREAT_MINUS_ZERO_AS_ZERO, |
727 FAIL_ON_MINUS_ZERO | 729 FAIL_ON_MINUS_ZERO |
728 }; | 730 }; |
729 | 731 |
730 } } // namespace v8::internal | 732 } } // namespace v8::internal |
731 | 733 |
732 namespace i = v8::internal; | 734 namespace i = v8::internal; |
733 | 735 |
734 #endif // V8_GLOBALS_H_ | 736 #endif // V8_GLOBALS_H_ |
OLD | NEW |