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/globals.h" | 9 #include "src/globals.h" |
10 | 10 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 // Args: name | 51 // Args: name |
52 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \ | 52 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \ |
53 ASM(Abort) \ | 53 ASM(Abort) \ |
54 /* Code aging */ \ | 54 /* Code aging */ \ |
55 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ | 55 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ |
56 \ | 56 \ |
57 /* Declared first for dependency reasons */ \ | 57 /* Declared first for dependency reasons */ \ |
58 ASM(CompileLazy) \ | 58 ASM(CompileLazy) \ |
59 TFS(ToObject, BUILTIN, kNoExtraICState, TypeConversion) \ | 59 TFS(ToObject, BUILTIN, kNoExtraICState, TypeConversion) \ |
60 TFS(FastNewObject, BUILTIN, kNoExtraICState, FastNewObject) \ | 60 TFS(FastNewObject, BUILTIN, kNoExtraICState, FastNewObject) \ |
| 61 TFS(HasProperty, BUILTIN, kNoExtraICState, HasProperty) \ |
61 \ | 62 \ |
62 /* Calls */ \ | 63 /* Calls */ \ |
63 ASM(ArgumentsAdaptorTrampoline) \ | 64 ASM(ArgumentsAdaptorTrampoline) \ |
64 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \ | 65 /* ES6 section 9.2.1 [[Call]] ( thisArgument, argumentsList) */ \ |
65 ASM(CallFunction_ReceiverIsNullOrUndefined) \ | 66 ASM(CallFunction_ReceiverIsNullOrUndefined) \ |
66 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \ | 67 ASM(CallFunction_ReceiverIsNotNullOrUndefined) \ |
67 ASM(CallFunction_ReceiverIsAny) \ | 68 ASM(CallFunction_ReceiverIsAny) \ |
68 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \ | 69 ASM(TailCallFunction_ReceiverIsNullOrUndefined) \ |
69 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \ | 70 ASM(TailCallFunction_ReceiverIsNotNullOrUndefined) \ |
70 ASM(TailCallFunction_ReceiverIsAny) \ | 71 ASM(TailCallFunction_ReceiverIsAny) \ |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 /* ES7 #sec-array.prototype.includes */ \ | 267 /* ES7 #sec-array.prototype.includes */ \ |
267 TFJ(ArrayIncludes, 2) \ | 268 TFJ(ArrayIncludes, 2) \ |
268 TFJ(ArrayIndexOf, 2) \ | 269 TFJ(ArrayIndexOf, 2) \ |
269 CPP(ArrayPop) \ | 270 CPP(ArrayPop) \ |
270 CPP(ArrayPush) \ | 271 CPP(ArrayPush) \ |
271 TFJ(FastArrayPush, -1) \ | 272 TFJ(FastArrayPush, -1) \ |
272 CPP(ArrayShift) \ | 273 CPP(ArrayShift) \ |
273 CPP(ArraySlice) \ | 274 CPP(ArraySlice) \ |
274 CPP(ArraySplice) \ | 275 CPP(ArraySplice) \ |
275 CPP(ArrayUnshift) \ | 276 CPP(ArrayUnshift) \ |
| 277 TFJ(ArrayForEach, 2) \ |
276 /* ES6 #sec-array.prototype.entries */ \ | 278 /* ES6 #sec-array.prototype.entries */ \ |
277 TFJ(ArrayPrototypeEntries, 0) \ | 279 TFJ(ArrayPrototypeEntries, 0) \ |
278 /* ES6 #sec-array.prototype.keys */ \ | 280 /* ES6 #sec-array.prototype.keys */ \ |
279 TFJ(ArrayPrototypeKeys, 0) \ | 281 TFJ(ArrayPrototypeKeys, 0) \ |
280 /* ES6 #sec-array.prototype.values */ \ | 282 /* ES6 #sec-array.prototype.values */ \ |
281 TFJ(ArrayPrototypeValues, 0) \ | 283 TFJ(ArrayPrototypeValues, 0) \ |
282 /* ES6 #sec-%arrayiteratorprototype%.next */ \ | 284 /* ES6 #sec-%arrayiteratorprototype%.next */ \ |
283 TFJ(ArrayIteratorPrototypeNext, 0) \ | 285 TFJ(ArrayIteratorPrototypeNext, 0) \ |
284 \ | 286 \ |
285 /* ArrayBuffer */ \ | 287 /* ArrayBuffer */ \ |
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
635 CPP(ObjectLookupSetter) \ | 637 CPP(ObjectLookupSetter) \ |
636 CPP(ObjectPreventExtensions) \ | 638 CPP(ObjectPreventExtensions) \ |
637 /* ES6 section 19.1.3.6 Object.prototype.toString () */ \ | 639 /* ES6 section 19.1.3.6 Object.prototype.toString () */ \ |
638 TFJ(ObjectProtoToString, 0) \ | 640 TFJ(ObjectProtoToString, 0) \ |
639 CPP(ObjectPrototypePropertyIsEnumerable) \ | 641 CPP(ObjectPrototypePropertyIsEnumerable) \ |
640 CPP(ObjectPrototypeGetProto) \ | 642 CPP(ObjectPrototypeGetProto) \ |
641 CPP(ObjectPrototypeSetProto) \ | 643 CPP(ObjectPrototypeSetProto) \ |
642 CPP(ObjectSeal) \ | 644 CPP(ObjectSeal) \ |
643 CPP(ObjectValues) \ | 645 CPP(ObjectValues) \ |
644 \ | 646 \ |
645 TFS(HasProperty, BUILTIN, kNoExtraICState, HasProperty) \ | |
646 TFS(InstanceOf, BUILTIN, kNoExtraICState, Compare) \ | 647 TFS(InstanceOf, BUILTIN, kNoExtraICState, Compare) \ |
647 TFS(OrdinaryHasInstance, BUILTIN, kNoExtraICState, Compare) \ | 648 TFS(OrdinaryHasInstance, BUILTIN, kNoExtraICState, Compare) \ |
648 TFS(ForInFilter, BUILTIN, kNoExtraICState, ForInFilter) \ | 649 TFS(ForInFilter, BUILTIN, kNoExtraICState, ForInFilter) \ |
649 \ | 650 \ |
650 /* Promise */ \ | 651 /* Promise */ \ |
651 TFJ(PromiseGetCapabilitiesExecutor, 2) \ | 652 TFJ(PromiseGetCapabilitiesExecutor, 2) \ |
652 TFJ(NewPromiseCapability, 2) \ | 653 TFJ(NewPromiseCapability, 2) \ |
653 TFJ(PromiseConstructor, 1) \ | 654 TFJ(PromiseConstructor, 1) \ |
654 TFJ(PromiseInternalConstructor, 1) \ | 655 TFJ(PromiseInternalConstructor, 1) \ |
655 TFJ(IsPromise, 1) \ | 656 TFJ(IsPromise, 1) \ |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
947 | 948 |
948 friend class Isolate; | 949 friend class Isolate; |
949 | 950 |
950 DISALLOW_COPY_AND_ASSIGN(Builtins); | 951 DISALLOW_COPY_AND_ASSIGN(Builtins); |
951 }; | 952 }; |
952 | 953 |
953 } // namespace internal | 954 } // namespace internal |
954 } // namespace v8 | 955 } // namespace v8 |
955 | 956 |
956 #endif // V8_BUILTINS_BUILTINS_H_ | 957 #endif // V8_BUILTINS_BUILTINS_H_ |
OLD | NEW |