Index: src/ic/ic.cc |
diff --git a/src/ic/ic.cc b/src/ic/ic.cc |
index 5b7382f79a57ca6579332567a7a643161efe9c63..a7a04518f64ee794205b2b1d59d49da5b8dead07 100644 |
--- a/src/ic/ic.cc |
+++ b/src/ic/ic.cc |
@@ -7,6 +7,7 @@ |
#include "src/accessors.h" |
#include "src/api.h" |
#include "src/arguments.h" |
+#include "src/base/bits.h" |
#include "src/codegen.h" |
#include "src/conversions.h" |
#include "src/execution.h" |
@@ -2456,7 +2457,8 @@ void BinaryOpIC::State::Update(Handle<Object> left, Handle<Object> right, |
int32_t fixed_right_arg_value = 0; |
bool has_fixed_right_arg = |
op_ == Token::MOD && right->ToInt32(&fixed_right_arg_value) && |
- fixed_right_arg_value > 0 && IsPowerOf2(fixed_right_arg_value) && |
+ fixed_right_arg_value > 0 && |
+ base::bits::IsPowerOfTwo32(fixed_right_arg_value) && |
FixedRightArgValueField::is_valid(WhichPowerOf2(fixed_right_arg_value)) && |
(left_kind_ == SMI || left_kind_ == INT32) && |
(result_kind_ == NONE || !fixed_right_arg_.has_value); |