| 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 1864 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1875 virtual AliasIdentity Identity() const { | 1875 virtual AliasIdentity Identity() const { |
| 1876 // Only implemented for allocation instructions. | 1876 // Only implemented for allocation instructions. |
| 1877 UNREACHABLE(); | 1877 UNREACHABLE(); |
| 1878 return kIdentityUnknown; | 1878 return kIdentityUnknown; |
| 1879 } | 1879 } |
| 1880 | 1880 |
| 1881 virtual void SetIdentity(AliasIdentity identity) { | 1881 virtual void SetIdentity(AliasIdentity identity) { |
| 1882 UNREACHABLE(); | 1882 UNREACHABLE(); |
| 1883 } | 1883 } |
| 1884 | 1884 |
| 1885 Definition* OriginalDefinition(); |
| 1886 |
| 1885 protected: | 1887 protected: |
| 1886 friend class RangeAnalysis; | 1888 friend class RangeAnalysis; |
| 1887 friend class Value; | 1889 friend class Value; |
| 1888 | 1890 |
| 1889 Range* range_; | 1891 Range* range_; |
| 1890 CompileType* type_; | 1892 CompileType* type_; |
| 1891 | 1893 |
| 1892 private: | 1894 private: |
| 1893 intptr_t temp_index_; | 1895 intptr_t temp_index_; |
| 1894 intptr_t ssa_temp_index_; | 1896 intptr_t ssa_temp_index_; |
| (...skipping 1078 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2973 | 2975 |
| 2974 virtual intptr_t ArgumentCount() const { | 2976 virtual intptr_t ArgumentCount() const { |
| 2975 return instance_call()->ArgumentCount(); | 2977 return instance_call()->ArgumentCount(); |
| 2976 } | 2978 } |
| 2977 virtual PushArgumentInstr* PushArgumentAt(intptr_t index) const { | 2979 virtual PushArgumentInstr* PushArgumentAt(intptr_t index) const { |
| 2978 return instance_call()->PushArgumentAt(index); | 2980 return instance_call()->PushArgumentAt(index); |
| 2979 } | 2981 } |
| 2980 | 2982 |
| 2981 bool HasSingleRecognizedTarget() const; | 2983 bool HasSingleRecognizedTarget() const; |
| 2982 | 2984 |
| 2983 bool HasSingleDispatcherTarget() const; | 2985 bool HasOnlyDispatcherTargets() const; |
| 2984 | 2986 |
| 2985 virtual intptr_t CallCount() const { return ic_data().AggregateCount(); } | 2987 virtual intptr_t CallCount() const { return ic_data().AggregateCount(); } |
| 2986 | 2988 |
| 2987 DECLARE_INSTRUCTION(PolymorphicInstanceCall) | 2989 DECLARE_INSTRUCTION(PolymorphicInstanceCall) |
| 2988 | 2990 |
| 2989 const ICData& ic_data() const { return ic_data_; } | 2991 const ICData& ic_data() const { return ic_data_; } |
| 2990 | 2992 |
| 2991 virtual bool CanDeoptimize() const { return true; } | 2993 virtual bool CanDeoptimize() const { return true; } |
| 2992 | 2994 |
| 2993 virtual EffectSet Effects() const { return EffectSet::All(); } | 2995 virtual EffectSet Effects() const { return EffectSet::All(); } |
| (...skipping 4788 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7782 ForwardInstructionIterator* current_iterator_; | 7784 ForwardInstructionIterator* current_iterator_; |
| 7783 | 7785 |
| 7784 private: | 7786 private: |
| 7785 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 7787 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 7786 }; | 7788 }; |
| 7787 | 7789 |
| 7788 | 7790 |
| 7789 } // namespace dart | 7791 } // namespace dart |
| 7790 | 7792 |
| 7791 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 7793 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |