OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 2676 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2687 virtual bool CanDeoptimize() const { return false; } | 2687 virtual bool CanDeoptimize() const { return false; } |
2688 | 2688 |
2689 virtual bool HasSideEffect() const { return false; } | 2689 virtual bool HasSideEffect() const { return false; } |
2690 | 2690 |
2691 virtual intptr_t ResultCid() const; | 2691 virtual intptr_t ResultCid() const; |
2692 | 2692 |
2693 virtual bool AttributesEqual(Instruction* other) const; | 2693 virtual bool AttributesEqual(Instruction* other) const; |
2694 | 2694 |
2695 virtual bool AffectedBySideEffect() const { return true; } | 2695 virtual bool AffectedBySideEffect() const { return true; } |
2696 | 2696 |
| 2697 virtual void InferRange(); |
| 2698 |
2697 private: | 2699 private: |
2698 const intptr_t class_id_; | 2700 const intptr_t class_id_; |
2699 | 2701 |
2700 DISALLOW_COPY_AND_ASSIGN(StringCharCodeAtInstr); | 2702 DISALLOW_COPY_AND_ASSIGN(StringCharCodeAtInstr); |
2701 }; | 2703 }; |
2702 | 2704 |
2703 | 2705 |
2704 class StringFromCharCodeInstr : public TemplateDefinition<1> { | 2706 class StringFromCharCodeInstr : public TemplateDefinition<1> { |
2705 public: | 2707 public: |
2706 explicit StringFromCharCodeInstr(Value* char_code) { | 2708 explicit StringFromCharCodeInstr(Value* char_code) { |
(...skipping 1585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4292 ForwardInstructionIterator* current_iterator_; | 4294 ForwardInstructionIterator* current_iterator_; |
4293 | 4295 |
4294 private: | 4296 private: |
4295 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 4297 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
4296 }; | 4298 }; |
4297 | 4299 |
4298 | 4300 |
4299 } // namespace dart | 4301 } // namespace dart |
4300 | 4302 |
4301 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 4303 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |