Index: src/x64/lithium-x64.h |
diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
index 7d9cb6ccab9b3803a3b8466cc3e3978a3d8b7ea7..b30dd9714daf2ceeae298d775361175b246bb32d 100644 |
--- a/src/x64/lithium-x64.h |
+++ b/src/x64/lithium-x64.h |
@@ -108,6 +108,7 @@ class LCodeGen; |
V(InstanceOfKnownGlobal) \ |
V(InstructionGap) \ |
V(Integer32ToDouble) \ |
+ V(Uint32ToDouble) \ |
V(InvokeFunction) \ |
V(IsConstructCallAndBranch) \ |
V(IsNilAndBranch) \ |
@@ -137,6 +138,7 @@ class LCodeGen; |
V(MulI) \ |
V(NumberTagD) \ |
V(NumberTagI) \ |
+ V(NumberTagU) \ |
V(NumberUntagD) \ |
V(ObjectLiteral) \ |
V(OsrEntry) \ |
@@ -1581,6 +1583,17 @@ class LInteger32ToDouble: public LTemplateInstruction<1, 1, 0> { |
}; |
+class LUint32ToDouble: public LTemplateInstruction<1, 1, 1> { |
+ public: |
+ explicit LUint32ToDouble(LOperand* value, LOperand* temp) { |
+ inputs_[0] = value; |
+ temps_[0] = temp; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(Uint32ToDouble, "uint32-to-double") |
+}; |
+ |
+ |
class LNumberTagI: public LTemplateInstruction<1, 1, 0> { |
public: |
explicit LNumberTagI(LOperand* value) { |
@@ -1591,6 +1604,17 @@ class LNumberTagI: public LTemplateInstruction<1, 1, 0> { |
}; |
+class LNumberTagU: public LTemplateInstruction<1, 1, 1> { |
+ public: |
+ explicit LNumberTagU(LOperand* value, LOperand* temp) { |
+ inputs_[0] = value; |
+ temps_[0] = temp; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(NumberTagU, "number-tag-u") |
+}; |
+ |
+ |
class LNumberTagD: public LTemplateInstruction<1, 1, 1> { |
public: |
explicit LNumberTagD(LOperand* value, LOperand* temp) { |