зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1245414, part 7 - Update mfbt/decimal/to-moz-dependencies.patch. r=Waldo
--HG-- extra : rebase_source : e79b2009d89c8921f632f7ebc5bfb908b5444523
This commit is contained in:
Родитель
b8a0bc7f14
Коммит
66a8428e62
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
#define ASSERT_NOT_REACHED() MOZ_ASSERT_UNREACHABLE("moz-decimal-utils.h")
|
#define ASSERT_NOT_REACHED() MOZ_ASSERT_UNREACHABLE("moz-decimal-utils.h")
|
||||||
|
|
||||||
|
#define STACK_ALLOCATED() DISALLOW_NEW()
|
||||||
|
|
||||||
#define WTF_MAKE_NONCOPYABLE(ClassName) \
|
#define WTF_MAKE_NONCOPYABLE(ClassName) \
|
||||||
private: \
|
private: \
|
||||||
ClassName(const ClassName&) = delete; \
|
ClassName(const ClassName&) = delete; \
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp
|
diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp
|
||||||
--- a/mfbt/decimal/Decimal.cpp
|
--- a/mfbt/decimal/Decimal.cpp
|
||||||
+++ b/mfbt/decimal/Decimal.cpp
|
+++ b/mfbt/decimal/Decimal.cpp
|
||||||
@@ -23,26 +23,23 @@
|
@@ -23,22 +23,20 @@
|
||||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
@ -10,29 +10,26 @@ diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
-#include "config.h"
|
-#include "platform/Decimal.h"
|
||||||
#include "Decimal.h"
|
+#include "Decimal.h"
|
||||||
+#include "moz-decimal-utils.h"
|
+#include "moz-decimal-utils.h"
|
||||||
|
|
||||||
|
-#include "wtf/Allocator.h"
|
||||||
|
-#include "wtf/MathExtras.h"
|
||||||
|
-#include "wtf/Noncopyable.h"
|
||||||
|
-#include "wtf/text/StringBuilder.h"
|
||||||
|
+using namespace moz_decimal_utils;
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
|
|
||||||
-#include <wtf/Assertions.h>
|
namespace blink {
|
||||||
-#include <wtf/MathExtras.h>
|
|
||||||
-#include <wtf/Noncopyable.h>
|
|
||||||
-#include <wtf/text/StringBuilder.h>
|
|
||||||
+using namespace moz_decimal_utils;
|
|
||||||
|
|
||||||
namespace WebCore {
|
|
||||||
|
|
||||||
namespace DecimalPrivate {
|
namespace DecimalPrivate {
|
||||||
|
|
||||||
static int const ExponentMax = 1023;
|
@@ -690,17 +688,17 @@ Decimal Decimal::floor() const
|
||||||
static int const ExponentMin = -1023;
|
if (isNegative() && !isMultiplePowersOfTen(m_data.coefficient(), numberOfDropDigits))
|
||||||
static int const Precision = 18;
|
++result;
|
||||||
@@ -685,17 +682,17 @@ Decimal Decimal::floor() const
|
|
||||||
result += 1;
|
|
||||||
}
|
|
||||||
return Decimal(sign(), 0, result);
|
return Decimal(sign(), 0, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +46,7 @@ diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp
|
||||||
}
|
}
|
||||||
|
|
||||||
Decimal Decimal::fromString(const String& str)
|
Decimal Decimal::fromString(const String& str)
|
||||||
@@ -937,17 +934,17 @@ Decimal Decimal::round() const
|
@@ -931,17 +929,17 @@ Decimal Decimal::round() const
|
||||||
result /= 10;
|
result /= 10;
|
||||||
return Decimal(sign(), 0, result);
|
return Decimal(sign(), 0, result);
|
||||||
}
|
}
|
||||||
|
@ -68,7 +65,7 @@ diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp
|
||||||
|
|
||||||
return std::numeric_limits<double>::quiet_NaN();
|
return std::numeric_limits<double>::quiet_NaN();
|
||||||
}
|
}
|
||||||
@@ -990,17 +987,17 @@ String Decimal::toString() const
|
@@ -984,17 +982,17 @@ String Decimal::toString() const
|
||||||
++coefficient;
|
++coefficient;
|
||||||
|
|
||||||
while (originalExponent < 0 && coefficient && !(coefficient % 10)) {
|
while (originalExponent < 0 && coefficient && !(coefficient % 10)) {
|
||||||
|
@ -87,7 +84,7 @@ diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp
|
||||||
return builder.toString();
|
return builder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1032,15 +1029,28 @@ String Decimal::toString() const
|
@@ -1026,14 +1024,27 @@ String Decimal::toString() const
|
||||||
if (adjustedExponent) {
|
if (adjustedExponent) {
|
||||||
builder.append(adjustedExponent < 0 ? "e" : "e+");
|
builder.append(adjustedExponent < 0 ? "e" : "e+");
|
||||||
builder.appendNumber(adjustedExponent);
|
builder.appendNumber(adjustedExponent);
|
||||||
|
@ -114,12 +111,11 @@ diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp
|
||||||
return Decimal(EncodedData(sign, EncodedData::ClassZero));
|
return Decimal(EncodedData(sign, EncodedData::ClassZero));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace WebCore
|
} // namespace blink
|
||||||
|
|
||||||
diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h
|
diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h
|
||||||
--- a/mfbt/decimal/Decimal.h
|
--- a/mfbt/decimal/Decimal.h
|
||||||
+++ b/mfbt/decimal/Decimal.h
|
+++ b/mfbt/decimal/Decimal.h
|
||||||
@@ -23,24 +23,41 @@
|
@@ -23,26 +23,49 @@
|
||||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
@ -130,8 +126,8 @@ diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h
|
||||||
|
|
||||||
+/**
|
+/**
|
||||||
+ * Imported from:
|
+ * Imported from:
|
||||||
+ * http://src.chromium.org/viewvc/blink/trunk/Source/core/platform/Decimal.h
|
+ * https://chromium.googlesource.com/chromium/src.git/+/master/third_party/WebKit/Source/platform/Decimal.h
|
||||||
+ * Check hg log for the svn rev of the last update from Blink core.
|
+ * Check UPSTREAM-GIT-SHA for the commit ID of the last update from Blink core.
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
#ifndef Decimal_h
|
#ifndef Decimal_h
|
||||||
|
@ -141,9 +137,11 @@ diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h
|
||||||
+#include <stdint.h>
|
+#include <stdint.h>
|
||||||
#include "mozilla/Types.h"
|
#include "mozilla/Types.h"
|
||||||
|
|
||||||
|
-#include "platform/PlatformExport.h"
|
||||||
|
-#include "wtf/Allocator.h"
|
||||||
|
-#include "wtf/Assertions.h"
|
||||||
|
-#include "wtf/text/WTFString.h"
|
||||||
-#include <stdint.h>
|
-#include <stdint.h>
|
||||||
-#include <wtf/Assertions.h>
|
|
||||||
-#include <wtf/text/WTFString.h>
|
|
||||||
+#include <string>
|
+#include <string>
|
||||||
+
|
+
|
||||||
+#ifndef ASSERT
|
+#ifndef ASSERT
|
||||||
|
@ -151,22 +149,30 @@ diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h
|
||||||
+#define ASSERT MOZ_ASSERT
|
+#define ASSERT MOZ_ASSERT
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
+// To use WTF_MAKE_FAST_ALLOCATED we'd need:
|
+#define PLATFORM_EXPORT
|
||||||
+// http://src.chromium.org/viewvc/blink/trunk/Source/wtf/FastMalloc.h
|
+
|
||||||
|
+// To use USING_FAST_MALLOC we'd need:
|
||||||
|
+// https://chromium.googlesource.com/chromium/src.git/+/master/third_party/WebKit/Source/wtf/Allocator.h
|
||||||
+// Since we don't allocate Decimal objects, no need.
|
+// Since we don't allocate Decimal objects, no need.
|
||||||
+#define WTF_MAKE_FAST_ALLOCATED \
|
+#define USING_FAST_MALLOC(type) \
|
||||||
+ void ignore_this_dummy_method() = delete
|
+ void ignore_this_dummy_method() = delete
|
||||||
|
+
|
||||||
|
+#define DISALLOW_NEW() \
|
||||||
|
+ private: \
|
||||||
|
+ void* operator new(size_t) = delete; \
|
||||||
|
+ void* operator new(size_t, void*) = delete; \
|
||||||
|
+ public:
|
||||||
|
|
||||||
namespace WebCore {
|
namespace blink {
|
||||||
|
|
||||||
namespace DecimalPrivate {
|
namespace DecimalPrivate {
|
||||||
class SpecialValueHandler;
|
class SpecialValueHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This class represents decimal base floating point number.
|
// This class represents decimal base floating point number.
|
||||||
@@ -136,27 +153,28 @@ public:
|
@@ -139,27 +162,28 @@ public:
|
||||||
MFBT_API Decimal abs() const;
|
MFBT_API Decimal abs() const;
|
||||||
MFBT_API Decimal ceiling() const;
|
MFBT_API Decimal ceil() const;
|
||||||
MFBT_API Decimal floor() const;
|
MFBT_API Decimal floor() const;
|
||||||
MFBT_API Decimal remainder(const Decimal&) const;
|
MFBT_API Decimal remainder(const Decimal&) const;
|
||||||
MFBT_API Decimal round() const;
|
MFBT_API Decimal round() const;
|
||||||
|
@ -195,20 +201,20 @@ diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h
|
||||||
MFBT_API explicit Decimal(const EncodedData&);
|
MFBT_API explicit Decimal(const EncodedData&);
|
||||||
const EncodedData& value() const { return m_data; }
|
const EncodedData& value() const { return m_data; }
|
||||||
|
|
||||||
@@ -175,10 +193,21 @@ private:
|
@@ -178,9 +202,20 @@ private:
|
||||||
|
|
||||||
Sign sign() const { return m_data.sign(); }
|
Sign sign() const { return m_data.sign(); }
|
||||||
|
|
||||||
EncodedData m_data;
|
EncodedData m_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace WebCore
|
} // namespace blink
|
||||||
|
|
||||||
+namespace mozilla {
|
+namespace mozilla {
|
||||||
+ typedef WebCore::Decimal Decimal;
|
+typedef blink::Decimal Decimal;
|
||||||
+}
|
+} // namespace mozilla
|
||||||
+
|
+
|
||||||
+#undef WTF_MAKE_FAST_ALLOCATED
|
+#undef USING_FAST_MALLOC
|
||||||
+
|
+
|
||||||
+#ifdef DEFINED_ASSERT_FOR_DECIMAL_H
|
+#ifdef DEFINED_ASSERT_FOR_DECIMAL_H
|
||||||
+#undef DEFINED_ASSERT_FOR_DECIMAL_H
|
+#undef DEFINED_ASSERT_FOR_DECIMAL_H
|
||||||
|
@ -216,4 +222,3 @@ diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
#endif // Decimal_h
|
#endif // Decimal_h
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче