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

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

Issue 2663033003: [builtins] TurboFan version of Array.prototype.forEach including fast path for FAST_ELEMENTS (Closed)
Patch Set: Review feedback Created 3 years, 10 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/builtins-array.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/globals.h" 9 #include "src/globals.h"
10 10
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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_
OLDNEW
« no previous file with comments | « src/bootstrapper.cc ('k') | src/builtins/builtins-array.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698