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 7774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7785 bool IsDenseSwitch() const; | 7785 bool IsDenseSwitch() const; |
7786 static bool IsDenseCidRange(const ICData& unary_checks); | 7786 static bool IsDenseCidRange(const ICData& unary_checks); |
7787 intptr_t ComputeCidMask() const; | 7787 intptr_t ComputeCidMask() const; |
7788 static bool IsDenseMask(intptr_t mask); | 7788 static bool IsDenseMask(intptr_t mask); |
7789 | 7789 |
7790 virtual bool AllowsCSE() const { return true; } | 7790 virtual bool AllowsCSE() const { return true; } |
7791 virtual EffectSet Dependencies() const; | 7791 virtual EffectSet Dependencies() const; |
7792 virtual EffectSet Effects() const { return EffectSet::None(); } | 7792 virtual EffectSet Effects() const { return EffectSet::None(); } |
7793 virtual bool AttributesEqual(Instruction* other) const; | 7793 virtual bool AttributesEqual(Instruction* other) const; |
7794 | 7794 |
| 7795 bool licm_hoisted() const { return licm_hoisted_; } |
7795 void set_licm_hoisted(bool value) { licm_hoisted_ = value; } | 7796 void set_licm_hoisted(bool value) { licm_hoisted_ = value; } |
7796 | 7797 |
7797 PRINT_OPERANDS_TO_SUPPORT | 7798 PRINT_OPERANDS_TO_SUPPORT |
7798 | 7799 |
7799 private: | 7800 private: |
7800 const ICData& unary_checks_; | 7801 const ICData& unary_checks_; |
7801 GrowableArray<intptr_t> cids_; // Sorted, lowest first. | 7802 GrowableArray<intptr_t> cids_; // Sorted, lowest first. |
7802 bool licm_hoisted_; | 7803 bool licm_hoisted_; |
7803 bool is_dense_switch_; | 7804 bool is_dense_switch_; |
7804 const TokenPosition token_pos_; | 7805 const TokenPosition token_pos_; |
(...skipping 15 matching lines...) Expand all Loading... |
7820 virtual TokenPosition token_pos() const { return token_pos_; } | 7821 virtual TokenPosition token_pos() const { return token_pos_; } |
7821 | 7822 |
7822 DECLARE_INSTRUCTION(CheckSmi) | 7823 DECLARE_INSTRUCTION(CheckSmi) |
7823 | 7824 |
7824 virtual bool CanDeoptimize() const { return true; } | 7825 virtual bool CanDeoptimize() const { return true; } |
7825 | 7826 |
7826 virtual Instruction* Canonicalize(FlowGraph* flow_graph); | 7827 virtual Instruction* Canonicalize(FlowGraph* flow_graph); |
7827 | 7828 |
7828 virtual bool AttributesEqual(Instruction* other) const { return true; } | 7829 virtual bool AttributesEqual(Instruction* other) const { return true; } |
7829 | 7830 |
| 7831 bool licm_hoisted() const { return licm_hoisted_; } |
7830 void set_licm_hoisted(bool value) { licm_hoisted_ = value; } | 7832 void set_licm_hoisted(bool value) { licm_hoisted_ = value; } |
7831 | 7833 |
7832 private: | 7834 private: |
7833 const TokenPosition token_pos_; | 7835 const TokenPosition token_pos_; |
7834 bool licm_hoisted_; | 7836 bool licm_hoisted_; |
7835 | 7837 |
7836 DISALLOW_COPY_AND_ASSIGN(CheckSmiInstr); | 7838 DISALLOW_COPY_AND_ASSIGN(CheckSmiInstr); |
7837 }; | 7839 }; |
7838 | 7840 |
7839 | 7841 |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8259 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ | 8261 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ |
8260 UNIMPLEMENTED(); \ | 8262 UNIMPLEMENTED(); \ |
8261 return NULL; \ | 8263 return NULL; \ |
8262 } \ | 8264 } \ |
8263 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } | 8265 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } |
8264 | 8266 |
8265 | 8267 |
8266 } // namespace dart | 8268 } // namespace dart |
8267 | 8269 |
8268 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 8270 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |