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 3275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3286 } | 3286 } |
3287 | 3287 |
3288 // ICData for static calls carries call count. | 3288 // ICData for static calls carries call count. |
3289 const ICData* ic_data() const { return ic_data_; } | 3289 const ICData* ic_data() const { return ic_data_; } |
3290 bool HasICData() const { | 3290 bool HasICData() const { |
3291 return (ic_data() != NULL) && !ic_data()->IsNull(); | 3291 return (ic_data() != NULL) && !ic_data()->IsNull(); |
3292 } | 3292 } |
3293 | 3293 |
3294 DECLARE_INSTRUCTION(StaticCall) | 3294 DECLARE_INSTRUCTION(StaticCall) |
3295 virtual CompileType ComputeType() const; | 3295 virtual CompileType ComputeType() const; |
| 3296 virtual Definition* Canonicalize(FlowGraph* flow_graph); |
3296 | 3297 |
3297 // Accessors forwarded to the AST node. | 3298 // Accessors forwarded to the AST node. |
3298 const Function& function() const { return function_; } | 3299 const Function& function() const { return function_; } |
3299 const Array& argument_names() const { return argument_names_; } | 3300 const Array& argument_names() const { return argument_names_; } |
3300 virtual TokenPosition token_pos() const { return token_pos_; } | 3301 virtual TokenPosition token_pos() const { return token_pos_; } |
3301 | 3302 |
3302 virtual intptr_t ArgumentCount() const { return arguments_->length(); } | 3303 virtual intptr_t ArgumentCount() const { return arguments_->length(); } |
3303 virtual PushArgumentInstr* PushArgumentAt(intptr_t index) const { | 3304 virtual PushArgumentInstr* PushArgumentAt(intptr_t index) const { |
3304 return (*arguments_)[index]; | 3305 return (*arguments_)[index]; |
3305 } | 3306 } |
(...skipping 4994 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8300 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ | 8301 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ |
8301 UNIMPLEMENTED(); \ | 8302 UNIMPLEMENTED(); \ |
8302 return NULL; \ | 8303 return NULL; \ |
8303 } \ | 8304 } \ |
8304 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } | 8305 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } |
8305 | 8306 |
8306 | 8307 |
8307 } // namespace dart | 8308 } // namespace dart |
8308 | 8309 |
8309 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 8310 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |