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