| Index: src/base/bits.cc
|
| diff --git a/src/base/bits.cc b/src/base/bits.cc
|
| index 2818b939aa94bb1c43761ef7add1386b0050c214..74d747fc9059f135cc2986b9b73f6ce473391534 100644
|
| --- a/src/base/bits.cc
|
| +++ b/src/base/bits.cc
|
| @@ -3,6 +3,9 @@
|
| // found in the LICENSE file.
|
|
|
| #include "src/base/bits.h"
|
| +
|
| +#include <limits>
|
| +
|
| #include "src/base/logging.h"
|
|
|
| namespace v8 {
|
| @@ -32,6 +35,19 @@ int32_t SignedMulHighAndAdd32(int32_t lhs, int32_t rhs, int32_t acc) {
|
| bit_cast<uint32_t>(SignedMulHigh32(lhs, rhs)));
|
| }
|
|
|
| +
|
| +int32_t SignedDiv32(int32_t lhs, int32_t rhs) {
|
| + if (rhs == 0) return 0;
|
| + if (rhs == -1) return -lhs;
|
| + return lhs / rhs;
|
| +}
|
| +
|
| +
|
| +int32_t SignedMod32(int32_t lhs, int32_t rhs) {
|
| + if (rhs == 0 || rhs == -1) return 0;
|
| + return lhs % rhs;
|
| +}
|
| +
|
| } // namespace bits
|
| } // namespace base
|
| } // namespace v8
|
|
|