5#ifndef V8_CODEGEN_X64_INTERFACE_DESCRIPTORS_X64_INL_H_
6#define V8_CODEGEN_X64_INTERFACE_DESCRIPTORS_X64_INL_H_
40template <
typename DerivedDescriptor>
41void StaticCallInterfaceDescriptor<DerivedDescriptor>::
42 VerifyArgumentRegisterCount(CallInterfaceDescriptorData* data,
43 int nof_expected_args) {
44 RegList allocatable_regs = data->allocatable_registers();
55#ifdef V8_TARGET_OS_WIN
64constexpr auto TSANStoreDescriptor::registers() {
69constexpr auto TSANLoadDescriptor::registers() {
75constexpr Register LoadDescriptor::ReceiverRegister() {
return rdx; }
82constexpr Register LoadWithVectorDescriptor::VectorRegister() {
return rbx; }
85constexpr Register KeyedLoadBaselineDescriptor::ReceiverRegister() {
96constexpr Register KeyedLoadWithVectorDescriptor::VectorRegister() {
101constexpr Register EnumeratedKeyedLoadBaselineDescriptor::EnumIndexRegister() {
116constexpr Register KeyedHasICBaselineDescriptor::ReceiverRegister() {
125constexpr Register KeyedHasICWithVectorDescriptor::VectorRegister() {
131LoadWithReceiverAndVectorDescriptor::LookupStartObjectRegister() {
136constexpr Register StoreDescriptor::ReceiverRegister() {
return rdx; }
145constexpr Register StoreWithVectorDescriptor::VectorRegister() {
return rbx; }
148constexpr Register DefineKeyedOwnDescriptor::FlagsRegister() {
return r11; }
151constexpr Register StoreTransitionDescriptor::MapRegister() {
return r11; }
159constexpr Register GrowArrayElementsDescriptor::ObjectRegister() {
return rax; }
164constexpr 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
constexpr EmptyDoubleRegisterArray DoubleRegisterArray()
RegListBase< Register > RegList
constexpr DwVfpRegister no_dreg
constexpr EmptyRegisterArray RegisterArray()
constexpr Register kInterpreterAccumulatorRegister
constexpr DoubleRegister kFPReturnRegister0
constexpr Register kReturnRegister1
constexpr Register kReturnRegister0
constexpr Register kInterpreterDispatchTableRegister
constexpr Register kReturnRegister2
constexpr int kMaxBuiltinRegisterParams
constexpr Register kCArgRegs[]
constexpr Register kInterpreterBytecodeOffsetRegister
constexpr Register kInterpreterBytecodeArrayRegister
#define DCHECK(condition)