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

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

Issue 2623633003: [Atomics] Make Atomics.exchange a builtin using TF (Closed)
Patch Set: remove 0 extend for arm Created 3 years, 9 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
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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // TFJ: Builtin in Turbofan, with JS linkage (callable as Javascript function). 42 // TFJ: Builtin in Turbofan, with JS linkage (callable as Javascript function).
43 // Args: name, arguments count 43 // Args: name, arguments count
44 // TFS: Builtin in Turbofan, with CodeStub linkage. 44 // TFS: Builtin in Turbofan, with CodeStub linkage.
45 // Args: name, code kind, extra IC state, interface descriptor, return_size 45 // Args: name, code kind, extra IC state, interface descriptor, return_size
46 // ASM: Builtin in platform-dependent assembly. 46 // ASM: Builtin in platform-dependent assembly.
47 // Args: name 47 // Args: name
48 // ASH: Handlers implemented in platform-dependent assembly. 48 // ASH: Handlers implemented in platform-dependent assembly.
49 // Args: name, code kind, extra IC state 49 // Args: name, code kind, extra IC state
50 // DBG: Builtin in platform-dependent assembly, used by the debugger. 50 // DBG: Builtin in platform-dependent assembly, used by the debugger.
51 // Args: name 51 // Args: name
52
52 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \ 53 #define BUILTIN_LIST(CPP, API, TFJ, TFS, ASM, ASH, DBG) \
53 ASM(Abort) \ 54 ASM(Abort) \
54 /* Code aging */ \ 55 /* Code aging */ \
55 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \ 56 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, ASM) \
56 \ 57 \
57 /* Declared first for dependency reasons */ \ 58 /* Declared first for dependency reasons */ \
58 ASM(CompileLazy) \ 59 ASM(CompileLazy) \
59 TFS(ToObject, BUILTIN, kNoExtraICState, TypeConversion, 1) \ 60 TFS(ToObject, BUILTIN, kNoExtraICState, TypeConversion, 1) \
60 TFS(FastNewObject, BUILTIN, kNoExtraICState, FastNewObject, 1) \ 61 TFS(FastNewObject, BUILTIN, kNoExtraICState, FastNewObject, 1) \
61 TFS(HasProperty, BUILTIN, kNoExtraICState, HasProperty, 1) \ 62 TFS(HasProperty, BUILTIN, kNoExtraICState, HasProperty, 1) \
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 TFS(RegExpReplace, BUILTIN, kNoExtraICState, RegExpReplace, 1) \ 725 TFS(RegExpReplace, BUILTIN, kNoExtraICState, RegExpReplace, 1) \
725 TFJ(RegExpPrototypeReplace, 2) \ 726 TFJ(RegExpPrototypeReplace, 2) \
726 \ 727 \
727 TFS(RegExpSplit, BUILTIN, kNoExtraICState, RegExpSplit, 1) \ 728 TFS(RegExpSplit, BUILTIN, kNoExtraICState, RegExpSplit, 1) \
728 TFJ(RegExpPrototypeSplit, 2) \ 729 TFJ(RegExpPrototypeSplit, 2) \
729 \ 730 \
730 /* SharedArrayBuffer */ \ 731 /* SharedArrayBuffer */ \
731 CPP(SharedArrayBufferPrototypeGetByteLength) \ 732 CPP(SharedArrayBufferPrototypeGetByteLength) \
732 TFJ(AtomicsLoad, 2) \ 733 TFJ(AtomicsLoad, 2) \
733 TFJ(AtomicsStore, 3) \ 734 TFJ(AtomicsStore, 3) \
735 TFJ(AtomicsExchange, 3) \
734 \ 736 \
735 /* String */ \ 737 /* String */ \
736 ASM(StringConstructor) \ 738 ASM(StringConstructor) \
737 ASM(StringConstructor_ConstructStub) \ 739 ASM(StringConstructor_ConstructStub) \
738 CPP(StringFromCodePoint) \ 740 CPP(StringFromCodePoint) \
739 /* ES6 section 21.1.2.1 String.fromCharCode ( ...codeUnits ) */ \ 741 /* ES6 section 21.1.2.1 String.fromCharCode ( ...codeUnits ) */ \
740 TFJ(StringFromCharCode, SharedFunctionInfo::kDontAdaptArgumentsSentinel) \ 742 TFJ(StringFromCharCode, SharedFunctionInfo::kDontAdaptArgumentsSentinel) \
741 /* ES6 section 21.1.3.1 String.prototype.charAt ( pos ) */ \ 743 /* ES6 section 21.1.3.1 String.prototype.charAt ( pos ) */ \
742 TFJ(StringPrototypeCharAt, 1) \ 744 TFJ(StringPrototypeCharAt, 1) \
743 /* ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) */ \ 745 /* ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) */ \
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 996
995 friend class Isolate; 997 friend class Isolate;
996 998
997 DISALLOW_COPY_AND_ASSIGN(Builtins); 999 DISALLOW_COPY_AND_ASSIGN(Builtins);
998 }; 1000 };
999 1001
1000 } // namespace internal 1002 } // namespace internal
1001 } // namespace v8 1003 } // namespace v8
1002 1004
1003 #endif // V8_BUILTINS_BUILTINS_H_ 1005 #endif // V8_BUILTINS_BUILTINS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698