| 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 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 209 V(CompileOptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 210 V(CompileOptimizedConcurrent, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 210 V(CompileOptimizedConcurrent, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 211 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 211 V(NotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 212 V(NotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 212 V(NotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 213 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 213 V(NotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 214 V(NotifyStubFailure, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 214 V(NotifyStubFailure, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 215 V(NotifyStubFailureSaveDoubles, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 215 V(NotifyStubFailureSaveDoubles, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 216 \ | 216 \ |
| 217 V(InterpreterEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 217 V(InterpreterEntryTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 218 V(InterpreterExitTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 218 V(InterpreterExitTrampoline, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 219 V(InterpreterPushArgsAndCallIC, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | |
| 220 V(InterpreterPushArgsAndTailCallIC, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | |
| 221 V(InterpreterPushArgsAndCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 219 V(InterpreterPushArgsAndCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 222 V(InterpreterPushArgsAndTailCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 220 V(InterpreterPushArgsAndTailCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 223 V(InterpreterPushArgsAndConstruct, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 221 V(InterpreterPushArgsAndConstruct, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 224 V(InterpreterNotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 222 V(InterpreterNotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 225 V(InterpreterNotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 223 V(InterpreterNotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 226 V(InterpreterNotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 224 V(InterpreterNotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 227 V(InterpreterEnterBytecodeDispatch, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 225 V(InterpreterEnterBytecodeDispatch, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 228 \ | 226 \ |
| 229 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 227 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| 230 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ | 228 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 #undef DECLARE_BUILTIN_ACCESSOR_A | 360 #undef DECLARE_BUILTIN_ACCESSOR_A |
| 363 | 361 |
| 364 // Convenience wrappers. | 362 // Convenience wrappers. |
| 365 Handle<Code> CallFunction( | 363 Handle<Code> CallFunction( |
| 366 ConvertReceiverMode = ConvertReceiverMode::kAny, | 364 ConvertReceiverMode = ConvertReceiverMode::kAny, |
| 367 TailCallMode tail_call_mode = TailCallMode::kDisallow); | 365 TailCallMode tail_call_mode = TailCallMode::kDisallow); |
| 368 Handle<Code> Call(ConvertReceiverMode = ConvertReceiverMode::kAny, | 366 Handle<Code> Call(ConvertReceiverMode = ConvertReceiverMode::kAny, |
| 369 TailCallMode tail_call_mode = TailCallMode::kDisallow); | 367 TailCallMode tail_call_mode = TailCallMode::kDisallow); |
| 370 Handle<Code> CallBoundFunction(TailCallMode tail_call_mode); | 368 Handle<Code> CallBoundFunction(TailCallMode tail_call_mode); |
| 371 Handle<Code> InterpreterPushArgsAndCall(TailCallMode tail_call_mode); | 369 Handle<Code> InterpreterPushArgsAndCall(TailCallMode tail_call_mode); |
| 372 Handle<Code> InterpreterPushArgsAndCallIC(TailCallMode tail_call_mode); | |
| 373 | 370 |
| 374 Code* builtin(Name name) { | 371 Code* builtin(Name name) { |
| 375 // Code::cast cannot be used here since we access builtins | 372 // Code::cast cannot be used here since we access builtins |
| 376 // during the marking phase of mark sweep. See IC::Clear. | 373 // during the marking phase of mark sweep. See IC::Clear. |
| 377 return reinterpret_cast<Code*>(builtins_[name]); | 374 return reinterpret_cast<Code*>(builtins_[name]); |
| 378 } | 375 } |
| 379 | 376 |
| 380 Address builtin_address(Name name) { | 377 Address builtin_address(Name name) { |
| 381 return reinterpret_cast<Address>(&builtins_[name]); | 378 return reinterpret_cast<Address>(&builtins_[name]); |
| 382 } | 379 } |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 578 | 575 |
| 579 static void Generate_StringConstructor(MacroAssembler* masm); | 576 static void Generate_StringConstructor(MacroAssembler* masm); |
| 580 static void Generate_StringConstructor_ConstructStub(MacroAssembler* masm); | 577 static void Generate_StringConstructor_ConstructStub(MacroAssembler* masm); |
| 581 static void Generate_OnStackReplacement(MacroAssembler* masm); | 578 static void Generate_OnStackReplacement(MacroAssembler* masm); |
| 582 static void Generate_OsrAfterStackCheck(MacroAssembler* masm); | 579 static void Generate_OsrAfterStackCheck(MacroAssembler* masm); |
| 583 static void Generate_InterruptCheck(MacroAssembler* masm); | 580 static void Generate_InterruptCheck(MacroAssembler* masm); |
| 584 static void Generate_StackCheck(MacroAssembler* masm); | 581 static void Generate_StackCheck(MacroAssembler* masm); |
| 585 | 582 |
| 586 static void Generate_InterpreterEntryTrampoline(MacroAssembler* masm); | 583 static void Generate_InterpreterEntryTrampoline(MacroAssembler* masm); |
| 587 static void Generate_InterpreterExitTrampoline(MacroAssembler* masm); | 584 static void Generate_InterpreterExitTrampoline(MacroAssembler* masm); |
| 588 static void Generate_InterpreterPushArgsAndCallIC(MacroAssembler* masm) { | |
| 589 return Generate_InterpreterPushArgsAndCallICImpl(masm, | |
| 590 TailCallMode::kDisallow); | |
| 591 } | |
| 592 static void Generate_InterpreterPushArgsAndTailCallIC(MacroAssembler* masm) { | |
| 593 return Generate_InterpreterPushArgsAndCallICImpl(masm, | |
| 594 TailCallMode::kAllow); | |
| 595 } | |
| 596 static void Generate_InterpreterPushArgsAndCallICImpl( | |
| 597 MacroAssembler* masm, TailCallMode tail_call_mode); | |
| 598 static void Generate_InterpreterPushArgsAndCall(MacroAssembler* masm) { | 585 static void Generate_InterpreterPushArgsAndCall(MacroAssembler* masm) { |
| 599 return Generate_InterpreterPushArgsAndCallImpl(masm, | 586 return Generate_InterpreterPushArgsAndCallImpl(masm, |
| 600 TailCallMode::kDisallow); | 587 TailCallMode::kDisallow); |
| 601 } | 588 } |
| 602 static void Generate_InterpreterPushArgsAndTailCall(MacroAssembler* masm) { | 589 static void Generate_InterpreterPushArgsAndTailCall(MacroAssembler* masm) { |
| 603 return Generate_InterpreterPushArgsAndCallImpl(masm, TailCallMode::kAllow); | 590 return Generate_InterpreterPushArgsAndCallImpl(masm, TailCallMode::kAllow); |
| 604 } | 591 } |
| 605 static void Generate_InterpreterPushArgsAndCallImpl( | 592 static void Generate_InterpreterPushArgsAndCallImpl( |
| 606 MacroAssembler* masm, TailCallMode tail_call_mode); | 593 MacroAssembler* masm, TailCallMode tail_call_mode); |
| 607 static void Generate_InterpreterPushArgsAndConstruct(MacroAssembler* masm); | 594 static void Generate_InterpreterPushArgsAndConstruct(MacroAssembler* masm); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 629 friend class BuiltinFunctionTable; | 616 friend class BuiltinFunctionTable; |
| 630 friend class Isolate; | 617 friend class Isolate; |
| 631 | 618 |
| 632 DISALLOW_COPY_AND_ASSIGN(Builtins); | 619 DISALLOW_COPY_AND_ASSIGN(Builtins); |
| 633 }; | 620 }; |
| 634 | 621 |
| 635 } // namespace internal | 622 } // namespace internal |
| 636 } // namespace v8 | 623 } // namespace v8 |
| 637 | 624 |
| 638 #endif // V8_BUILTINS_H_ | 625 #endif // V8_BUILTINS_H_ |
| OLD | NEW |