Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index b429120487238c5aa30cbad761c255bb8e0b4646..bc2b71bf837d7833085f576057c7fdc13cdee32f 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -154,6 +154,7 @@ class LCodeGen; |
V(OuterContext) \ |
V(Parameter) \ |
V(Power) \ |
+ V(Random) \ |
V(PushArgument) \ |
V(RegExpLiteral) \ |
V(Return) \ |
@@ -1461,6 +1462,28 @@ class LPower V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
}; |
+class LRandom V8_FINAL : public LTemplateInstruction<1, 1, 3> { |
+ public: |
+ LRandom(LOperand* global_object, |
+ LOperand* scratch, |
+ LOperand* scratch2, |
+ LOperand* scratch3) { |
+ inputs_[0] = global_object; |
+ temps_[0] = scratch; |
+ temps_[1] = scratch2; |
+ temps_[2] = scratch3; |
+ } |
+ |
+ LOperand* global_object() const { return inputs_[0]; } |
+ LOperand* scratch() const { return temps_[0]; } |
+ LOperand* scratch2() const { return temps_[1]; } |
+ LOperand* scratch3() const { return temps_[2]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(Random, "random") |
+ DECLARE_HYDROGEN_ACCESSOR(Random) |
+}; |
+ |
+ |
class LArithmeticD V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
public: |
LArithmeticD(Token::Value op, LOperand* left, LOperand* right) |