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 4043 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4054 public: | 4054 public: |
4055 StringInterpolateInstr(Value* value, intptr_t token_pos) | 4055 StringInterpolateInstr(Value* value, intptr_t token_pos) |
4056 : token_pos_(token_pos), function_(Function::Handle()) { | 4056 : token_pos_(token_pos), function_(Function::Handle()) { |
4057 SetInputAt(0, value); | 4057 SetInputAt(0, value); |
4058 } | 4058 } |
4059 | 4059 |
4060 Value* value() const { return inputs_[0]; } | 4060 Value* value() const { return inputs_[0]; } |
4061 virtual intptr_t token_pos() const { return token_pos_; } | 4061 virtual intptr_t token_pos() const { return token_pos_; } |
4062 | 4062 |
4063 virtual CompileType ComputeType() const; | 4063 virtual CompileType ComputeType() const; |
4064 // Issues a static call to Dart code whihc calls toString on objects. | 4064 // Issues a static call to Dart code which calls toString on objects. |
4065 virtual EffectSet Effects() const { return EffectSet::All(); } | 4065 virtual EffectSet Effects() const { return EffectSet::All(); } |
4066 virtual bool CanDeoptimize() const { return true; } | 4066 virtual bool CanDeoptimize() const { return true; } |
4067 virtual bool MayThrow() const { return true; } | 4067 virtual bool MayThrow() const { return true; } |
4068 | 4068 |
4069 const Function& CallFunction() const; | 4069 const Function& CallFunction() const; |
4070 | 4070 |
4071 virtual Definition* Canonicalize(FlowGraph* flow_graph); | 4071 virtual Definition* Canonicalize(FlowGraph* flow_graph); |
4072 | 4072 |
4073 DECLARE_INSTRUCTION(StringInterpolate) | 4073 DECLARE_INSTRUCTION(StringInterpolate) |
4074 | 4074 |
(...skipping 3882 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7957 ForwardInstructionIterator* current_iterator_; | 7957 ForwardInstructionIterator* current_iterator_; |
7958 | 7958 |
7959 private: | 7959 private: |
7960 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 7960 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
7961 }; | 7961 }; |
7962 | 7962 |
7963 | 7963 |
7964 } // namespace dart | 7964 } // namespace dart |
7965 | 7965 |
7966 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 7966 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |