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