Changeset 195145 in webkit
- Timestamp:
- Jan 15, 2016 1:43:57 PM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r195139 r195145 1 2016-01-15 Per Arne Vollan <peavo@outlook.com> 2 3 [B3][Win64] Compile fixes. 4 https://bugs.webkit.org/show_bug.cgi?id=153127 5 6 Reviewed by Alex Christensen. 7 8 MSVC have several overloads of fmod, pow, and ceil. We need to suggest to MSVC 9 which one we want to use. 10 11 * b3/B3LowerMacros.cpp: 12 * b3/B3LowerMacrosAfterOptimizations.cpp: 13 * b3/B3MathExtras.cpp: 14 (JSC::B3::powDoubleInt32): 15 * b3/B3ReduceStrength.cpp: 16 1 17 2016-01-15 Filip Pizlo <fpizlo@apple.com> 2 18 -
trunk/Source/JavaScriptCore/b3/B3LowerMacros.cpp
r194873 r195145 77 77 switch (m_value->opcode()) { 78 78 case Mod: { 79 double (*fmodDouble)(double, double) = fmod; 79 80 if (m_value->type() == Double) { 80 Value* functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, fmod );81 Value* functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, fmodDouble); 81 82 Value* result = m_insertionSet.insert<CCallValue>(m_index, Double, m_origin, 82 83 Effects::none(), … … 89 90 Value* numeratorAsDouble = m_insertionSet.insert<Value>(m_index, FloatToDouble, m_origin, m_value->child(0)); 90 91 Value* denominatorAsDouble = m_insertionSet.insert<Value>(m_index, FloatToDouble, m_origin, m_value->child(1)); 91 Value* functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, fmod );92 Value* functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, fmodDouble); 92 93 Value* doubleMod = m_insertionSet.insert<CCallValue>(m_index, Double, m_origin, 93 94 Effects::none(), -
trunk/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp
r194802 r195145 93 93 94 94 Value* functionAddress = nullptr; 95 double (*ceilDouble)(double) = ceil; 95 96 if (m_value->type() == Double) 96 functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, ceil );97 functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, ceilDouble); 97 98 else if (m_value->type() == Float) 98 99 functionAddress = m_insertionSet.insert<ConstPtrValue>(m_index, m_origin, ceilf); -
trunk/Source/JavaScriptCore/b3/B3MathExtras.cpp
r193989 r195145 59 59 // Function call. 60 60 Value* yAsDouble = functionCallCase->appendNew<Value>(procedure, IToD, origin, y); 61 double (*powDouble)(double, double) = pow; 61 62 Value* powResult = functionCallCase->appendNew<CCallValue>( 62 63 procedure, Double, origin, 63 functionCallCase->appendNew<ConstPtrValue>(procedure, origin, bitwise_cast<void*>(pow )),64 functionCallCase->appendNew<ConstPtrValue>(procedure, origin, bitwise_cast<void*>(powDouble)), 64 65 x, yAsDouble); 65 66 UpsilonValue* powResultUpsilon = functionCallCase->appendNew<UpsilonValue>(procedure, origin, powResult); -
trunk/Source/JavaScriptCore/b3/B3ReduceStrength.cpp
r194855 r195145 949 949 } 950 950 951 case CCall: 951 case CCall: { 952 952 // Turn this: Call(fmod, constant1, constant2) 953 953 // Into this: fcall-constant(constant1, constant2) 954 double(*fmodDouble)(double, double) = fmod; 954 955 if (m_value->type() == Double 955 956 && m_value->numChildren() == 3 956 && m_value->child(0)->isIntPtr(reinterpret_cast<intptr_t>(fmod ))957 && m_value->child(0)->isIntPtr(reinterpret_cast<intptr_t>(fmodDouble)) 957 958 && m_value->child(1)->type() == Double 958 959 && m_value->child(2)->type() == Double) { … … 960 961 } 961 962 break; 962 963 } 963 964 case Equal: 964 965 handleCommutativity();
Note: See TracChangeset
for help on using the changeset viewer.