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 7574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7585 Value* value() const { return inputs_[0]; } | 7585 Value* value() const { return inputs_[0]; } |
7586 | 7586 |
7587 const ICData& unary_checks() const { return unary_checks_; } | 7587 const ICData& unary_checks() const { return unary_checks_; } |
7588 | 7588 |
7589 const GrowableArray<intptr_t>& cids() const { return cids_; } | 7589 const GrowableArray<intptr_t>& cids() const { return cids_; } |
7590 | 7590 |
7591 virtual Instruction* Canonicalize(FlowGraph* flow_graph); | 7591 virtual Instruction* Canonicalize(FlowGraph* flow_graph); |
7592 | 7592 |
7593 virtual void PrintOperandsTo(BufferFormatter* f) const; | 7593 virtual void PrintOperandsTo(BufferFormatter* f) const; |
7594 | 7594 |
7595 bool IsNullCheck() const; | 7595 bool IsNullCheck() const { |
| 7596 return DeoptIfNull() || DeoptIfNotNull(); |
| 7597 } |
| 7598 |
| 7599 bool DeoptIfNull() const; |
| 7600 bool DeoptIfNotNull() const; |
7596 | 7601 |
7597 bool IsDenseSwitch() const; | 7602 bool IsDenseSwitch() const; |
7598 intptr_t ComputeCidMask() const; | 7603 intptr_t ComputeCidMask() const; |
7599 static bool IsDenseMask(intptr_t mask); | 7604 static bool IsDenseMask(intptr_t mask); |
7600 | 7605 |
7601 virtual bool AllowsCSE() const { return true; } | 7606 virtual bool AllowsCSE() const { return true; } |
7602 virtual EffectSet Dependencies() const; | 7607 virtual EffectSet Dependencies() const; |
7603 virtual EffectSet Effects() const { return EffectSet::None(); } | 7608 virtual EffectSet Effects() const { return EffectSet::None(); } |
7604 virtual bool AttributesEqual(Instruction* other) const; | 7609 virtual bool AttributesEqual(Instruction* other) const; |
7605 | 7610 |
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8068 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ | 8073 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ |
8069 UNIMPLEMENTED(); \ | 8074 UNIMPLEMENTED(); \ |
8070 return NULL; \ | 8075 return NULL; \ |
8071 } \ | 8076 } \ |
8072 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } | 8077 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } |
8073 | 8078 |
8074 | 8079 |
8075 } // namespace dart | 8080 } // namespace dart |
8076 | 8081 |
8077 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 8082 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |