Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(313)

Side by Side Diff: src/builtins.h

Issue 1552473002: Revert of [runtime] Introduce dedicated JSBoundFunction to represent bound functions. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@FunctionConstructor
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/bootstrapper.cc ('k') | src/builtins.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/base/flags.h" 8 #include "src/base/flags.h"
9 #include "src/handles.h" 9 #include "src/handles.h"
10 10
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 V(ArrayPop, kNone) \ 61 V(ArrayPop, kNone) \
62 V(ArrayPush, kNone) \ 62 V(ArrayPush, kNone) \
63 V(ArrayShift, kNone) \ 63 V(ArrayShift, kNone) \
64 V(ArraySlice, kNone) \ 64 V(ArraySlice, kNone) \
65 V(ArraySplice, kNone) \ 65 V(ArraySplice, kNone) \
66 V(ArrayUnshift, kNone) \ 66 V(ArrayUnshift, kNone) \
67 \ 67 \
68 V(DateToPrimitive, kNone) \ 68 V(DateToPrimitive, kNone) \
69 \ 69 \
70 V(FunctionConstructor, kTargetAndNewTarget) \ 70 V(FunctionConstructor, kTargetAndNewTarget) \
71 V(FunctionPrototypeBind, kNone) \
72 V(FunctionPrototypeToString, kNone) \ 71 V(FunctionPrototypeToString, kNone) \
73 \ 72 \
74 V(GeneratorFunctionConstructor, kTargetAndNewTarget) \ 73 V(GeneratorFunctionConstructor, kTargetAndNewTarget) \
75 \ 74 \
76 V(GlobalEval, kTarget) \ 75 V(GlobalEval, kTarget) \
77 \ 76 \
78 V(ObjectAssign, kNone) \ 77 V(ObjectAssign, kNone) \
79 V(ObjectProtoToString, kNone) \ 78 V(ObjectProtoToString, kNone) \
80 \ 79 \
81 V(ProxyConstructor, kNone) \ 80 V(ProxyConstructor, kNone) \
(...skipping 26 matching lines...) Expand all
108 #define BUILTIN_LIST_A(V) \ 107 #define BUILTIN_LIST_A(V) \
109 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 108 V(ArgumentsAdaptorTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \
110 \ 109 \
111 V(ConstructedNonConstructable, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 110 V(ConstructedNonConstructable, BUILTIN, UNINITIALIZED, kNoExtraICState) \
112 \ 111 \
113 V(CallFunction_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, \ 112 V(CallFunction_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, \
114 kNoExtraICState) \ 113 kNoExtraICState) \
115 V(CallFunction_ReceiverIsNotNullOrUndefined, BUILTIN, UNINITIALIZED, \ 114 V(CallFunction_ReceiverIsNotNullOrUndefined, BUILTIN, UNINITIALIZED, \
116 kNoExtraICState) \ 115 kNoExtraICState) \
117 V(CallFunction_ReceiverIsAny, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 116 V(CallFunction_ReceiverIsAny, BUILTIN, UNINITIALIZED, kNoExtraICState) \
118 V(CallBoundFunction, BUILTIN, UNINITIALIZED, kNoExtraICState) \
119 V(Call_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 117 V(Call_ReceiverIsNullOrUndefined, BUILTIN, UNINITIALIZED, kNoExtraICState) \
120 V(Call_ReceiverIsNotNullOrUndefined, BUILTIN, UNINITIALIZED, \ 118 V(Call_ReceiverIsNotNullOrUndefined, BUILTIN, UNINITIALIZED, \
121 kNoExtraICState) \ 119 kNoExtraICState) \
122 V(Call_ReceiverIsAny, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 120 V(Call_ReceiverIsAny, BUILTIN, UNINITIALIZED, kNoExtraICState) \
123 \ 121 \
124 V(ConstructFunction, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 122 V(ConstructFunction, BUILTIN, UNINITIALIZED, kNoExtraICState) \
125 V(ConstructBoundFunction, BUILTIN, UNINITIALIZED, kNoExtraICState) \
126 V(ConstructProxy, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 123 V(ConstructProxy, BUILTIN, UNINITIALIZED, kNoExtraICState) \
127 V(Construct, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 124 V(Construct, BUILTIN, UNINITIALIZED, kNoExtraICState) \
128 \ 125 \
129 V(Apply, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 126 V(Apply, BUILTIN, UNINITIALIZED, kNoExtraICState) \
130 \ 127 \
131 V(HandleFastApiCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 128 V(HandleFastApiCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \
132 \ 129 \
133 V(InOptimizationQueue, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 130 V(InOptimizationQueue, BUILTIN, UNINITIALIZED, kNoExtraICState) \
134 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 131 V(JSConstructStubGeneric, BUILTIN, UNINITIALIZED, kNoExtraICState) \
135 V(JSBuiltinsConstructStub, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 132 V(JSBuiltinsConstructStub, BUILTIN, UNINITIALIZED, kNoExtraICState) \
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 MacroAssembler* masm) { 336 MacroAssembler* masm) {
340 Generate_CallFunction(masm, ConvertReceiverMode::kNullOrUndefined); 337 Generate_CallFunction(masm, ConvertReceiverMode::kNullOrUndefined);
341 } 338 }
342 static void Generate_CallFunction_ReceiverIsNotNullOrUndefined( 339 static void Generate_CallFunction_ReceiverIsNotNullOrUndefined(
343 MacroAssembler* masm) { 340 MacroAssembler* masm) {
344 Generate_CallFunction(masm, ConvertReceiverMode::kNotNullOrUndefined); 341 Generate_CallFunction(masm, ConvertReceiverMode::kNotNullOrUndefined);
345 } 342 }
346 static void Generate_CallFunction_ReceiverIsAny(MacroAssembler* masm) { 343 static void Generate_CallFunction_ReceiverIsAny(MacroAssembler* masm) {
347 Generate_CallFunction(masm, ConvertReceiverMode::kAny); 344 Generate_CallFunction(masm, ConvertReceiverMode::kAny);
348 } 345 }
349 // ES6 section 9.4.1.1 [[Call]] ( thisArgument, argumentsList)
350 static void Generate_CallBoundFunction(MacroAssembler* masm);
351 // ES6 section 7.3.12 Call(F, V, [argumentsList]) 346 // ES6 section 7.3.12 Call(F, V, [argumentsList])
352 static void Generate_Call(MacroAssembler* masm, ConvertReceiverMode mode); 347 static void Generate_Call(MacroAssembler* masm, ConvertReceiverMode mode);
353 static void Generate_Call_ReceiverIsNullOrUndefined(MacroAssembler* masm) { 348 static void Generate_Call_ReceiverIsNullOrUndefined(MacroAssembler* masm) {
354 Generate_Call(masm, ConvertReceiverMode::kNullOrUndefined); 349 Generate_Call(masm, ConvertReceiverMode::kNullOrUndefined);
355 } 350 }
356 static void Generate_Call_ReceiverIsNotNullOrUndefined(MacroAssembler* masm) { 351 static void Generate_Call_ReceiverIsNotNullOrUndefined(MacroAssembler* masm) {
357 Generate_Call(masm, ConvertReceiverMode::kNotNullOrUndefined); 352 Generate_Call(masm, ConvertReceiverMode::kNotNullOrUndefined);
358 } 353 }
359 static void Generate_Call_ReceiverIsAny(MacroAssembler* masm) { 354 static void Generate_Call_ReceiverIsAny(MacroAssembler* masm) {
360 Generate_Call(masm, ConvertReceiverMode::kAny); 355 Generate_Call(masm, ConvertReceiverMode::kAny);
361 } 356 }
362 357
363 // ES6 section 9.2.2 [[Construct]] ( argumentsList, newTarget) 358 // ES6 section 9.2.2 [[Construct]] ( argumentsList, newTarget)
364 static void Generate_ConstructFunction(MacroAssembler* masm); 359 static void Generate_ConstructFunction(MacroAssembler* masm);
365 // ES6 section 9.4.1.2 [[Construct]] (argumentsList, newTarget)
366 static void Generate_ConstructBoundFunction(MacroAssembler* masm);
367 // ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget) 360 // ES6 section 9.5.14 [[Construct]] ( argumentsList, newTarget)
368 static void Generate_ConstructProxy(MacroAssembler* masm); 361 static void Generate_ConstructProxy(MacroAssembler* masm);
369 // ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget]) 362 // ES6 section 7.3.13 Construct (F, [argumentsList], [newTarget])
370 static void Generate_Construct(MacroAssembler* masm); 363 static void Generate_Construct(MacroAssembler* masm);
371 364
372 static void Generate_HandleFastApiCall(MacroAssembler* masm); 365 static void Generate_HandleFastApiCall(MacroAssembler* masm);
373 366
374 static void Generate_FunctionPrototypeApply(MacroAssembler* masm); 367 static void Generate_FunctionPrototypeApply(MacroAssembler* masm);
375 static void Generate_FunctionPrototypeCall(MacroAssembler* masm); 368 static void Generate_FunctionPrototypeCall(MacroAssembler* masm);
376 static void Generate_ReflectApply(MacroAssembler* masm); 369 static void Generate_ReflectApply(MacroAssembler* masm);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 friend class BuiltinFunctionTable; 406 friend class BuiltinFunctionTable;
414 friend class Isolate; 407 friend class Isolate;
415 408
416 DISALLOW_COPY_AND_ASSIGN(Builtins); 409 DISALLOW_COPY_AND_ASSIGN(Builtins);
417 }; 410 };
418 411
419 } // namespace internal 412 } // namespace internal
420 } // namespace v8 413 } // namespace v8
421 414
422 #endif // V8_BUILTINS_H_ 415 #endif // V8_BUILTINS_H_
OLDNEW
« no previous file with comments | « src/bootstrapper.cc ('k') | src/builtins.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698