Index: src/ppc/interface-descriptors-ppc.cc |
diff --git a/src/ppc/interface-descriptors-ppc.cc b/src/ppc/interface-descriptors-ppc.cc |
index 693f341e997125a0d34748fecf8be2d56c96cf7d..f82d85ded01dd39752ee8b0497798c3220bf5e75 100644 |
--- a/src/ppc/interface-descriptors-ppc.cc |
+++ b/src/ppc/interface-descriptors-ppc.cc |
@@ -98,7 +98,19 @@ void FastCloneShallowObjectDescriptor::Initialize( |
void CreateAllocationSiteDescriptor::Initialize( |
CallInterfaceDescriptorData* data) { |
Register registers[] = {cp, r5, r6}; |
- 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, r5, r6, r4}; |
+ 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, r4, r6, r5}; |
+ Representation representations[] = { |
+ Representation::Tagged(), Representation::Tagged(), Representation::Smi(), |
+ Representation::Tagged()}; |
+ data->Initialize(arraysize(registers), registers, representations); |
+} |
+ |
+ |
void CallConstructDescriptor::Initialize(CallInterfaceDescriptorData* data) { |
// r3 : number of arguments |
// r4 : the function to call |
@@ -152,6 +174,15 @@ void TransitionElementsKindDescriptor::Initialize( |
} |
+void AllocateHeapNumberDescriptor::Initialize( |
+ CallInterfaceDescriptorData* data) { |
+ // register state |
+ // cp -- context |
+ Register registers[] = {cp}; |
+ data->Initialize(arraysize(registers), registers, nullptr); |
+} |
+ |
+ |
void ArrayConstructorConstantArgCountDescriptor::Initialize( |
CallInterfaceDescriptorData* data) { |
// register state |
@@ -290,6 +321,27 @@ void ApiFunctionDescriptor::Initialize(CallInterfaceDescriptorData* data) { |
r7, // call_data |
r5, // holder |
r4, // api_function_address |
+ r6, // 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 |
+ r3, // callee |
+ r7, // call_data |
+ r5, // holder |
+ r4, // api_function_address |
}; |
Representation representations[] = { |
Representation::Tagged(), // context |