Chromium Code Reviews| Index: src/hydrogen-instructions.h |
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
| index a6d891586cb51942f59f3cb91194610a7ae6efaf..ec1e1292dbe6b5d68f3850daa622ad906623fcca 100644 |
| --- a/src/hydrogen-instructions.h |
| +++ b/src/hydrogen-instructions.h |
| @@ -4988,19 +4988,18 @@ class HCallStub V8_FINAL : public HUnaryCall { |
| class HUnknownOSRValue V8_FINAL : public HTemplateInstruction<0> { |
| public: |
| - DECLARE_INSTRUCTION_FACTORY_P0(HUnknownOSRValue) |
| + DECLARE_INSTRUCTION_FACTORY_P2(HUnknownOSRValue, HEnvironment*, int); |
| + |
| + virtual void PrintDataTo(StringStream* stream); |
| virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { |
| return Representation::None(); |
| } |
| - void set_incoming_value(HPhi* value) { |
| - incoming_value_ = value; |
| - } |
| - |
| - HPhi* incoming_value() { |
| - return incoming_value_; |
| - } |
| + void set_incoming_value(HPhi* value) { incoming_value_ = value; } |
| + HPhi* incoming_value() { return incoming_value_; } |
| + HEnvironment *environment() { return environment_; } |
|
Michael Starzinger
2013/09/09 15:34:44
I still don't like the fact that we preserve the f
|
| + int index() { return index_; } |
| virtual Representation KnownOptimalRepresentation() V8_OVERRIDE { |
| if (incoming_value_ == NULL) return Representation::None(); |
| @@ -5010,11 +5009,15 @@ class HUnknownOSRValue V8_FINAL : public HTemplateInstruction<0> { |
| DECLARE_CONCRETE_INSTRUCTION(UnknownOSRValue) |
| private: |
| - HUnknownOSRValue() |
| - : incoming_value_(NULL) { |
| + HUnknownOSRValue(HEnvironment* environment, int index) |
| + : environment_(environment), |
| + index_(index), |
| + incoming_value_(NULL) { |
| set_representation(Representation::Tagged()); |
| } |
| + HEnvironment* environment_; |
| + int index_; |
| HPhi* incoming_value_; |
| }; |