Index: src/x87/interface-descriptors-x87.cc |
diff --git a/src/x87/interface-descriptors-x87.cc b/src/x87/interface-descriptors-x87.cc |
index 05fa9b89268e1cfc137cc4a5e1fad83b8ebe2741..8b6d1a42775fa523f97eaa698379264ea70fec3a 100644 |
--- a/src/x87/interface-descriptors-x87.cc |
+++ b/src/x87/interface-descriptors-x87.cc |
@@ -332,11 +332,22 @@ void ApiAccessorDescriptor::InitializePlatformSpecific( |
} |
-void MathRoundVariantDescriptor::InitializePlatformSpecific( |
- CallInterfaceDescriptorData* data) { |
+void MathRoundVariantCallFromUnoptimizedCodeDescriptor:: |
+ InitializePlatformSpecific(CallInterfaceDescriptorData* data) { |
+ Register registers[] = { |
+ edi, // math rounding function |
+ edx, // vector slot id |
+ }; |
+ data->InitializePlatformSpecific(arraysize(registers), registers); |
+} |
+ |
+ |
+void MathRoundVariantCallFromOptimizedCodeDescriptor:: |
+ InitializePlatformSpecific(CallInterfaceDescriptorData* data) { |
Register registers[] = { |
edi, // math rounding function |
edx, // vector slot id |
+ ebx // type vector |
}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |