Index: src/heap/mark-compact.h |
diff --git a/src/heap/mark-compact.h b/src/heap/mark-compact.h |
index f7075d6e69afbab8bca89cfa607490283a9012ee..c5087b4ea6a0fd1ebb93f13e48d0df7632d798dd 100644 |
--- a/src/heap/mark-compact.h |
+++ b/src/heap/mark-compact.h |
@@ -5,6 +5,7 @@ |
#ifndef V8_HEAP_MARK_COMPACT_H_ |
#define V8_HEAP_MARK_COMPACT_H_ |
+#include "src/base/bits.h" |
#include "src/heap/spaces.h" |
namespace v8 { |
@@ -145,7 +146,9 @@ class MarkingDeque { |
HeapObject** obj_low = reinterpret_cast<HeapObject**>(low); |
HeapObject** obj_high = reinterpret_cast<HeapObject**>(high); |
array_ = obj_low; |
- mask_ = RoundDownToPowerOf2(static_cast<int>(obj_high - obj_low)) - 1; |
+ mask_ = base::bits::RoundDownToPowerOfTwo32( |
+ static_cast<uint32_t>(obj_high - obj_low)) - |
+ 1; |
top_ = bottom_ = 0; |
overflowed_ = false; |
} |