Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index 51706472258beb38902e4aebcc72664540a5af35..7e126ff03c4c24ee56fc561cef9a3e3c2fc60d8e 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -123,6 +123,7 @@ class LCodeGen; |
V(LoadNamedField) \ |
V(LoadNamedFieldPolymorphic) \ |
V(LoadNamedGeneric) \ |
+ V(MathPowHalf) \ |
V(ModI) \ |
V(MulI) \ |
V(NumberTagD) \ |
@@ -582,6 +583,24 @@ class LUnaryMathOperation: public LTemplateInstruction<1, 2, 0> { |
}; |
+class LMathPowHalf: public LTemplateInstruction<1, 2, 1> { |
+ public: |
+ LMathPowHalf(LOperand* context, LOperand* value, LOperand* temp) { |
+ inputs_[1] = context; |
+ inputs_[0] = value; |
+ temps_[0] = temp; |
+ } |
+ |
+ LOperand* context() { return inputs_[1]; } |
+ LOperand* value() { return inputs_[0]; } |
+ LOperand* temp() { return temps_[0]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(MathPowHalf, "math-pow-half") |
+ |
+ virtual void PrintDataTo(StringStream* stream); |
+}; |
+ |
+ |
class LCmpObjectEqAndBranch: public LControlInstruction<2, 0> { |
public: |
LCmpObjectEqAndBranch(LOperand* left, LOperand* right) { |