OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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_BUILTINS_BUILTINS_H_ | 5 #ifndef V8_BUILTINS_BUILTINS_H_ |
6 #define V8_BUILTINS_BUILTINS_H_ | 6 #define V8_BUILTINS_BUILTINS_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 | 10 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 ASM(CallBoundFunction) \ | 68 ASM(CallBoundFunction) \ |
69 ASM(TailCallBoundFunction) \ | 69 ASM(TailCallBoundFunction) \ |
70 /* ES6 section 7.3.12 Call(F, V, [argumentsList]) */ \ | 70 /* ES6 section 7.3.12 Call(F, V, [argumentsList]) */ \ |
71 ASM(Call_ReceiverIsNullOrUndefined) \ | 71 ASM(Call_ReceiverIsNullOrUndefined) \ |
72 ASM(Call_ReceiverIsNotNullOrUndefined) \ | 72 ASM(Call_ReceiverIsNotNullOrUndefined) \ |
73 ASM(Call_ReceiverIsAny) \ | 73 ASM(Call_ReceiverIsAny) \ |
74 ASM(TailCall_ReceiverIsNullOrUndefined) \ | 74 ASM(TailCall_ReceiverIsNullOrUndefined) \ |
75 ASM(TailCall_ReceiverIsNotNullOrUndefined) \ | 75 ASM(TailCall_ReceiverIsNotNullOrUndefined) \ |
76 ASM(TailCall_ReceiverIsAny) \ | 76 ASM(TailCall_ReceiverIsAny) \ |
77 ASM(CallWithSpread) \ | 77 ASM(CallWithSpread) \ |
| 78 ASM(CallForwardVarargs) \ |
| 79 ASM(CallFunctionForwardVarargs) \ |
78 \ | 80 \ |
79 /* Construct */ \ | 81 /* Construct */ \ |
80 /* ES6 section 9.2.2 [[Construct]] ( argumentsList, newTarget) */ \ | 82 /* ES6 section 9.2.2 [[Construct]] ( argumentsList, newTarget) */ \ |
81 ASM(ConstructFunction) \ | 83 ASM(ConstructFunction) \ |
82 /* ES6 section 9.4.1.2 [[Construct]] (argumentsList, newTarget) */ \ | 84 /* ES6 section 9.4.1.2 [[Construct]] (argumentsList, newTarget) */ \ |
83 ASM(ConstructBoundFunction) \ | 85 ASM(ConstructBoundFunction) \ |
84 ASM(ConstructedNonConstructable) \ | 86 ASM(ConstructedNonConstructable) \ |
85 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \ | 87 /* ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) */ \ |
86 ASM(ConstructProxy) \ | 88 ASM(ConstructProxy) \ |
87 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \ | 89 /* ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) */ \ |
(...skipping 808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
896 | 898 |
897 static void Generate_CallFunction(MacroAssembler* masm, | 899 static void Generate_CallFunction(MacroAssembler* masm, |
898 ConvertReceiverMode mode, | 900 ConvertReceiverMode mode, |
899 TailCallMode tail_call_mode); | 901 TailCallMode tail_call_mode); |
900 | 902 |
901 static void Generate_CallBoundFunctionImpl(MacroAssembler* masm, | 903 static void Generate_CallBoundFunctionImpl(MacroAssembler* masm, |
902 TailCallMode tail_call_mode); | 904 TailCallMode tail_call_mode); |
903 | 905 |
904 static void Generate_Call(MacroAssembler* masm, ConvertReceiverMode mode, | 906 static void Generate_Call(MacroAssembler* masm, ConvertReceiverMode mode, |
905 TailCallMode tail_call_mode); | 907 TailCallMode tail_call_mode); |
| 908 static void Generate_CallForwardVarargs(MacroAssembler* masm, |
| 909 Handle<Code> code); |
906 | 910 |
907 static void Generate_InterpreterPushArgsAndCallImpl( | 911 static void Generate_InterpreterPushArgsAndCallImpl( |
908 MacroAssembler* masm, TailCallMode tail_call_mode, | 912 MacroAssembler* masm, TailCallMode tail_call_mode, |
909 InterpreterPushArgsMode mode); | 913 InterpreterPushArgsMode mode); |
910 | 914 |
911 static void Generate_InterpreterPushArgsAndConstructImpl( | 915 static void Generate_InterpreterPushArgsAndConstructImpl( |
912 MacroAssembler* masm, InterpreterPushArgsMode mode); | 916 MacroAssembler* masm, InterpreterPushArgsMode mode); |
913 | 917 |
914 enum class MathMaxMinKind { kMax, kMin }; | 918 enum class MathMaxMinKind { kMax, kMin }; |
915 static void Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind); | 919 static void Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind); |
(...skipping 17 matching lines...) Expand all Loading... |
933 | 937 |
934 friend class Isolate; | 938 friend class Isolate; |
935 | 939 |
936 DISALLOW_COPY_AND_ASSIGN(Builtins); | 940 DISALLOW_COPY_AND_ASSIGN(Builtins); |
937 }; | 941 }; |
938 | 942 |
939 } // namespace internal | 943 } // namespace internal |
940 } // namespace v8 | 944 } // namespace v8 |
941 | 945 |
942 #endif // V8_BUILTINS_BUILTINS_H_ | 946 #endif // V8_BUILTINS_BUILTINS_H_ |
OLD | NEW |