Index: src/hydrogen-instructions.cc |
diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc |
index 2d4b82bf16ba1efe84bbc0915111921069ad9384..fceed3c5078494751ab7392c940c1004086c7fb3 100644 |
--- a/src/hydrogen-instructions.cc |
+++ b/src/hydrogen-instructions.cc |
@@ -2744,11 +2744,9 @@ bool HStoreKeyed::NeedsCanonicalization() { |
#define H_CONSTANT_INT32(val) \ |
-new(zone) HConstant(FACTORY->NewNumberFromInt(val, TENURED), \ |
- Representation::Integer32()) |
+new(zone) HConstant(val, Representation::Integer32()) |
#define H_CONSTANT_DOUBLE(val) \ |
-new(zone) HConstant(FACTORY->NewNumber(val, TENURED), \ |
- Representation::Double()) |
+new(zone) HConstant(val, Representation::Double()) |
#define DEFINE_NEW_H_SIMPLE_ARITHMETIC_INSTR(HInstr, op) \ |
HInstruction* HInstr::New##HInstr(Zone* zone, \ |
@@ -2893,7 +2891,8 @@ HInstruction* HShr::NewHShr(Zone* zone, |
return H_CONSTANT_DOUBLE( |
static_cast<double>(static_cast<uint32_t>(left_val))); |
} |
- return H_CONSTANT_INT32(static_cast<uint32_t>(left_val) >> right_val); |
+ return H_CONSTANT_INT32(static_cast<int32_t>( |
+ static_cast<uint32_t>(left_val) >> right_val)); |
} |
} |
return new(zone) HShr(context, left, right); |