5#ifndef V8_CODEGEN_RISCV_INTERFACE_DESCRIPTORS_RISCV_INL_H_
6#define V8_CODEGEN_RISCV_INTERFACE_DESCRIPTORS_RISCV_INL_H_
39template <
typename DerivedDescriptor>
42 RegList allocatable_regs = data->allocatable_registers();
43 if (argc >= 1)
DCHECK(allocatable_regs.
has(a0));
44 if (argc >= 2)
DCHECK(allocatable_regs.
has(a1));
45 if (argc >= 3)
DCHECK(allocatable_regs.
has(a2));
46 if (argc >= 4)
DCHECK(allocatable_regs.
has(a3));
47 if (argc >= 5)
DCHECK(allocatable_regs.
has(a4));
48 if (argc >= 6)
DCHECK(allocatable_regs.
has(a5));
49 if (argc >= 7)
DCHECK(allocatable_regs.
has(a6));
50 if (argc >= 8)
DCHECK(allocatable_regs.
has(a7));
62constexpr Register LoadDescriptor::ReceiverRegister() {
return a1; }
69constexpr Register LoadWithVectorDescriptor::VectorRegister() {
return a3; }
72constexpr Register KeyedLoadBaselineDescriptor::ReceiverRegister() {
83constexpr Register KeyedLoadWithVectorDescriptor::VectorRegister() {
88constexpr Register EnumeratedKeyedLoadBaselineDescriptor::EnumIndexRegister() {
103constexpr Register KeyedHasICBaselineDescriptor::ReceiverRegister() {
112constexpr Register KeyedHasICWithVectorDescriptor::VectorRegister() {
118LoadWithReceiverAndVectorDescriptor::LookupStartObjectRegister() {
123constexpr Register StoreDescriptor::ReceiverRegister() {
return a1; }
132constexpr Register StoreWithVectorDescriptor::VectorRegister() {
return a3; }
135constexpr Register DefineKeyedOwnDescriptor::FlagsRegister() {
return a5; }
138constexpr Register StoreTransitionDescriptor::MapRegister() {
return a5; }
146constexpr Register GrowArrayElementsDescriptor::ObjectRegister() {
return a0; }
151constexpr Register BaselineLeaveFrameDescriptor::ParamsSizeRegister() {
161#ifdef V8_ENABLE_MAGLEV
164MaglevOptimizeCodeOrTailCallOptimizedCodeSlotDescriptor::FlagsRegister() {
343CallApiCallbackOptimizedDescriptor::ApiFunctionAddressRegister() {
359CallApiCallbackGenericDescriptor::ActualArgumentsCountRegister() {
static constexpr auto registers()
static constexpr Register HolderRegister()
static constexpr Register CallbackRegister()
static constexpr Register WeightRegister()
static constexpr auto registers()
static constexpr Register FunctionTemplateInfoRegister()
static DEFINE_PARAMETERS_VARARGS(kActualArgumentsCount, kTopmostScriptHavingContext, kFunctionTemplateInfo) DEFINE_PARAMETER_TYPES(MachineType constexpr Register TopmostScriptHavingContextRegister()
static constexpr Register FunctionTemplateInfoRegister()
static DEFINE_PARAMETERS_VARARGS(kApiFunctionAddress, kActualArgumentsCount, kFunctionTemplateInfo) DEFINE_PARAMETER_TYPES(MachineType constexpr Register ActualArgumentsCountRegister()
static constexpr auto DefaultReturnDoubleRegisterArray()
static constexpr auto DefaultDoubleRegisterArray()
static constexpr auto DefaultRegisterArray()
static constexpr auto DefaultReturnRegisterArray()
static constexpr auto registers()
static constexpr auto registers()
static constexpr auto registers()
static constexpr auto registers()
static constexpr Register CacheTypeRegister()
static constexpr Register SlotRegister()
static constexpr Register KeyRegister()
static constexpr Register NameRegister()
static constexpr Register SlotRegister()
static constexpr Register SlotRegister()
static constexpr Register NameRegister()
static constexpr Register SlotRegister()
static constexpr Register NameRegister()
static constexpr Register TemporaryRegister()
static constexpr Register FeedbackVectorRegister()
constexpr bool has(RegisterT reg) const
static constexpr auto registers()
static constexpr Register NameRegister()
static constexpr Register SlotRegister()
static constexpr Register ValueRegister()
static constexpr Register ArgumentRegister()
static constexpr auto registers()
static constexpr auto registers()
RegListBase< RegisterT > registers
constexpr EmptyDoubleRegisterArray DoubleRegisterArray()
constexpr DwVfpRegister no_dreg
constexpr EmptyRegisterArray RegisterArray()
constexpr Register kInterpreterAccumulatorRegister
constexpr DoubleRegister kFPReturnRegister0
constexpr Register kReturnRegister1
constexpr Register kReturnRegister0
constexpr Register kContextRegister
constexpr Register kInterpreterDispatchTableRegister
constexpr Register kReturnRegister2
constexpr int kMaxBuiltinRegisterParams
constexpr Register kInterpreterBytecodeOffsetRegister
constexpr Register kInterpreterBytecodeArrayRegister
#define DCHECK(condition)