Index: sdk/lib/_internal/compiler/implementation/ssa/codegen.dart |
=================================================================== |
--- sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (revision 30633) |
+++ sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (working copy) |
@@ -221,6 +221,9 @@ |
// integer. Also, if we are using & with a positive constant we know |
// that the result is positive already and need no conversion. |
bool requiresUintConversion(HInstruction instruction) { |
+ if (instruction is HShiftRight) { |
+ return false; |
+ } |
if (instruction is HBitAnd) { |
HBitAnd bitAnd = instruction; |
if (isNonNegativeInt32Constant(bitAnd.left) || |
@@ -1277,6 +1280,7 @@ |
visitBitOr(HBitOr node) => visitBitInvokeBinary(node, '|'); |
visitBitXor(HBitXor node) => visitBitInvokeBinary(node, '^'); |
visitShiftLeft(HShiftLeft node) => visitBitInvokeBinary(node, '<<'); |
+ visitShiftRight(HShiftRight node) => visitBitInvokeBinary(node, '>>>'); |
visitNegate(HNegate node) => visitInvokeUnary(node, '-'); |