| 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;
 | 
|    }
 | 
| 
 |