5#ifndef V8_CODEGEN_PPC_INTERFACE_DESCRIPTORS_PPC_INL_H_
6#define V8_CODEGEN_PPC_INTERFACE_DESCRIPTORS_PPC_INL_H_
8#if V8_TARGET_ARCH_PPC64
40template <
typename DerivedDescriptor>
41void StaticCallInterfaceDescriptor<DerivedDescriptor>::
42 VerifyArgumentRegisterCount(CallInterfaceDescriptorData* data,
int argc) {
43 RegList allocatable_regs = data->allocatable_registers();
44 if (argc >= 1)
DCHECK(allocatable_regs.has(r3));
45 if (argc >= 2)
DCHECK(allocatable_regs.has(r4));
46 if (argc >= 3)
DCHECK(allocatable_regs.has(r5));
47 if (argc >= 4)
DCHECK(allocatable_regs.has(r6));
48 if (argc >= 5)
DCHECK(allocatable_regs.has(r7));
49 if (argc >= 6)
DCHECK(allocatable_regs.has(r8));
50 if (argc >= 7)
DCHECK(allocatable_regs.has(r9));
51 if (argc >= 8)
DCHECK(allocatable_regs.has(r10));
62constexpr Register LoadDescriptor::ReceiverRegister() {
return r4; }
69constexpr Register LoadWithVectorDescriptor::VectorRegister() {
return r6; }
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 r4; }
132constexpr Register StoreWithVectorDescriptor::VectorRegister() {
return r6; }
135constexpr Register DefineKeyedOwnDescriptor::FlagsRegister() {
return r8; }
138constexpr Register StoreTransitionDescriptor::MapRegister() {
return r8; }
146constexpr Register GrowArrayElementsDescriptor::ObjectRegister() {
return r3; }
151constexpr Register BaselineLeaveFrameDescriptor::ParamsSizeRegister() {
304CallApiCallbackOptimizedDescriptor::ApiFunctionAddressRegister() {
320CallApiCallbackGenericDescriptor::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 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 kContextRegister
constexpr Register kInterpreterDispatchTableRegister
constexpr Register kReturnRegister2
constexpr int kMaxBuiltinRegisterParams
constexpr Register kInterpreterBytecodeOffsetRegister
constexpr Register kInterpreterBytecodeArrayRegister
#define DCHECK(condition)