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 6615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6626 } | 6626 } |
6627 | 6627 |
6628 virtual intptr_t DeoptimizationTarget() const { | 6628 virtual intptr_t DeoptimizationTarget() const { |
6629 // Direct access since this instruction cannot deoptimize, and the deopt-id | 6629 // Direct access since this instruction cannot deoptimize, and the deopt-id |
6630 // was inherited from another instruction that could deoptimize. | 6630 // was inherited from another instruction that could deoptimize. |
6631 return GetDeoptId(); | 6631 return GetDeoptId(); |
6632 } | 6632 } |
6633 | 6633 |
6634 virtual void PrintOperandsTo(BufferFormatter* f) const; | 6634 virtual void PrintOperandsTo(BufferFormatter* f) const; |
6635 | 6635 |
| 6636 RawInteger* Evaluate(const Integer& value) const; |
| 6637 |
6636 DEFINE_INSTRUCTION_TYPE_CHECK(UnaryIntegerOp) | 6638 DEFINE_INSTRUCTION_TYPE_CHECK(UnaryIntegerOp) |
6637 | 6639 |
6638 private: | 6640 private: |
6639 const Token::Kind op_kind_; | 6641 const Token::Kind op_kind_; |
6640 }; | 6642 }; |
6641 | 6643 |
6642 | 6644 |
6643 // Handles both Smi operations: BIT_OR and NEGATE. | 6645 // Handles both Smi operations: BIT_OR and NEGATE. |
6644 class UnarySmiOpInstr : public UnaryIntegerOpInstr { | 6646 class UnarySmiOpInstr : public UnaryIntegerOpInstr { |
6645 public: | 6647 public: |
(...skipping 1420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8066 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ | 8068 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ |
8067 UNIMPLEMENTED(); \ | 8069 UNIMPLEMENTED(); \ |
8068 return NULL; \ | 8070 return NULL; \ |
8069 } \ | 8071 } \ |
8070 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } | 8072 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } |
8071 | 8073 |
8072 | 8074 |
8073 } // namespace dart | 8075 } // namespace dart |
8074 | 8076 |
8075 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 8077 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |