OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ | 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ |
6 #define VM_INTERMEDIATE_LANGUAGE_H_ | 6 #define VM_INTERMEDIATE_LANGUAGE_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/ast.h" | 9 #include "vm/ast.h" |
10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
(...skipping 6775 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6786 | 6786 |
6787 bool IsNullCheck() const; | 6787 bool IsNullCheck() const; |
6788 | 6788 |
6789 virtual bool AllowsCSE() const { return true; } | 6789 virtual bool AllowsCSE() const { return true; } |
6790 virtual EffectSet Effects() const { return EffectSet::None(); } | 6790 virtual EffectSet Effects() const { return EffectSet::None(); } |
6791 virtual EffectSet Dependencies() const; | 6791 virtual EffectSet Dependencies() const; |
6792 virtual bool AttributesEqual(Instruction* other) const; | 6792 virtual bool AttributesEqual(Instruction* other) const; |
6793 | 6793 |
6794 virtual bool MayThrow() const { return false; } | 6794 virtual bool MayThrow() const { return false; } |
6795 | 6795 |
| 6796 void set_licm_hoisted(bool value) { licm_hoisted_ = value; } |
| 6797 |
6796 private: | 6798 private: |
6797 const ICData& unary_checks_; | 6799 const ICData& unary_checks_; |
| 6800 bool licm_hoisted_; |
6798 | 6801 |
6799 DISALLOW_COPY_AND_ASSIGN(CheckClassInstr); | 6802 DISALLOW_COPY_AND_ASSIGN(CheckClassInstr); |
6800 }; | 6803 }; |
6801 | 6804 |
6802 | 6805 |
6803 class CheckSmiInstr : public TemplateInstruction<1> { | 6806 class CheckSmiInstr : public TemplateInstruction<1> { |
6804 public: | 6807 public: |
6805 CheckSmiInstr(Value* value, intptr_t original_deopt_id) { | 6808 CheckSmiInstr(Value* value, intptr_t original_deopt_id) { |
6806 ASSERT(original_deopt_id != Isolate::kNoDeoptId); | 6809 ASSERT(original_deopt_id != Isolate::kNoDeoptId); |
6807 SetInputAt(0, value); | 6810 SetInputAt(0, value); |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7093 ForwardInstructionIterator* current_iterator_; | 7096 ForwardInstructionIterator* current_iterator_; |
7094 | 7097 |
7095 private: | 7098 private: |
7096 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 7099 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
7097 }; | 7100 }; |
7098 | 7101 |
7099 | 7102 |
7100 } // namespace dart | 7103 } // namespace dart |
7101 | 7104 |
7102 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 7105 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |