Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index ee41ef7496c4e896847c5377a34721505ff92148..8a31f802fb622bbbd9b861f76f242b090419fa8a 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -102,6 +102,7 @@ class LCodeGen; |
V(InstanceOfKnownGlobal) \ |
V(InstructionGap) \ |
V(Integer32ToDouble) \ |
+ V(Uint32ToDouble) \ |
V(InvokeFunction) \ |
V(IsConstructCallAndBranch) \ |
V(IsNilAndBranch) \ |
@@ -132,6 +133,7 @@ class LCodeGen; |
V(MulI) \ |
V(NumberTagD) \ |
V(NumberTagI) \ |
+ V(NumberTagU) \ |
V(NumberUntagD) \ |
V(ObjectLiteral) \ |
V(OsrEntry) \ |
@@ -1671,6 +1673,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) { |
@@ -1681,6 +1694,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: |
LNumberTagD(LOperand* value, LOperand* temp) { |