OLD | NEW |
1 | 1 |
2 // Copyright 2011 the V8 project authors. All rights reserved. | 2 // Copyright 2011 the V8 project authors. All rights reserved. |
3 // Use of this source code is governed by a BSD-style license that can be | 3 // Use of this source code is governed by a BSD-style license that can be |
4 // found in the LICENSE file. | 4 // found in the LICENSE file. |
5 | 5 |
6 #ifndef V8_BUILTINS_H_ | 6 #ifndef V8_BUILTINS_H_ |
7 #define V8_BUILTINS_H_ | 7 #define V8_BUILTINS_H_ |
8 | 8 |
9 #include "src/base/flags.h" | 9 #include "src/base/flags.h" |
10 #include "src/handles.h" | 10 #include "src/handles.h" |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 V(NotifyStubFailureSaveDoubles, BUILTIN, kNoExtraICState) \ | 242 V(NotifyStubFailureSaveDoubles, BUILTIN, kNoExtraICState) \ |
243 \ | 243 \ |
244 V(InterpreterEntryTrampoline, BUILTIN, kNoExtraICState) \ | 244 V(InterpreterEntryTrampoline, BUILTIN, kNoExtraICState) \ |
245 V(InterpreterMarkBaselineOnReturn, BUILTIN, kNoExtraICState) \ | 245 V(InterpreterMarkBaselineOnReturn, BUILTIN, kNoExtraICState) \ |
246 V(InterpreterPushArgsAndCall, BUILTIN, kNoExtraICState) \ | 246 V(InterpreterPushArgsAndCall, BUILTIN, kNoExtraICState) \ |
247 V(InterpreterPushArgsAndTailCall, BUILTIN, kNoExtraICState) \ | 247 V(InterpreterPushArgsAndTailCall, BUILTIN, kNoExtraICState) \ |
248 V(InterpreterPushArgsAndConstruct, BUILTIN, kNoExtraICState) \ | 248 V(InterpreterPushArgsAndConstruct, BUILTIN, kNoExtraICState) \ |
249 V(InterpreterEnterBytecodeDispatch, BUILTIN, kNoExtraICState) \ | 249 V(InterpreterEnterBytecodeDispatch, BUILTIN, kNoExtraICState) \ |
250 \ | 250 \ |
251 V(KeyedLoadIC_Miss, BUILTIN, kNoExtraICState) \ | 251 V(KeyedLoadIC_Miss, BUILTIN, kNoExtraICState) \ |
252 V(StoreIC_Miss, BUILTIN, kNoExtraICState) \ | |
253 V(KeyedStoreIC_Miss, BUILTIN, kNoExtraICState) \ | 252 V(KeyedStoreIC_Miss, BUILTIN, kNoExtraICState) \ |
254 V(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \ | 253 V(LoadIC_Getter_ForDeopt, LOAD_IC, kNoExtraICState) \ |
255 V(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \ | 254 V(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, kNoExtraICState) \ |
256 \ | 255 \ |
257 V(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \ | 256 V(StoreIC_Setter_ForDeopt, STORE_IC, StoreICState::kStrictModeState) \ |
258 \ | 257 \ |
259 V(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \ | 258 V(KeyedStoreIC_Megamorphic, KEYED_STORE_IC, kNoExtraICState) \ |
260 V(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \ | 259 V(KeyedStoreIC_Megamorphic_Strict, KEYED_STORE_IC, \ |
261 StoreICState::kStrictModeState) \ | 260 StoreICState::kStrictModeState) \ |
262 \ | 261 \ |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 V(AtomicsStore, 4) | 362 V(AtomicsStore, 4) |
364 | 363 |
365 // Define list of builtins implemented in TurboFan (with CallStub linkage). | 364 // Define list of builtins implemented in TurboFan (with CallStub linkage). |
366 #define BUILTIN_LIST_S(V) \ | 365 #define BUILTIN_LIST_S(V) \ |
367 V(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \ | 366 V(LoadGlobalIC_Miss, BUILTIN, kNoExtraICState, LoadGlobalWithVector) \ |
368 V(LoadGlobalIC_SlowNotInsideTypeof, HANDLER, Code::LOAD_GLOBAL_IC, \ | 367 V(LoadGlobalIC_SlowNotInsideTypeof, HANDLER, Code::LOAD_GLOBAL_IC, \ |
369 LoadGlobalWithVector) \ | 368 LoadGlobalWithVector) \ |
370 V(LoadGlobalIC_SlowInsideTypeof, HANDLER, Code::LOAD_GLOBAL_IC, \ | 369 V(LoadGlobalIC_SlowInsideTypeof, HANDLER, Code::LOAD_GLOBAL_IC, \ |
371 LoadGlobalWithVector) \ | 370 LoadGlobalWithVector) \ |
372 V(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \ | 371 V(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \ |
373 V(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) | 372 V(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) \ |
| 373 V(StoreIC_Miss, BUILTIN, kNoExtraICState, VectorStoreIC) \ |
| 374 V(StoreIC_SlowSloppy, HANDLER, Code::STORE_IC, VectorStoreIC) \ |
| 375 V(StoreIC_SlowStrict, HANDLER, Code::STORE_IC, VectorStoreIC) |
374 | 376 |
375 // Define list of builtin handlers implemented in assembly. | 377 // Define list of builtin handlers implemented in assembly. |
376 #define BUILTIN_LIST_H(V) \ | 378 #define BUILTIN_LIST_H(V) \ |
377 V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \ | 379 V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \ |
378 V(StoreIC_Slow, STORE_IC) \ | |
379 V(KeyedStoreIC_Slow, KEYED_STORE_IC) \ | 380 V(KeyedStoreIC_Slow, KEYED_STORE_IC) \ |
380 V(LoadIC_Normal, LOAD_IC) \ | 381 V(LoadIC_Normal, LOAD_IC) \ |
381 V(StoreIC_Normal, STORE_IC) | 382 V(StoreIC_Normal, STORE_IC) |
382 | 383 |
383 // Define list of builtins used by the debugger implemented in assembly. | 384 // Define list of builtins used by the debugger implemented in assembly. |
384 #define BUILTIN_LIST_DEBUG_A(V) \ | 385 #define BUILTIN_LIST_DEBUG_A(V) \ |
385 V(Return_DebugBreak, BUILTIN, kNoExtraICState) \ | 386 V(Return_DebugBreak, BUILTIN, kNoExtraICState) \ |
386 V(Slot_DebugBreak, BUILTIN, kNoExtraICState) \ | 387 V(Slot_DebugBreak, BUILTIN, kNoExtraICState) \ |
387 V(FrameDropper_LiveEdit, BUILTIN, kNoExtraICState) | 388 V(FrameDropper_LiveEdit, BUILTIN, kNoExtraICState) |
388 | 389 |
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
826 friend class BuiltinFunctionTable; | 827 friend class BuiltinFunctionTable; |
827 friend class Isolate; | 828 friend class Isolate; |
828 | 829 |
829 DISALLOW_COPY_AND_ASSIGN(Builtins); | 830 DISALLOW_COPY_AND_ASSIGN(Builtins); |
830 }; | 831 }; |
831 | 832 |
832 } // namespace internal | 833 } // namespace internal |
833 } // namespace v8 | 834 } // namespace v8 |
834 | 835 |
835 #endif // V8_BUILTINS_H_ | 836 #endif // V8_BUILTINS_H_ |
OLD | NEW |