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_H_ | 5 #ifndef V8_BUILTINS_H_ |
6 #define V8_BUILTINS_H_ | 6 #define V8_BUILTINS_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 | 10 |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 V(StringConstructor_ConstructStub, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 274 V(StringConstructor_ConstructStub, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
275 \ | 275 \ |
276 V(OnStackReplacement, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 276 V(OnStackReplacement, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
277 V(InterruptCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 277 V(InterruptCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
278 V(OsrAfterStackCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 278 V(OsrAfterStackCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
279 V(StackCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 279 V(StackCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
280 \ | 280 \ |
281 V(MarkCodeAsToBeExecutedOnce, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 281 V(MarkCodeAsToBeExecutedOnce, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
282 V(MarkCodeAsExecutedOnce, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 282 V(MarkCodeAsExecutedOnce, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
283 V(MarkCodeAsExecutedTwice, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 283 V(MarkCodeAsExecutedTwice, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 284 V(AtomicsLoadCheck, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
284 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V) | 285 CODE_AGE_LIST_WITH_ARG(DECLARE_CODE_AGE_BUILTIN, V) |
285 | 286 |
286 // Define list of builtin handlers implemented in assembly. | 287 // Define list of builtin handlers implemented in assembly. |
287 #define BUILTIN_LIST_H(V) \ | 288 #define BUILTIN_LIST_H(V) \ |
288 V(LoadIC_Slow, LOAD_IC) \ | 289 V(LoadIC_Slow, LOAD_IC) \ |
289 V(LoadIC_Slow_Strong, LOAD_IC) \ | 290 V(LoadIC_Slow_Strong, LOAD_IC) \ |
290 V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \ | 291 V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \ |
291 V(KeyedLoadIC_Slow_Strong, KEYED_LOAD_IC) \ | 292 V(KeyedLoadIC_Slow_Strong, KEYED_LOAD_IC) \ |
292 V(StoreIC_Slow, STORE_IC) \ | 293 V(StoreIC_Slow, STORE_IC) \ |
293 V(KeyedStoreIC_Slow, KEYED_STORE_IC) \ | 294 V(KeyedStoreIC_Slow, KEYED_STORE_IC) \ |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
586 MacroAssembler* masm); \ | 587 MacroAssembler* masm); \ |
587 static void Generate_Make##C##CodeYoungAgainOddMarking( \ | 588 static void Generate_Make##C##CodeYoungAgainOddMarking( \ |
588 MacroAssembler* masm); | 589 MacroAssembler* masm); |
589 CODE_AGE_LIST(DECLARE_CODE_AGE_BUILTIN_GENERATOR) | 590 CODE_AGE_LIST(DECLARE_CODE_AGE_BUILTIN_GENERATOR) |
590 #undef DECLARE_CODE_AGE_BUILTIN_GENERATOR | 591 #undef DECLARE_CODE_AGE_BUILTIN_GENERATOR |
591 | 592 |
592 static void Generate_MarkCodeAsToBeExecutedOnce(MacroAssembler* masm); | 593 static void Generate_MarkCodeAsToBeExecutedOnce(MacroAssembler* masm); |
593 static void Generate_MarkCodeAsExecutedOnce(MacroAssembler* masm); | 594 static void Generate_MarkCodeAsExecutedOnce(MacroAssembler* masm); |
594 static void Generate_MarkCodeAsExecutedTwice(MacroAssembler* masm); | 595 static void Generate_MarkCodeAsExecutedTwice(MacroAssembler* masm); |
595 | 596 |
| 597 static void Generate_AtomicsLoadCheck(MacroAssembler* masm); |
| 598 |
596 static void InitBuiltinFunctionTable(); | 599 static void InitBuiltinFunctionTable(); |
597 | 600 |
598 bool initialized_; | 601 bool initialized_; |
599 | 602 |
600 friend class BuiltinFunctionTable; | 603 friend class BuiltinFunctionTable; |
601 friend class Isolate; | 604 friend class Isolate; |
602 | 605 |
603 DISALLOW_COPY_AND_ASSIGN(Builtins); | 606 DISALLOW_COPY_AND_ASSIGN(Builtins); |
604 }; | 607 }; |
605 | 608 |
606 } // namespace internal | 609 } // namespace internal |
607 } // namespace v8 | 610 } // namespace v8 |
608 | 611 |
609 #endif // V8_BUILTINS_H_ | 612 #endif // V8_BUILTINS_H_ |
OLD | NEW |