| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 1009 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1020 | 1020 |
| 1021 private: | 1021 private: |
| 1022 const intptr_t token_index_; | 1022 const intptr_t token_index_; |
| 1023 const intptr_t try_index_; | 1023 const intptr_t try_index_; |
| 1024 const AbstractTypeArguments& type_arguments_; | 1024 const AbstractTypeArguments& type_arguments_; |
| 1025 | 1025 |
| 1026 DISALLOW_COPY_AND_ASSIGN(ExtractConstructorTypeArgumentsComp); | 1026 DISALLOW_COPY_AND_ASSIGN(ExtractConstructorTypeArgumentsComp); |
| 1027 }; | 1027 }; |
| 1028 | 1028 |
| 1029 | 1029 |
| 1030 class ExtractConstructorInstantiatorComp : public TemplateComputation<2> { | 1030 class ExtractConstructorInstantiatorComp : public TemplateComputation<1> { |
| 1031 public: | 1031 public: |
| 1032 ExtractConstructorInstantiatorComp(ConstructorCallNode* ast_node, | 1032 ExtractConstructorInstantiatorComp(ConstructorCallNode* ast_node, |
| 1033 Value* instantiator, | 1033 Value* instantiator) |
| 1034 Value* discard_value) | |
| 1035 : ast_node_(*ast_node) { | 1034 : ast_node_(*ast_node) { |
| 1036 ASSERT(instantiator != NULL); | 1035 ASSERT(instantiator != NULL); |
| 1037 inputs_[0] = instantiator; | 1036 inputs_[0] = instantiator; |
| 1038 inputs_[1] = discard_value; | |
| 1039 } | 1037 } |
| 1040 | 1038 |
| 1041 DECLARE_COMPUTATION(ExtractConstructorInstantiator) | 1039 DECLARE_COMPUTATION(ExtractConstructorInstantiator) |
| 1042 | 1040 |
| 1043 Value* instantiator() { return inputs_[0]; } | 1041 Value* instantiator() { return inputs_[0]; } |
| 1044 Value* discard_value() { return inputs_[1]; } | |
| 1045 const AbstractTypeArguments& type_arguments() const { | 1042 const AbstractTypeArguments& type_arguments() const { |
| 1046 return ast_node_.type_arguments(); | 1043 return ast_node_.type_arguments(); |
| 1047 } | 1044 } |
| 1048 const Function& constructor() const { return ast_node_.constructor(); } | 1045 const Function& constructor() const { return ast_node_.constructor(); } |
| 1049 intptr_t token_index() const { return ast_node_.token_index(); } | 1046 intptr_t token_index() const { return ast_node_.token_index(); } |
| 1050 | 1047 |
| 1051 private: | 1048 private: |
| 1052 const ConstructorCallNode& ast_node_; | 1049 const ConstructorCallNode& ast_node_; |
| 1053 | 1050 |
| 1054 DISALLOW_COPY_AND_ASSIGN(ExtractConstructorInstantiatorComp); | 1051 DISALLOW_COPY_AND_ASSIGN(ExtractConstructorInstantiatorComp); |
| (...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1671 const GrowableArray<BlockEntryInstr*>& block_order_; | 1668 const GrowableArray<BlockEntryInstr*>& block_order_; |
| 1672 | 1669 |
| 1673 private: | 1670 private: |
| 1674 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 1671 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 1675 }; | 1672 }; |
| 1676 | 1673 |
| 1677 | 1674 |
| 1678 } // namespace dart | 1675 } // namespace dart |
| 1679 | 1676 |
| 1680 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 1677 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |