summaryrefslogtreecommitdiff
path: root/deps/v8/src/base/utils/random-number-generator.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/base/utils/random-number-generator.h')
-rw-r--r--deps/v8/src/base/utils/random-number-generator.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/deps/v8/src/base/utils/random-number-generator.h b/deps/v8/src/base/utils/random-number-generator.h
index b4b67970c7..45ec259305 100644
--- a/deps/v8/src/base/utils/random-number-generator.h
+++ b/deps/v8/src/base/utils/random-number-generator.h
@@ -108,11 +108,10 @@ class V8_BASE_EXPORT RandomNumberGenerator final {
int64_t initial_seed() const { return initial_seed_; }
// Static and exposed for external use.
- static inline double ToDouble(uint64_t state0, uint64_t state1) {
+ static inline double ToDouble(uint64_t state0) {
// Exponent for double values for [1.0 .. 2.0)
static const uint64_t kExponentBits = uint64_t{0x3FF0000000000000};
- static const uint64_t kMantissaMask = uint64_t{0x000FFFFFFFFFFFFF};
- uint64_t random = ((state0 + state1) & kMantissaMask) | kExponentBits;
+ uint64_t random = (state0 >> 12) | kExponentBits;
return bit_cast<double>(random) - 1;
}
@@ -128,6 +127,8 @@ class V8_BASE_EXPORT RandomNumberGenerator final {
*state1 = s1;
}
+ static uint64_t MurmurHash3(uint64_t);
+
private:
static const int64_t kMultiplier = V8_2PART_UINT64_C(0x5, deece66d);
static const int64_t kAddend = 0xb;
@@ -135,8 +136,6 @@ class V8_BASE_EXPORT RandomNumberGenerator final {
int Next(int bits) V8_WARN_UNUSED_RESULT;
- static uint64_t MurmurHash3(uint64_t);
-
int64_t initial_seed_;
uint64_t state0_;
uint64_t state1_;