diff options
Diffstat (limited to 'deps/v8/src/mips/interface-descriptors-mips.cc')
-rw-r--r-- | deps/v8/src/mips/interface-descriptors-mips.cc | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/deps/v8/src/mips/interface-descriptors-mips.cc b/deps/v8/src/mips/interface-descriptors-mips.cc index ecdaecf2b7..b8cae81e0d 100644 --- a/deps/v8/src/mips/interface-descriptors-mips.cc +++ b/deps/v8/src/mips/interface-descriptors-mips.cc @@ -98,7 +98,19 @@ void FastCloneShallowObjectDescriptor::Initialize( void CreateAllocationSiteDescriptor::Initialize( CallInterfaceDescriptorData* data) { Register registers[] = {cp, a2, a3}; - data->Initialize(arraysize(registers), registers, NULL); + Representation representations[] = {Representation::Tagged(), + Representation::Tagged(), + Representation::Smi()}; + data->Initialize(arraysize(registers), registers, representations); +} + + +void CreateWeakCellDescriptor::Initialize(CallInterfaceDescriptorData* data) { + Register registers[] = {cp, a2, a3, a1}; + Representation representations[] = { + Representation::Tagged(), Representation::Tagged(), Representation::Smi(), + Representation::Tagged()}; + data->Initialize(arraysize(registers), registers, representations); } @@ -125,6 +137,16 @@ void CallFunctionWithFeedbackDescriptor::Initialize( } +void CallFunctionWithFeedbackAndVectorDescriptor::Initialize( + CallInterfaceDescriptorData* data) { + Register registers[] = {cp, a1, a3, a2}; + Representation representations[] = { + Representation::Tagged(), Representation::Tagged(), Representation::Smi(), + Representation::Tagged()}; + data->Initialize(arraysize(registers), registers, representations); +} + + void CallConstructDescriptor::Initialize(CallInterfaceDescriptorData* data) { // a0 : number of arguments // a1 : the function to call @@ -299,6 +321,27 @@ void ApiFunctionDescriptor::Initialize(CallInterfaceDescriptorData* data) { t0, // call_data a2, // holder a1, // api_function_address + a3, // actual number of arguments + }; + Representation representations[] = { + Representation::Tagged(), // context + Representation::Tagged(), // callee + Representation::Tagged(), // call_data + Representation::Tagged(), // holder + Representation::External(), // api_function_address + Representation::Integer32(), // actual number of arguments + }; + data->Initialize(arraysize(registers), registers, representations); +} + + +void ApiAccessorDescriptor::Initialize(CallInterfaceDescriptorData* data) { + Register registers[] = { + cp, // context + a0, // callee + t0, // call_data + a2, // holder + a1, // api_function_address }; Representation representations[] = { Representation::Tagged(), // context |