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

Side by Side Diff: src/builtins/builtins.h

Issue 2372113004: [turbofan] JSGenericLowering mostly uses builtins instead of code stubs now (Closed)
Patch Set: Ross' comments Created 4 years, 2 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/builtins/arm64/builtins-arm64.cc ('k') | src/builtins/builtins-conversion.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_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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 // Args: name 45 // Args: name
46 // ASH: Handlers implemented in platform-dependent assembly. 46 // ASH: Handlers implemented in platform-dependent assembly.
47 // Args: name, code kind, extra IC state 47 // Args: name, code kind, extra IC state
48 // DBG: Builtin in platform-dependent assembly, used by the debugger. 48 // DBG: Builtin in platform-dependent assembly, used by the debugger.
49 // Args: name 49 // Args: name
50 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \ 50 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \
51 ASM(Abort) \ 51 ASM(Abort) \
52 /* Code aging */ \ 52 /* Code aging */ \
53 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ 53 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \
54 \ 54 \
55 TFS(ToObject, BUILTIN, kNoExtraICState, TypeConversion) \
56 \
55 /* Calls */ \ 57 /* Calls */ \
56 ASM(ArgumentsAdaptorTrampoline) \ 58 ASM(ArgumentsAdaptorTrampoline) \
57 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \ 59 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \
58 ASM(CallFunction_ReceiverIsNullOrUndefined) \ 60 ASM(CallFunction_ReceiverIsNullOrUndefined) \
59 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \ 61 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \
60 ASM(CallFunction_ReceiverIsAny) \ 62 ASM(CallFunction_ReceiverIsAny) \
61 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \ 63 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \
62 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \ 64 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \
63 ASM(TailCallFunction_ReceiverIsAny) \ 65 ASM(TailCallFunction_ReceiverIsAny) \
64 /* ES6 section 9.4.1.1 [[Call]] ( thisArgument, argumentsList) */ \ 66 /* ES6 section 9.4.1.1 [[Call]] ( thisArgument, argumentsList) */ \
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 TypeConversion) \ 167 TypeConversion) \
166 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \ 168 TFS(NonPrimitiveToPrimitive_Number, BUILTIN, kNoExtraICState, \
167 TypeConversion) \ 169 TypeConversion) \
168 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \ 170 TFS(NonPrimitiveToPrimitive_String, BUILTIN, kNoExtraICState, \
169 TypeConversion) \ 171 TypeConversion) \
170 TFS(StringToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ 172 TFS(StringToNumber, BUILTIN, kNoExtraICState, TypeConversion) \
171 TFS(ToName, BUILTIN, kNoExtraICState, TypeConversion) \ 173 TFS(ToName, BUILTIN, kNoExtraICState, TypeConversion) \
172 TFS(NonNumberToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ 174 TFS(NonNumberToNumber, BUILTIN, kNoExtraICState, TypeConversion) \
173 TFS(ToNumber, BUILTIN, kNoExtraICState, TypeConversion) \ 175 TFS(ToNumber, BUILTIN, kNoExtraICState, TypeConversion) \
174 TFS(ToString, BUILTIN, kNoExtraICState, TypeConversion) \ 176 TFS(ToString, BUILTIN, kNoExtraICState, TypeConversion) \
177 TFS(ToInteger, BUILTIN, kNoExtraICState, TypeConversion) \
178 TFS(ToLength, BUILTIN, kNoExtraICState, TypeConversion) \
179 TFS(Typeof, BUILTIN, kNoExtraICState, Typeof) \
175 \ 180 \
176 /* Handlers */ \ 181 /* Handlers */ \
177 ASH(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \ 182 ASH(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \
178 TFS(KeyedLoadIC_Megamorphic_TF, KEYED_LOAD_IC, kNoExtraICState, \ 183 TFS(KeyedLoadIC_Megamorphic_TF, KEYED_LOAD_IC, kNoExtraICState, \
179 LoadWithVector) \ 184 LoadWithVector) \
180 ASM(KeyedLoadIC_Miss) \ 185 ASM(KeyedLoadIC_Miss) \
181 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \ 186 ASH(KeyedLoadIC_Slow, HANDLER, Code::KEYED_LOAD_IC) \
182 ASH(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \ 187 ASH(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \
183 ASH(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \ 188 ASH(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \
184 StoreICState::kStrictModeState) \ 189 StoreICState::kStrictModeState) \
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 TFJ(NumberIsNaN, 2) \ 480 TFJ(NumberIsNaN, 2) \
476 /* ES6 section 20.1.2.5 Number.isSafeInteger ( number ) */ \ 481 /* ES6 section 20.1.2.5 Number.isSafeInteger ( number ) */ \
477 TFJ(NumberIsSafeInteger, 2) \ 482 TFJ(NumberIsSafeInteger, 2) \
478 CPP(NumberPrototypeToExponential) \ 483 CPP(NumberPrototypeToExponential) \
479 CPP(NumberPrototypeToFixed) \ 484 CPP(NumberPrototypeToFixed) \
480 CPP(NumberPrototypeToLocaleString) \ 485 CPP(NumberPrototypeToLocaleString) \
481 CPP(NumberPrototypeToPrecision) \ 486 CPP(NumberPrototypeToPrecision) \
482 CPP(NumberPrototypeToString) \ 487 CPP(NumberPrototypeToString) \
483 /* ES6 section 20.1.3.7 Number.prototype.valueOf ( ) */ \ 488 /* ES6 section 20.1.3.7 Number.prototype.valueOf ( ) */ \
484 TFJ(NumberPrototypeValueOf, 1) \ 489 TFJ(NumberPrototypeValueOf, 1) \
490 TFS(Add, BUILTIN, kNoExtraICState, BinaryOp) \
491 TFS(Subtract, BUILTIN, kNoExtraICState, BinaryOp) \
492 TFS(Multiply, BUILTIN, kNoExtraICState, BinaryOp) \
493 TFS(Divide, BUILTIN, kNoExtraICState, BinaryOp) \
494 TFS(Modulus, BUILTIN, kNoExtraICState, BinaryOp) \
495 TFS(BitwiseAnd, BUILTIN, kNoExtraICState, BinaryOp) \
496 TFS(BitwiseOr, BUILTIN, kNoExtraICState, BinaryOp) \
497 TFS(BitwiseXor, BUILTIN, kNoExtraICState, BinaryOp) \
498 TFS(ShiftLeft, BUILTIN, kNoExtraICState, BinaryOp) \
499 TFS(ShiftRight, BUILTIN, kNoExtraICState, BinaryOp) \
500 TFS(ShiftRightLogical, BUILTIN, kNoExtraICState, BinaryOp) \
501 TFS(LessThan, BUILTIN, kNoExtraICState, Compare) \
502 TFS(LessThanOrEqual, BUILTIN, kNoExtraICState, Compare) \
503 TFS(GreaterThan, BUILTIN, kNoExtraICState, Compare) \
504 TFS(GreaterThanOrEqual, BUILTIN, kNoExtraICState, Compare) \
505 TFS(Equal, BUILTIN, kNoExtraICState, Compare) \
506 TFS(NotEqual, BUILTIN, kNoExtraICState, Compare) \
507 TFS(StrictEqual, BUILTIN, kNoExtraICState, Compare) \
508 TFS(StrictNotEqual, BUILTIN, kNoExtraICState, Compare) \
485 \ 509 \
486 /* Object */ \ 510 /* Object */ \
487 CPP(ObjectAssign) \ 511 CPP(ObjectAssign) \
488 CPP(ObjectCreate) \ 512 CPP(ObjectCreate) \
489 CPP(ObjectDefineGetter) \ 513 CPP(ObjectDefineGetter) \
490 CPP(ObjectDefineProperties) \ 514 CPP(ObjectDefineProperties) \
491 CPP(ObjectDefineProperty) \ 515 CPP(ObjectDefineProperty) \
492 CPP(ObjectDefineSetter) \ 516 CPP(ObjectDefineSetter) \
493 CPP(ObjectEntries) \ 517 CPP(ObjectEntries) \
494 CPP(ObjectFreeze) \ 518 CPP(ObjectFreeze) \
(...skipping 11 matching lines...) Expand all
506 CPP(ObjectKeys) \ 530 CPP(ObjectKeys) \
507 CPP(ObjectLookupGetter) \ 531 CPP(ObjectLookupGetter) \
508 CPP(ObjectLookupSetter) \ 532 CPP(ObjectLookupSetter) \
509 CPP(ObjectPreventExtensions) \ 533 CPP(ObjectPreventExtensions) \
510 /* ES6 section 19.1.3.6 Object.prototype.toString () */ \ 534 /* ES6 section 19.1.3.6 Object.prototype.toString () */ \
511 TFJ(ObjectProtoToString, 1) \ 535 TFJ(ObjectProtoToString, 1) \
512 CPP(ObjectPrototypePropertyIsEnumerable) \ 536 CPP(ObjectPrototypePropertyIsEnumerable) \
513 CPP(ObjectSeal) \ 537 CPP(ObjectSeal) \
514 CPP(ObjectValues) \ 538 CPP(ObjectValues) \
515 \ 539 \
540 TFS(HasProperty, BUILTIN, kNoExtraICState, HasProperty) \
541 TFS(InstanceOf, BUILTIN, kNoExtraICState, Compare) \
542 TFS(ForInFilter, BUILTIN, kNoExtraICState, ForInFilter) \
543 \
516 /* Proxy */ \ 544 /* Proxy */ \
517 CPP(ProxyConstructor) \ 545 CPP(ProxyConstructor) \
518 CPP(ProxyConstructor_ConstructStub) \ 546 CPP(ProxyConstructor_ConstructStub) \
519 \ 547 \
520 /* Reflect */ \ 548 /* Reflect */ \
521 ASM(ReflectApply) \ 549 ASM(ReflectApply) \
522 ASM(ReflectConstruct) \ 550 ASM(ReflectConstruct) \
523 CPP(ReflectDefineProperty) \ 551 CPP(ReflectDefineProperty) \
524 CPP(ReflectDeleteProperty) \ 552 CPP(ReflectDeleteProperty) \
525 CPP(ReflectGet) \ 553 CPP(ReflectGet) \
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
758 786
759 friend class Isolate; 787 friend class Isolate;
760 788
761 DISALLOW_COPY_AND_ASSIGN(Builtins); 789 DISALLOW_COPY_AND_ASSIGN(Builtins);
762 }; 790 };
763 791
764 } // namespace internal 792 } // namespace internal
765 } // namespace v8 793 } // namespace v8
766 794
767 #endif // V8_BUILTINS_BUILTINS_H_ 795 #endif // V8_BUILTINS_BUILTINS_H_
OLDNEW
« no previous file with comments | « src/builtins/arm64/builtins-arm64.cc ('k') | src/builtins/builtins-conversion.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698