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 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 ASM(AllocateInOldSpace) \ | 189 ASM(AllocateInOldSpace) \ |
190 \ | 190 \ |
191 /* TurboFan support builtins */ \ | 191 /* TurboFan support builtins */ \ |
192 TFS(CopyFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \ | 192 TFS(CopyFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \ |
193 CopyFastSmiOrObjectElements, 1) \ | 193 CopyFastSmiOrObjectElements, 1) \ |
194 TFS(GrowFastDoubleElements, BUILTIN, kNoExtraICState, GrowArrayElements, 1) \ | 194 TFS(GrowFastDoubleElements, BUILTIN, kNoExtraICState, GrowArrayElements, 1) \ |
195 TFS(GrowFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \ | 195 TFS(GrowFastSmiOrObjectElements, BUILTIN, kNoExtraICState, \ |
196 GrowArrayElements, 1) \ | 196 GrowArrayElements, 1) \ |
197 TFS(NewUnmappedArgumentsElements, BUILTIN, kNoExtraICState, \ | 197 TFS(NewUnmappedArgumentsElements, BUILTIN, kNoExtraICState, \ |
198 NewArgumentsElements, 1) \ | 198 NewArgumentsElements, 1) \ |
199 TFS(NewRestParameterElements, BUILTIN, kNoExtraICState, \ | |
200 NewArgumentsElements, 1) \ | |
201 \ | 199 \ |
202 /* Debugger */ \ | 200 /* Debugger */ \ |
203 DBG(FrameDropperTrampoline) \ | 201 DBG(FrameDropperTrampoline) \ |
204 DBG(HandleDebuggerStatement) \ | 202 DBG(HandleDebuggerStatement) \ |
205 DBG(Return_DebugBreak) \ | 203 DBG(Return_DebugBreak) \ |
206 DBG(Slot_DebugBreak) \ | 204 DBG(Slot_DebugBreak) \ |
207 \ | 205 \ |
208 /* Type conversions */ \ | 206 /* Type conversions */ \ |
209 TFS(ToBoolean, BUILTIN, kNoExtraICState, TypeConversion, 1) \ | 207 TFS(ToBoolean, BUILTIN, kNoExtraICState, TypeConversion, 1) \ |
210 TFS(OrdinaryToPrimitive_Number, BUILTIN, kNoExtraICState, TypeConversion, 1) \ | 208 TFS(OrdinaryToPrimitive_Number, BUILTIN, kNoExtraICState, TypeConversion, 1) \ |
(...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
890 // isolate initialization. | 888 // isolate initialization. |
891 void SetUp(Isolate* isolate, bool create_heap_objects); | 889 void SetUp(Isolate* isolate, bool create_heap_objects); |
892 void TearDown(); | 890 void TearDown(); |
893 | 891 |
894 // Garbage collection support. | 892 // Garbage collection support. |
895 void IterateBuiltins(ObjectVisitor* v); | 893 void IterateBuiltins(ObjectVisitor* v); |
896 | 894 |
897 // Disassembler support. | 895 // Disassembler support. |
898 const char* Lookup(byte* pc); | 896 const char* Lookup(byte* pc); |
899 | 897 |
900 enum Name : int32_t { | 898 enum Name { |
901 #define DEF_ENUM(Name, ...) k##Name, | 899 #define DEF_ENUM(Name, ...) k##Name, |
902 BUILTIN_LIST_ALL(DEF_ENUM) | 900 BUILTIN_LIST_ALL(DEF_ENUM) |
903 #undef DEF_ENUM | 901 #undef DEF_ENUM |
904 builtin_count | 902 builtin_count |
905 }; | 903 }; |
906 | 904 |
907 #define DECLARE_BUILTIN_ACCESSOR(Name, ...) \ | 905 #define DECLARE_BUILTIN_ACCESSOR(Name, ...) \ |
908 V8_EXPORT_PRIVATE Handle<Code> Name(); | 906 V8_EXPORT_PRIVATE Handle<Code> Name(); |
909 BUILTIN_LIST_ALL(DECLARE_BUILTIN_ACCESSOR) | 907 BUILTIN_LIST_ALL(DECLARE_BUILTIN_ACCESSOR) |
910 #undef DECLARE_BUILTIN_ACCESSOR | 908 #undef DECLARE_BUILTIN_ACCESSOR |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1005 | 1003 |
1006 friend class Isolate; | 1004 friend class Isolate; |
1007 | 1005 |
1008 DISALLOW_COPY_AND_ASSIGN(Builtins); | 1006 DISALLOW_COPY_AND_ASSIGN(Builtins); |
1009 }; | 1007 }; |
1010 | 1008 |
1011 } // namespace internal | 1009 } // namespace internal |
1012 } // namespace v8 | 1010 } // namespace v8 |
1013 | 1011 |
1014 #endif // V8_BUILTINS_BUILTINS_H_ | 1012 #endif // V8_BUILTINS_BUILTINS_H_ |
OLD | NEW |