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 <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 POLYMORPHIC, | 592 POLYMORPHIC, |
593 // Many receiver types have been seen. | 593 // Many receiver types have been seen. |
594 MEGAMORPHIC, | 594 MEGAMORPHIC, |
595 // A generic handler is installed and no extra typefeedback is recorded. | 595 // A generic handler is installed and no extra typefeedback is recorded. |
596 GENERIC, | 596 GENERIC, |
597 // Special state for debug break or step in prepare stubs. | 597 // Special state for debug break or step in prepare stubs. |
598 DEBUG_STUB | 598 DEBUG_STUB |
599 }; | 599 }; |
600 | 600 |
601 | 601 |
602 enum CallConstructorFlags { | |
603 NO_CALL_CONSTRUCTOR_FLAGS = 0, | |
604 // The call target is cached in the instruction stream. | |
605 RECORD_CONSTRUCTOR_TARGET = 1, | |
606 // TODO(bmeurer): Kill these SUPER_* modes and use the Construct builtin | |
607 // directly instead; also there's no point in collecting any "targets" for | |
608 // super constructor calls, since these are known when we optimize the | |
609 // constructor that contains the super call. | |
610 SUPER_CONSTRUCTOR_CALL = 1 << 1, | |
611 SUPER_CALL_RECORD_TARGET = SUPER_CONSTRUCTOR_CALL | RECORD_CONSTRUCTOR_TARGET | |
612 }; | |
613 | |
614 | |
615 enum CacheHolderFlag { | 602 enum CacheHolderFlag { |
616 kCacheOnPrototype, | 603 kCacheOnPrototype, |
617 kCacheOnPrototypeReceiverIsDictionary, | 604 kCacheOnPrototypeReceiverIsDictionary, |
618 kCacheOnPrototypeReceiverIsPrimitive, | 605 kCacheOnPrototypeReceiverIsPrimitive, |
619 kCacheOnReceiver | 606 kCacheOnReceiver |
620 }; | 607 }; |
621 | 608 |
622 | 609 |
623 // The Store Buffer (GC). | 610 // The Store Buffer (GC). |
624 typedef enum { | 611 typedef enum { |
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1045 kind = static_cast<FunctionKind>(kind | FunctionKind::kInObjectLiteral); | 1032 kind = static_cast<FunctionKind>(kind | FunctionKind::kInObjectLiteral); |
1046 DCHECK(IsValidFunctionKind(kind)); | 1033 DCHECK(IsValidFunctionKind(kind)); |
1047 return kind; | 1034 return kind; |
1048 } | 1035 } |
1049 } // namespace internal | 1036 } // namespace internal |
1050 } // namespace v8 | 1037 } // namespace v8 |
1051 | 1038 |
1052 namespace i = v8::internal; | 1039 namespace i = v8::internal; |
1053 | 1040 |
1054 #endif // V8_GLOBALS_H_ | 1041 #endif // V8_GLOBALS_H_ |
OLD | NEW |