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 6824 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6835 virtual void PrintOperandsTo(BufferFormatter* f) const; | 6835 virtual void PrintOperandsTo(BufferFormatter* f) const; |
6836 | 6836 |
6837 DEFINE_INSTRUCTION_TYPE_CHECK(BinaryIntegerOp) | 6837 DEFINE_INSTRUCTION_TYPE_CHECK(BinaryIntegerOp) |
6838 | 6838 |
6839 protected: | 6839 protected: |
6840 void InferRangeHelper(const Range* left_range, | 6840 void InferRangeHelper(const Range* left_range, |
6841 const Range* right_range, | 6841 const Range* right_range, |
6842 Range* range); | 6842 Range* range); |
6843 | 6843 |
6844 private: | 6844 private: |
| 6845 Definition* CreateConstantResult(FlowGraph* graph, const Integer& result); |
| 6846 |
6845 const Token::Kind op_kind_; | 6847 const Token::Kind op_kind_; |
6846 | 6848 |
6847 bool can_overflow_; | 6849 bool can_overflow_; |
6848 bool is_truncating_; | 6850 bool is_truncating_; |
6849 }; | 6851 }; |
6850 | 6852 |
6851 | 6853 |
6852 class BinarySmiOpInstr : public BinaryIntegerOpInstr { | 6854 class BinarySmiOpInstr : public BinaryIntegerOpInstr { |
6853 public: | 6855 public: |
6854 BinarySmiOpInstr(Token::Kind op_kind, | 6856 BinarySmiOpInstr(Token::Kind op_kind, |
(...skipping 1261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8116 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ | 8118 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ |
8117 UNIMPLEMENTED(); \ | 8119 UNIMPLEMENTED(); \ |
8118 return NULL; \ | 8120 return NULL; \ |
8119 } \ | 8121 } \ |
8120 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } | 8122 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } |
8121 | 8123 |
8122 | 8124 |
8123 } // namespace dart | 8125 } // namespace dart |
8124 | 8126 |
8125 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 8127 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |