| Index: lib/compiler/implementation/ssa/codegen.dart | 
| diff --git a/lib/compiler/implementation/ssa/codegen.dart b/lib/compiler/implementation/ssa/codegen.dart | 
| index bba4c84b24d20d54d0b9aeff979f2d74eedb3cc2..4db186fc3a19e2d12810997f879c1e1b85b3bb9f 100644 | 
| --- a/lib/compiler/implementation/ssa/codegen.dart | 
| +++ b/lib/compiler/implementation/ssa/codegen.dart | 
| @@ -1121,8 +1121,11 @@ class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor { | 
| visitBitInvokeBinary(HBinaryBitOp node, String op) { | 
| if (node.builtin){ | 
| beginExpression(unsignedShiftPrecedences.precedence); | 
| +      int oldPrecedence = this.expectedPrecedence; | 
| +      this.expectedPrecedence = JSPrecedence.SHIFT_PRECEDENCE; | 
| visitInvokeBinary(node, op); | 
| buffer.add(' >>> 0'); | 
| +      this.expectedPrecedence = oldPrecedence; | 
| endExpression(unsignedShiftPrecedences.precedence); | 
| } else { | 
| visitInvokeBinary(node, op); | 
| @@ -1145,8 +1148,11 @@ class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor { | 
| visitBitInvokeUnary(HInvokeUnary node, String op) { | 
| if (node.builtin){ | 
| beginExpression(unsignedShiftPrecedences.precedence); | 
| +      int oldPrecedence = this.expectedPrecedence; | 
| +      this.expectedPrecedence = JSPrecedence.SHIFT_PRECEDENCE; | 
| visitInvokeUnary(node, op); | 
| buffer.add(' >>> 0'); | 
| +      this.expectedPrecedence = oldPrecedence; | 
| endExpression(unsignedShiftPrecedences.precedence); | 
| } else { | 
| visitInvokeUnary(node, op); | 
|  |