5#ifndef V8_CODEGEN_ARM_INTERFACE_DESCRIPTORS_ARM_INL_H_
6#define V8_CODEGEN_ARM_INTERFACE_DESCRIPTORS_ARM_INL_H_
27 std::array<DoubleRegister, 7>
registers{d0, d1, d2, d3, d4, d5, d6};
48template <
typename DerivedDescriptor>
49void StaticCallInterfaceDescriptor<DerivedDescriptor>::
50 VerifyArgumentRegisterCount(CallInterfaceDescriptorData* data,
int argc) {
51 RegList allocatable_regs = data->allocatable_registers();
52 if (argc >= 1)
DCHECK(allocatable_regs.has(r0));
53 if (argc >= 2)
DCHECK(allocatable_regs.has(r1));
54 if (argc >= 3)
DCHECK(allocatable_regs.has(r2));
55 if (argc >= 4)
DCHECK(allocatable_regs.has(r3));
56 if (argc >= 5)
DCHECK(allocatable_regs.has(r4));
57 if (argc >= 6)
DCHECK(allocatable_regs.has(r5));
58 if (argc >= 7)
DCHECK(allocatable_regs.has(r6));
59 if (argc >= 8)
DCHECK(allocatable_regs.has(r7));
70constexpr Register LoadDescriptor::ReceiverRegister() {
return r1; }
77constexpr Register LoadWithVectorDescriptor::VectorRegister() {
return r3; }
80constexpr Register KeyedLoadBaselineDescriptor::ReceiverRegister() {
91constexpr Register KeyedLoadWithVectorDescriptor::VectorRegister() {
96constexpr Register EnumeratedKeyedLoadBaselineDescriptor::EnumIndexRegister() {
111constexpr Register KeyedHasICBaselineDescriptor::ReceiverRegister() {
120constexpr Register KeyedHasICWithVectorDescriptor::VectorRegister() {
126LoadWithReceiverAndVectorDescriptor::LookupStartObjectRegister() {
131constexpr Register StoreDescriptor::ReceiverRegister() {
return r1; }
140constexpr Register StoreWithVectorDescriptor::VectorRegister() {
return r3; }
143constexpr Register DefineKeyedOwnDescriptor::FlagsRegister() {
return r5; }
146constexpr Register StoreTransitionDescriptor::MapRegister() {
return r5; }
154constexpr Register GrowArrayElementsDescriptor::ObjectRegister() {
return r0; }
159constexpr Register BaselineLeaveFrameDescriptor::ParamsSizeRegister() {
174MaglevOptimizeCodeOrTailCallOptimizedCodeSlotDescriptor::FlagsRegister() {
337CallApiCallbackOptimizedDescriptor::ApiFunctionAddressRegister() {
353CallApiCallbackGenericDescriptor::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()
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
uint32_t WasmInterpreterRuntime int64_t r0
RegListBase< Register > RegList
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)