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_H_ | 5 #ifndef V8_BUILTINS_H_ |
6 #define V8_BUILTINS_H_ | 6 #define V8_BUILTINS_H_ |
7 | 7 |
8 #include "src/handles.h" | 8 #include "src/handles.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 V(HandleApiCallConstruct, NEEDS_CALLED_FUNCTION) \ | 63 V(HandleApiCallConstruct, NEEDS_CALLED_FUNCTION) \ |
64 V(HandleApiCallAsFunction, NO_EXTRA_ARGUMENTS) \ | 64 V(HandleApiCallAsFunction, NO_EXTRA_ARGUMENTS) \ |
65 V(HandleApiCallAsConstructor, NO_EXTRA_ARGUMENTS) \ | 65 V(HandleApiCallAsConstructor, NO_EXTRA_ARGUMENTS) \ |
66 \ | 66 \ |
67 V(RestrictedFunctionPropertiesThrower, NO_EXTRA_ARGUMENTS) \ | 67 V(RestrictedFunctionPropertiesThrower, NO_EXTRA_ARGUMENTS) \ |
68 V(RestrictedStrictArgumentsPropertiesThrower, NO_EXTRA_ARGUMENTS) | 68 V(RestrictedStrictArgumentsPropertiesThrower, NO_EXTRA_ARGUMENTS) |
69 | 69 |
70 // Define list of builtins implemented in assembly. | 70 // Define list of builtins implemented in assembly. |
71 #define BUILTIN_LIST_A(V) \ | 71 #define BUILTIN_LIST_A(V) \ |
72 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 72 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 73 \ |
| 74 V(CallFunction, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 75 V(Call, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 76 \ |
73 V(InOptimizationQueue, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 77 V(InOptimizationQueue, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
74 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 78 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
75 V(JSConstructStubForDerived, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 79 V(JSConstructStubForDerived, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
76 V(JSConstructStubApi, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 80 V(JSConstructStubApi, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
77 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 81 V(JSEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
78 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 82 V(JSConstructEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
79 V(InterpreterEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 83 V(InterpreterEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
80 V(InterpreterExitTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 84 V(InterpreterExitTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
81 V(CompileLazy, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 85 V(CompileLazy, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
82 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 86 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); | 258 static void Generate_JSConstructEntryTrampoline(MacroAssembler* masm); |
255 static void Generate_InterpreterEntryTrampoline(MacroAssembler* masm); | 259 static void Generate_InterpreterEntryTrampoline(MacroAssembler* masm); |
256 static void Generate_InterpreterExitTrampoline(MacroAssembler* masm); | 260 static void Generate_InterpreterExitTrampoline(MacroAssembler* masm); |
257 static void Generate_NotifyDeoptimized(MacroAssembler* masm); | 261 static void Generate_NotifyDeoptimized(MacroAssembler* masm); |
258 static void Generate_NotifySoftDeoptimized(MacroAssembler* masm); | 262 static void Generate_NotifySoftDeoptimized(MacroAssembler* masm); |
259 static void Generate_NotifyLazyDeoptimized(MacroAssembler* masm); | 263 static void Generate_NotifyLazyDeoptimized(MacroAssembler* masm); |
260 static void Generate_NotifyStubFailure(MacroAssembler* masm); | 264 static void Generate_NotifyStubFailure(MacroAssembler* masm); |
261 static void Generate_NotifyStubFailureSaveDoubles(MacroAssembler* masm); | 265 static void Generate_NotifyStubFailureSaveDoubles(MacroAssembler* masm); |
262 static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm); | 266 static void Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm); |
263 | 267 |
| 268 // ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) |
| 269 static void Generate_CallFunction(MacroAssembler* masm); |
| 270 // ES6 section 7.3.12 Call(F, V, [argumentsList]) |
| 271 static void Generate_Call(MacroAssembler* masm); |
| 272 |
264 static void Generate_FunctionCall(MacroAssembler* masm); | 273 static void Generate_FunctionCall(MacroAssembler* masm); |
265 static void Generate_FunctionApply(MacroAssembler* masm); | 274 static void Generate_FunctionApply(MacroAssembler* masm); |
266 static void Generate_ReflectApply(MacroAssembler* masm); | 275 static void Generate_ReflectApply(MacroAssembler* masm); |
267 static void Generate_ReflectConstruct(MacroAssembler* masm); | 276 static void Generate_ReflectConstruct(MacroAssembler* masm); |
268 | 277 |
269 static void Generate_InternalArrayCode(MacroAssembler* masm); | 278 static void Generate_InternalArrayCode(MacroAssembler* masm); |
270 static void Generate_ArrayCode(MacroAssembler* masm); | 279 static void Generate_ArrayCode(MacroAssembler* masm); |
271 | 280 |
272 static void Generate_StringConstructCode(MacroAssembler* masm); | 281 static void Generate_StringConstructCode(MacroAssembler* masm); |
273 static void Generate_OnStackReplacement(MacroAssembler* masm); | 282 static void Generate_OnStackReplacement(MacroAssembler* masm); |
(...skipping 19 matching lines...) Expand all Loading... |
293 | 302 |
294 friend class BuiltinFunctionTable; | 303 friend class BuiltinFunctionTable; |
295 friend class Isolate; | 304 friend class Isolate; |
296 | 305 |
297 DISALLOW_COPY_AND_ASSIGN(Builtins); | 306 DISALLOW_COPY_AND_ASSIGN(Builtins); |
298 }; | 307 }; |
299 | 308 |
300 } } // namespace v8::internal | 309 } } // namespace v8::internal |
301 | 310 |
302 #endif // V8_BUILTINS_H_ | 311 #endif // V8_BUILTINS_H_ |
OLD | NEW |