angler-fishThe Vulnerability History Project

Incorporate newer, faster dtoa library

      https://bugs.webkit.org/show_bug.cgi?id=66346

Patch by Mark Hahnenberg <mhahnenberg@apple.com> on 2011-09-02
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Added new dtoa library at http://code.google.com/p/double-conversion/.
Replaced old call to dtoa.  The new library is much faster than the old one.
We still use the old dtoa for some stuff in WebCore as well as the old strtod,
but we can phase these out eventually as well.

* GNUmakefile.list.am:
* JavaScriptCore.exp:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* runtime/InitializeThreading.cpp:
* runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):
* runtime/UString.cpp:
(JSC::UString::number):
* wtf/CMakeLists.txt:
* wtf/ThreadingPthreads.cpp:
(WTF::initializeThreading):
* wtf/ThreadingWin.cpp:
(WTF::initializeThreading):
* wtf/dtoa.cpp:
(WTF::dtoa):
* wtf/dtoa.h:
* wtf/dtoa/COPYING: Added.
* wtf/dtoa/LICENSE: Added.
* wtf/dtoa/README: Added.
* wtf/dtoa/bignum-dtoa.cc: Added.
* wtf/dtoa/bignum-dtoa.h: Added.
* wtf/dtoa/bignum.cc: Added.
* wtf/dtoa/bignum.h: Added.
(WTF::double_conversion::Bignum::Times10):
(WTF::double_conversion::Bignum::Equal):
(WTF::double_conversion::Bignum::LessEqual):
(WTF::double_conversion::Bignum::Less):
(WTF::double_conversion::Bignum::PlusEqual):
(WTF::double_conversion::Bignum::PlusLessEqual):
(WTF::double_conversion::Bignum::PlusLess):
(WTF::double_conversion::Bignum::EnsureCapacity):
(WTF::double_conversion::Bignum::BigitLength):
* wtf/dtoa/cached-powers.cc: Added.
* wtf/dtoa/cached-powers.h: Added.
* wtf/dtoa/diy-fp.cc: Added.
* wtf/dtoa/diy-fp.h: Added.
(WTF::double_conversion::DiyFp::DiyFp):
(WTF::double_conversion::DiyFp::Subtract):
(WTF::double_conversion::DiyFp::Minus):
(WTF::double
    
commit 663104998a680d18be9af4f2fc8c42975924daa4
-121
+3 -21
+3 -1
-18
+1 -7
-1
-76
+10 -102
+1
+22 -23
+3 -2
-41
-2
-2
+26 -6
+6 -9
-26
-26
-11
-657
-86
-768
-145
-189
-72
-61
-122
-873
-502
-249
-739
-88
-408
-60
-445
-45
-303
+1 -9
-25
-4
-2
+1 -1
+2 -1
+1 -2
+1 -1
expand_less