Blob Blame History Raw
diff --git a/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp b/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp
index e03d5f42c140692b1140a15d92c0d7990c18780e..96e741e61a2e780d84e7ea1603952572868b7fbd 100644
--- a/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp
+++ b/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp
@@ -92,9 +92,10 @@ class LowerMacros {
                     break;
 
                 Value* functionAddress = nullptr;
-                if (m_value->type() == Double)
-                    functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, ceil);
-                else if (m_value->type() == Float)
+                if (m_value->type() == Double) {
+                    double (*ceilDouble)(double) = ceil;
+                    functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, ceilDouble);
+                } else if (m_value->type() == Float)
                     functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, ceilf);
                 else
                     RELEASE_ASSERT_NOT_REACHED();
@@ -113,9 +114,10 @@ class LowerMacros {
                     break;
 
                 Value* functionAddress = nullptr;
-                if (m_value->type() == Double)
-                    functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, floor);
-                else if (m_value->type() == Float)
+                if (m_value->type() == Double) {
+                    double (*floorDouble)(double) = floor;
+                    functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, floorDouble);
+                } else if (m_value->type() == Float)
                     functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, floorf);
                 else
                     RELEASE_ASSERT_NOT_REACHED();