| Index: runtime/lib/integers.cc
 | 
| diff --git a/runtime/lib/integers.cc b/runtime/lib/integers.cc
 | 
| index b1ca62c3e311877ca86ac568531c416d42b56f18..e8d655ca416b741a98b559dfacaf451788bea44b 100644
 | 
| --- a/runtime/lib/integers.cc
 | 
| +++ b/runtime/lib/integers.cc
 | 
| @@ -275,7 +275,9 @@ static RawInteger* ShiftOperationHelper(Token::Kind kind,
 | 
|          case Token::kSHL:
 | 
|            return Integer::New(mint_value << shift_count, Heap::kNew, silent);
 | 
|          case Token::kSHR:
 | 
| -          return Integer::New(mint_value >> -shift_count, Heap::kNew, silent);
 | 
| +          shift_count =
 | 
| +              (-shift_count > Mint::kBits) ? Mint::kBits : -shift_count;
 | 
| +          return Integer::New(mint_value >> shift_count, Heap::kNew, silent);
 | 
|          default:
 | 
|            UNIMPLEMENTED();
 | 
|        }
 | 
| 
 |