Chromium Code Reviews| Index: runtime/vm/intermediate_language.h |
| =================================================================== |
| --- runtime/vm/intermediate_language.h (revision 11114) |
| +++ runtime/vm/intermediate_language.h (working copy) |
| @@ -1003,11 +1003,11 @@ |
| class LoadInstanceFieldComp : public TemplateComputation<1> { |
| public: |
| + // Set 'original' to NULL if this it cannot deoptimize. |
|
regis
2012/08/21 23:58:34
if what?
srdjan
2012/08/22 00:02:48
Fixed
|
| LoadInstanceFieldComp(const Field& field, |
| Value* instance, |
| - InstanceCallComp* original, // Maybe NULL. |
| - bool can_deoptimize) |
| - : field_(field), original_(original), can_deoptimize_(can_deoptimize) { |
| + InstanceCallComp* original) |
| + : field_(field), original_(original) { |
| ASSERT(instance != NULL); |
| inputs_[0] = instance; |
| } |
| @@ -1020,12 +1020,11 @@ |
| virtual void PrintOperandsTo(BufferFormatter* f) const; |
| - virtual bool CanDeoptimize() const { return can_deoptimize_; } |
| + virtual bool CanDeoptimize() const { return original_ != NULL; } |
| private: |
| const Field& field_; |
| const InstanceCallComp* original_; // For optimizations. |
| - const bool can_deoptimize_; |
| DISALLOW_COPY_AND_ASSIGN(LoadInstanceFieldComp); |
| }; |
| @@ -1033,6 +1032,7 @@ |
| class StoreInstanceFieldComp : public TemplateComputation<2> { |
| public: |
| + // Set StoreInstanceFieldComp to NULL if it cannot deoptimize. |
| StoreInstanceFieldComp(const Field& field, |
| Value* instance, |
| Value* value, |
| @@ -1055,7 +1055,7 @@ |
| virtual void PrintOperandsTo(BufferFormatter* f) const; |
| - virtual bool CanDeoptimize() const { return true; } |
| + virtual bool CanDeoptimize() const { return original_ != NULL; } |
| private: |
| const Field& field_; |