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 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 V(CompileBaseline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 226 V(CompileBaseline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
227 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 227 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
228 V(CompileOptimizedConcurrent, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 228 V(CompileOptimizedConcurrent, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
229 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 229 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
230 V(NotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 230 V(NotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
231 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 231 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
232 V(NotifyStubFailure, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 232 V(NotifyStubFailure, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
233 V(NotifyStubFailureSaveDoubles, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 233 V(NotifyStubFailureSaveDoubles, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
234 \ | 234 \ |
235 V(InterpreterEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 235 V(InterpreterEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 236 V(InterpreterExitTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
236 V(InterpreterPushArgsAndCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 237 V(InterpreterPushArgsAndCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
237 V(InterpreterPushArgsAndTailCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 238 V(InterpreterPushArgsAndTailCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
238 V(InterpreterPushArgsAndConstruct, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 239 V(InterpreterPushArgsAndConstruct, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 240 V(InterpreterNotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 241 V(InterpreterNotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 242 V(InterpreterNotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
239 V(InterpreterEnterBytecodeDispatch, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 243 V(InterpreterEnterBytecodeDispatch, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
240 \ | 244 \ |
241 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 245 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
242 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 246 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
243 V(StoreIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 247 V(StoreIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
244 V(KeyedStoreIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 248 V(KeyedStoreIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
245 V(LoadIC_Getter_ForDeopt, LOAD_IC, MONOMORPHIC, kNoExtraICState) \ | 249 V(LoadIC_Getter_ForDeopt, LOAD_IC, MONOMORPHIC, kNoExtraICState) \ |
246 V(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, MEGAMORPHIC, kNoExtraICState) \ | 250 V(KeyedLoadIC_Megamorphic, KEYED_LOAD_IC, MEGAMORPHIC, kNoExtraICState) \ |
247 \ | 251 \ |
248 V(StoreIC_Setter_ForDeopt, STORE_IC, MONOMORPHIC, \ | 252 V(StoreIC_Setter_ForDeopt, STORE_IC, MONOMORPHIC, \ |
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
642 // ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) | 646 // ES6 section 21.1.3.2 String.prototype.charCodeAt ( pos ) |
643 static void Generate_StringPrototypeCharCodeAt(CodeStubAssembler* assembler); | 647 static void Generate_StringPrototypeCharCodeAt(CodeStubAssembler* assembler); |
644 | 648 |
645 static void Generate_StringConstructor(MacroAssembler* masm); | 649 static void Generate_StringConstructor(MacroAssembler* masm); |
646 static void Generate_StringConstructor_ConstructStub(MacroAssembler* masm); | 650 static void Generate_StringConstructor_ConstructStub(MacroAssembler* masm); |
647 static void Generate_OnStackReplacement(MacroAssembler* masm); | 651 static void Generate_OnStackReplacement(MacroAssembler* masm); |
648 static void Generate_InterruptCheck(MacroAssembler* masm); | 652 static void Generate_InterruptCheck(MacroAssembler* masm); |
649 static void Generate_StackCheck(MacroAssembler* masm); | 653 static void Generate_StackCheck(MacroAssembler* masm); |
650 | 654 |
651 static void Generate_InterpreterEntryTrampoline(MacroAssembler* masm); | 655 static void Generate_InterpreterEntryTrampoline(MacroAssembler* masm); |
652 static void Generate_InterpreterEnterBytecodeDispatch(MacroAssembler* masm); | 656 static void Generate_InterpreterExitTrampoline(MacroAssembler* masm); |
653 static void Generate_InterpreterPushArgsAndCall(MacroAssembler* masm) { | 657 static void Generate_InterpreterPushArgsAndCall(MacroAssembler* masm) { |
654 return Generate_InterpreterPushArgsAndCallImpl(masm, | 658 return Generate_InterpreterPushArgsAndCallImpl(masm, |
655 TailCallMode::kDisallow); | 659 TailCallMode::kDisallow); |
656 } | 660 } |
657 static void Generate_InterpreterPushArgsAndTailCall(MacroAssembler* masm) { | 661 static void Generate_InterpreterPushArgsAndTailCall(MacroAssembler* masm) { |
658 return Generate_InterpreterPushArgsAndCallImpl(masm, TailCallMode::kAllow); | 662 return Generate_InterpreterPushArgsAndCallImpl(masm, TailCallMode::kAllow); |
659 } | 663 } |
660 static void Generate_InterpreterPushArgsAndCallImpl( | 664 static void Generate_InterpreterPushArgsAndCallImpl( |
661 MacroAssembler* masm, TailCallMode tail_call_mode); | 665 MacroAssembler* masm, TailCallMode tail_call_mode); |
662 static void Generate_InterpreterPushArgsAndConstruct(MacroAssembler* masm); | 666 static void Generate_InterpreterPushArgsAndConstruct(MacroAssembler* masm); |
| 667 static void Generate_InterpreterNotifyDeoptimized(MacroAssembler* masm); |
| 668 static void Generate_InterpreterNotifySoftDeoptimized(MacroAssembler* masm); |
| 669 static void Generate_InterpreterNotifyLazyDeoptimized(MacroAssembler* masm); |
| 670 static void Generate_InterpreterEnterBytecodeDispatch(MacroAssembler* masm); |
663 | 671 |
664 #define DECLARE_CODE_AGE_BUILTIN_GENERATOR(C) \ | 672 #define DECLARE_CODE_AGE_BUILTIN_GENERATOR(C) \ |
665 static void Generate_Make##C##CodeYoungAgainEvenMarking( \ | 673 static void Generate_Make##C##CodeYoungAgainEvenMarking( \ |
666 MacroAssembler* masm); \ | 674 MacroAssembler* masm); \ |
667 static void Generate_Make##C##CodeYoungAgainOddMarking( \ | 675 static void Generate_Make##C##CodeYoungAgainOddMarking( \ |
668 MacroAssembler* masm); | 676 MacroAssembler* masm); |
669 CODE_AGE_LIST(DECLARE_CODE_AGE_BUILTIN_GENERATOR) | 677 CODE_AGE_LIST(DECLARE_CODE_AGE_BUILTIN_GENERATOR) |
670 #undef DECLARE_CODE_AGE_BUILTIN_GENERATOR | 678 #undef DECLARE_CODE_AGE_BUILTIN_GENERATOR |
671 | 679 |
672 static void Generate_MarkCodeAsToBeExecutedOnce(MacroAssembler* masm); | 680 static void Generate_MarkCodeAsToBeExecutedOnce(MacroAssembler* masm); |
(...skipping 10 matching lines...) Expand all Loading... |
683 friend class BuiltinFunctionTable; | 691 friend class BuiltinFunctionTable; |
684 friend class Isolate; | 692 friend class Isolate; |
685 | 693 |
686 DISALLOW_COPY_AND_ASSIGN(Builtins); | 694 DISALLOW_COPY_AND_ASSIGN(Builtins); |
687 }; | 695 }; |
688 | 696 |
689 } // namespace internal | 697 } // namespace internal |
690 } // namespace v8 | 698 } // namespace v8 |
691 | 699 |
692 #endif // V8_BUILTINS_H_ | 700 #endif // V8_BUILTINS_H_ |
OLD | NEW |