summaryrefslogtreecommitdiff
path: root/deps/v8/src/base/utils
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/base/utils')
-rw-r--r--deps/v8/src/base/utils/random-number-generator.cc2
-rw-r--r--deps/v8/src/base/utils/random-number-generator.h9
2 files changed, 5 insertions, 6 deletions
diff --git a/deps/v8/src/base/utils/random-number-generator.cc b/deps/v8/src/base/utils/random-number-generator.cc
index afe5a1f098..a3313f4e88 100644
--- a/deps/v8/src/base/utils/random-number-generator.cc
+++ b/deps/v8/src/base/utils/random-number-generator.cc
@@ -99,7 +99,7 @@ int RandomNumberGenerator::NextInt(int max) {
double RandomNumberGenerator::NextDouble() {
XorShift128(&state0_, &state1_);
- return ToDouble(state0_, state1_);
+ return ToDouble(state0_);
}
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_;