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 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 enum CallFunctionFlags { | 520 enum CallFunctionFlags { |
521 NO_CALL_FUNCTION_FLAGS, | 521 NO_CALL_FUNCTION_FLAGS, |
522 CALL_AS_METHOD, | 522 CALL_AS_METHOD, |
523 // Always wrap the receiver and call to the JSFunction. Only use this flag | 523 // Always wrap the receiver and call to the JSFunction. Only use this flag |
524 // both the receiver type and the target method are statically known. | 524 // both the receiver type and the target method are statically known. |
525 WRAP_AND_CALL | 525 WRAP_AND_CALL |
526 }; | 526 }; |
527 | 527 |
528 | 528 |
529 enum CallConstructorFlags { | 529 enum CallConstructorFlags { |
530 NO_CALL_CONSTRUCTOR_FLAGS, | 530 NO_CALL_CONSTRUCTOR_FLAGS = 0, |
531 // The call target is cached in the instruction stream. | 531 // The call target is cached in the instruction stream. |
532 RECORD_CONSTRUCTOR_TARGET | 532 RECORD_CONSTRUCTOR_TARGET = 1, |
| 533 SUPER_CONSTRUCTOR_CALL = 1 << 1, |
| 534 SUPER_CALL_RECORD_TARGET = SUPER_CONSTRUCTOR_CALL | RECORD_CONSTRUCTOR_TARGET |
533 }; | 535 }; |
534 | 536 |
535 | 537 |
536 enum CacheHolderFlag { | 538 enum CacheHolderFlag { |
537 kCacheOnPrototype, | 539 kCacheOnPrototype, |
538 kCacheOnPrototypeReceiverIsDictionary, | 540 kCacheOnPrototypeReceiverIsDictionary, |
539 kCacheOnPrototypeReceiverIsPrimitive, | 541 kCacheOnPrototypeReceiverIsPrimitive, |
540 kCacheOnReceiver | 542 kCacheOnReceiver |
541 }; | 543 }; |
542 | 544 |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
884 DCHECK(IsValidFunctionKind(kind)); | 886 DCHECK(IsValidFunctionKind(kind)); |
885 return kind & | 887 return kind & |
886 (FunctionKind::kBaseConstructor | FunctionKind::kSubclassConstructor | | 888 (FunctionKind::kBaseConstructor | FunctionKind::kSubclassConstructor | |
887 FunctionKind::kDefaultConstructor); | 889 FunctionKind::kDefaultConstructor); |
888 } | 890 } |
889 } } // namespace v8::internal | 891 } } // namespace v8::internal |
890 | 892 |
891 namespace i = v8::internal; | 893 namespace i = v8::internal; |
892 | 894 |
893 #endif // V8_GLOBALS_H_ | 895 #endif // V8_GLOBALS_H_ |
OLD | NEW |