Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Side by Side Diff: src/builtins.h

Issue 1688283003: [Interpreter] Implements calls through CallICStub in the interpreter. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: removes an unused label declaration. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm64/interface-descriptors-arm64.cc ('k') | src/builtins.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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) \
219 V(InterpreterPushArgsAndCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 221 V(InterpreterPushArgsAndCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \
220 V(InterpreterPushArgsAndTailCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 222 V(InterpreterPushArgsAndTailCall, BUILTIN, UNINITIALIZED, kNoExtraICState) \
221 V(InterpreterPushArgsAndConstruct, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 223 V(InterpreterPushArgsAndConstruct, BUILTIN, UNINITIALIZED, kNoExtraICState) \
222 V(InterpreterNotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 224 V(InterpreterNotifyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \
223 V(InterpreterNotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 225 V(InterpreterNotifySoftDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \
224 V(InterpreterNotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 226 V(InterpreterNotifyLazyDeoptimized, BUILTIN, UNINITIALIZED, kNoExtraICState) \
225 V(InterpreterEnterBytecodeDispatch, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 227 V(InterpreterEnterBytecodeDispatch, BUILTIN, UNINITIALIZED, kNoExtraICState) \
226 \ 228 \
227 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 229 V(LoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \
228 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \ 230 V(KeyedLoadIC_Miss, BUILTIN, UNINITIALIZED, kNoExtraICState) \
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 #undef DECLARE_BUILTIN_ACCESSOR_A 362 #undef DECLARE_BUILTIN_ACCESSOR_A
361 363
362 // Convenience wrappers. 364 // Convenience wrappers.
363 Handle<Code> CallFunction( 365 Handle<Code> CallFunction(
364 ConvertReceiverMode = ConvertReceiverMode::kAny, 366 ConvertReceiverMode = ConvertReceiverMode::kAny,
365 TailCallMode tail_call_mode = TailCallMode::kDisallow); 367 TailCallMode tail_call_mode = TailCallMode::kDisallow);
366 Handle<Code> Call(ConvertReceiverMode = ConvertReceiverMode::kAny, 368 Handle<Code> Call(ConvertReceiverMode = ConvertReceiverMode::kAny,
367 TailCallMode tail_call_mode = TailCallMode::kDisallow); 369 TailCallMode tail_call_mode = TailCallMode::kDisallow);
368 Handle<Code> CallBoundFunction(TailCallMode tail_call_mode); 370 Handle<Code> CallBoundFunction(TailCallMode tail_call_mode);
369 Handle<Code> InterpreterPushArgsAndCall(TailCallMode tail_call_mode); 371 Handle<Code> InterpreterPushArgsAndCall(TailCallMode tail_call_mode);
372 Handle<Code> InterpreterPushArgsAndCallIC(TailCallMode tail_call_mode);
370 373
371 Code* builtin(Name name) { 374 Code* builtin(Name name) {
372 // Code::cast cannot be used here since we access builtins 375 // Code::cast cannot be used here since we access builtins
373 // during the marking phase of mark sweep. See IC::Clear. 376 // during the marking phase of mark sweep. See IC::Clear.
374 return reinterpret_cast<Code*>(builtins_[name]); 377 return reinterpret_cast<Code*>(builtins_[name]);
375 } 378 }
376 379
377 Address builtin_address(Name name) { 380 Address builtin_address(Name name) {
378 return reinterpret_cast<Address>(&builtins_[name]); 381 return reinterpret_cast<Address>(&builtins_[name]);
379 } 382 }
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 578
576 static void Generate_StringConstructor(MacroAssembler* masm); 579 static void Generate_StringConstructor(MacroAssembler* masm);
577 static void Generate_StringConstructor_ConstructStub(MacroAssembler* masm); 580 static void Generate_StringConstructor_ConstructStub(MacroAssembler* masm);
578 static void Generate_OnStackReplacement(MacroAssembler* masm); 581 static void Generate_OnStackReplacement(MacroAssembler* masm);
579 static void Generate_OsrAfterStackCheck(MacroAssembler* masm); 582 static void Generate_OsrAfterStackCheck(MacroAssembler* masm);
580 static void Generate_InterruptCheck(MacroAssembler* masm); 583 static void Generate_InterruptCheck(MacroAssembler* masm);
581 static void Generate_StackCheck(MacroAssembler* masm); 584 static void Generate_StackCheck(MacroAssembler* masm);
582 585
583 static void Generate_InterpreterEntryTrampoline(MacroAssembler* masm); 586 static void Generate_InterpreterEntryTrampoline(MacroAssembler* masm);
584 static void Generate_InterpreterExitTrampoline(MacroAssembler* masm); 587 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);
585 static void Generate_InterpreterPushArgsAndCall(MacroAssembler* masm) { 598 static void Generate_InterpreterPushArgsAndCall(MacroAssembler* masm) {
586 return Generate_InterpreterPushArgsAndCallImpl(masm, 599 return Generate_InterpreterPushArgsAndCallImpl(masm,
587 TailCallMode::kDisallow); 600 TailCallMode::kDisallow);
588 } 601 }
589 static void Generate_InterpreterPushArgsAndTailCall(MacroAssembler* masm) { 602 static void Generate_InterpreterPushArgsAndTailCall(MacroAssembler* masm) {
590 return Generate_InterpreterPushArgsAndCallImpl(masm, TailCallMode::kAllow); 603 return Generate_InterpreterPushArgsAndCallImpl(masm, TailCallMode::kAllow);
591 } 604 }
592 static void Generate_InterpreterPushArgsAndCallImpl( 605 static void Generate_InterpreterPushArgsAndCallImpl(
593 MacroAssembler* masm, TailCallMode tail_call_mode); 606 MacroAssembler* masm, TailCallMode tail_call_mode);
594 static void Generate_InterpreterPushArgsAndConstruct(MacroAssembler* masm); 607 static void Generate_InterpreterPushArgsAndConstruct(MacroAssembler* masm);
(...skipping 21 matching lines...) Expand all
616 friend class BuiltinFunctionTable; 629 friend class BuiltinFunctionTable;
617 friend class Isolate; 630 friend class Isolate;
618 631
619 DISALLOW_COPY_AND_ASSIGN(Builtins); 632 DISALLOW_COPY_AND_ASSIGN(Builtins);
620 }; 633 };
621 634
622 } // namespace internal 635 } // namespace internal
623 } // namespace v8 636 } // namespace v8
624 637
625 #endif // V8_BUILTINS_H_ 638 #endif // V8_BUILTINS_H_
OLDNEW
« no previous file with comments | « src/arm64/interface-descriptors-arm64.cc ('k') | src/builtins.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698