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_RUNTIME_H_ | 5 #ifndef V8_RUNTIME_H_ |
6 #define V8_RUNTIME_H_ | 6 #define V8_RUNTIME_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/zone.h" | 9 #include "src/zone.h" |
10 | 10 |
(...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
632 RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \ | 632 RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \ |
633 RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \ | 633 RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \ |
634 RUNTIME_FUNCTION_LIST_DEBUG(F) \ | 634 RUNTIME_FUNCTION_LIST_DEBUG(F) \ |
635 RUNTIME_FUNCTION_LIST_DEBUGGER(F) \ | 635 RUNTIME_FUNCTION_LIST_DEBUGGER(F) \ |
636 RUNTIME_FUNCTION_LIST_I18N_SUPPORT(F) | 636 RUNTIME_FUNCTION_LIST_I18N_SUPPORT(F) |
637 | 637 |
638 // ---------------------------------------------------------------------------- | 638 // ---------------------------------------------------------------------------- |
639 // INLINE_FUNCTION_LIST defines all inlined functions accessed | 639 // INLINE_FUNCTION_LIST defines all inlined functions accessed |
640 // with a native call of the form %_name from within JS code. | 640 // with a native call of the form %_name from within JS code. |
641 // Entries have the form F(name, number of arguments, number of return values). | 641 // Entries have the form F(name, number of arguments, number of return values). |
642 #define INLINE_FUNCTION_LIST(F) \ | 642 #define INLINE_FUNCTION_LIST(F) \ |
643 F(IsSmi, 1, 1) \ | 643 F(IsSmi, 1, 1) \ |
644 F(IsNonNegativeSmi, 1, 1) \ | 644 F(IsNonNegativeSmi, 1, 1) \ |
645 F(IsArray, 1, 1) \ | 645 F(IsArray, 1, 1) \ |
646 F(IsRegExp, 1, 1) \ | 646 F(IsRegExp, 1, 1) \ |
647 F(IsConstructCall, 0, 1) \ | 647 F(IsConstructCall, 0, 1) \ |
648 F(CallFunction, -1 /* receiver + n args + function */, 1) \ | 648 F(CallFunction, -1 /* receiver + n args + function */, 1) \ |
649 F(ArgumentsLength, 0, 1) \ | 649 F(ArgumentsLength, 0, 1) \ |
650 F(Arguments, 1, 1) \ | 650 F(Arguments, 1, 1) \ |
651 F(ValueOf, 1, 1) \ | 651 F(ValueOf, 1, 1) \ |
652 F(SetValueOf, 2, 1) \ | 652 F(SetValueOf, 2, 1) \ |
653 F(DateField, 2 /* date object, field index */, 1) \ | 653 F(DateField, 2 /* date object, field index */, 1) \ |
654 F(StringCharFromCode, 1, 1) \ | 654 F(StringCharFromCode, 1, 1) \ |
655 F(StringCharAt, 2, 1) \ | 655 F(StringCharAt, 2, 1) \ |
656 F(OneByteSeqStringSetChar, 3, 1) \ | 656 F(OneByteSeqStringSetChar, 3, 1) \ |
657 F(TwoByteSeqStringSetChar, 3, 1) \ | 657 F(TwoByteSeqStringSetChar, 3, 1) \ |
658 F(ObjectEquals, 2, 1) \ | 658 F(ObjectEquals, 2, 1) \ |
659 F(IsObject, 1, 1) \ | 659 F(IsObject, 1, 1) \ |
660 F(IsFunction, 1, 1) \ | 660 F(IsFunction, 1, 1) \ |
661 F(IsUndetectableObject, 1, 1) \ | 661 F(IsUndetectableObject, 1, 1) \ |
662 F(IsSpecObject, 1, 1) \ | 662 F(IsSpecObject, 1, 1) \ |
663 F(IsStringWrapperSafeForDefaultValueOf, 1, 1) \ | 663 F(IsStringWrapperSafeForDefaultValueOf, 1, 1) \ |
664 F(MathPow, 2, 1) \ | 664 F(MathPow, 2, 1) \ |
665 F(IsMinusZero, 1, 1) \ | 665 F(IsMinusZero, 1, 1) \ |
666 F(HasCachedArrayIndex, 1, 1) \ | 666 F(HasCachedArrayIndex, 1, 1) \ |
667 F(GetCachedArrayIndex, 1, 1) \ | 667 F(GetCachedArrayIndex, 1, 1) \ |
668 F(FastAsciiArrayJoin, 2, 1) \ | 668 F(FastOneByteArrayJoin, 2, 1) \ |
669 F(GeneratorNext, 2, 1) \ | 669 F(GeneratorNext, 2, 1) \ |
670 F(GeneratorThrow, 2, 1) \ | 670 F(GeneratorThrow, 2, 1) \ |
671 F(DebugBreakInOptimizedCode, 0, 1) \ | 671 F(DebugBreakInOptimizedCode, 0, 1) \ |
672 F(ClassOf, 1, 1) \ | 672 F(ClassOf, 1, 1) \ |
673 F(StringCharCodeAt, 2, 1) \ | 673 F(StringCharCodeAt, 2, 1) \ |
674 F(StringAdd, 2, 1) \ | 674 F(StringAdd, 2, 1) \ |
675 F(SubString, 3, 1) \ | 675 F(SubString, 3, 1) \ |
676 F(StringCompare, 2, 1) \ | 676 F(StringCompare, 2, 1) \ |
677 F(RegExpExec, 4, 1) \ | 677 F(RegExpExec, 4, 1) \ |
678 F(RegExpConstructResult, 3, 1) \ | 678 F(RegExpConstructResult, 3, 1) \ |
679 F(GetFromCache, 2, 1) \ | 679 F(GetFromCache, 2, 1) \ |
680 F(NumberToString, 1, 1) \ | 680 F(NumberToString, 1, 1) \ |
681 F(DebugIsActive, 0, 1) | 681 F(DebugIsActive, 0, 1) |
682 | 682 |
683 | 683 |
684 // ---------------------------------------------------------------------------- | 684 // ---------------------------------------------------------------------------- |
685 // INLINE_OPTIMIZED_FUNCTION_LIST defines all inlined functions accessed | 685 // INLINE_OPTIMIZED_FUNCTION_LIST defines all inlined functions accessed |
686 // with a native call of the form %_name from within JS code that also have | 686 // with a native call of the form %_name from within JS code that also have |
687 // a corresponding runtime function, that is called from non-optimized code. | 687 // a corresponding runtime function, that is called from non-optimized code. |
688 // For the benefit of (fuzz) tests, the runtime version can also be called | 688 // For the benefit of (fuzz) tests, the runtime version can also be called |
689 // directly as %name (i.e. without the leading underscore). | 689 // directly as %name (i.e. without the leading underscore). |
690 // Entries have the form F(name, number of arguments, number of return values). | 690 // Entries have the form F(name, number of arguments, number of return values). |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
904 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {}; | 904 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {}; |
905 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {}; | 905 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {}; |
906 | 906 |
907 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; | 907 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; |
908 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; | 908 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; |
909 class DeclareGlobalsStrictMode: public BitField<StrictMode, 2, 1> {}; | 909 class DeclareGlobalsStrictMode: public BitField<StrictMode, 2, 1> {}; |
910 | 910 |
911 } } // namespace v8::internal | 911 } } // namespace v8::internal |
912 | 912 |
913 #endif // V8_RUNTIME_H_ | 913 #endif // V8_RUNTIME_H_ |
OLD | NEW |