| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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_OPT_CODE_GENERATOR_IA32_H_ | 5 #ifndef VM_OPT_CODE_GENERATOR_IA32_H_ |
| 6 #define VM_OPT_CODE_GENERATOR_IA32_H_ | 6 #define VM_OPT_CODE_GENERATOR_IA32_H_ |
| 7 | 7 |
| 8 #ifndef VM_OPT_CODE_GENERATOR_H_ | 8 #ifndef VM_OPT_CODE_GENERATOR_H_ |
| 9 #error Do not include opt_code_generator_ia32.h; use opt_code_generator.h. | 9 #error Do not include opt_code_generator_ia32.h; use opt_code_generator.h. |
| 10 #endif | 10 #endif |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 Function& target, | 96 Function& target, |
| 97 intptr_t arg_count, | 97 intptr_t arg_count, |
| 98 const Array& optional_argument_names); | 98 const Array& optional_argument_names); |
| 99 void GenerateCheckedInstanceCalls(AstNode* node, | 99 void GenerateCheckedInstanceCalls(AstNode* node, |
| 100 AstNode* receiver, | 100 AstNode* receiver, |
| 101 intptr_t node_id, | 101 intptr_t node_id, |
| 102 intptr_t token_index, | 102 intptr_t token_index, |
| 103 intptr_t num_args, | 103 intptr_t num_args, |
| 104 const Array& optional_argument_names); | 104 const Array& optional_argument_names); |
| 105 bool GenerateSmiComparison(ComparisonNode* node); | 105 bool GenerateSmiComparison(ComparisonNode* node); |
| 106 void GenerateSmiEquality(ComparisonNode* node); |
| 106 bool GenerateDoubleComparison(ComparisonNode* node); | 107 bool GenerateDoubleComparison(ComparisonNode* node); |
| 107 bool GenerateEqualityComparison(ComparisonNode* node); | 108 bool GenerateEqualityComparison(ComparisonNode* node); |
| 108 void GenerateLogicalBinaryOp(BinaryOpNode* node); | 109 void GenerateLogicalBinaryOp(BinaryOpNode* node); |
| 109 void GenerateConditionalJumps(const CodeGenInfo& nInfo, Condition condition); | 110 void GenerateConditionalJumps(const CodeGenInfo& nInfo, Condition condition); |
| 110 bool TryInlineInstanceCall(InstanceCallNode* node); | 111 bool TryInlineInstanceCall(InstanceCallNode* node); |
| 111 bool TryInlineStaticCall(StaticCallNode* node); | 112 bool TryInlineStaticCall(StaticCallNode* node); |
| 112 | 113 |
| 113 bool IsResultInEaxRequested(AstNode* node) const; | 114 bool IsResultInEaxRequested(AstNode* node) const; |
| 114 bool NodeMayBeSmi(AstNode* node) const; | 115 bool NodeMayBeSmi(AstNode* node) const; |
| 115 | 116 |
| 116 void PrintCollectedClasses(AstNode* node); | 117 void PrintCollectedClasses(AstNode* node); |
| 117 void TraceOpt(AstNode* node, const char* message); | 118 void TraceOpt(AstNode* node, const char* message); |
| 118 void TraceNotOpt(AstNode* node, const char* message); | 119 void TraceNotOpt(AstNode* node, const char* message); |
| 119 | 120 |
| 120 GrowableArray<DeoptimizationBlob*> deoptimization_blobs_; | 121 GrowableArray<DeoptimizationBlob*> deoptimization_blobs_; |
| 121 const Class& smi_class_; | 122 const Class& smi_class_; |
| 122 const Class& double_class_; | 123 const Class& double_class_; |
| 123 | 124 |
| 124 DISALLOW_IMPLICIT_CONSTRUCTORS(OptimizingCodeGenerator); | 125 DISALLOW_IMPLICIT_CONSTRUCTORS(OptimizingCodeGenerator); |
| 125 }; | 126 }; |
| 126 | 127 |
| 127 } // namespace dart | 128 } // namespace dart |
| 128 | 129 |
| 129 | 130 |
| 130 #endif // VM_OPT_CODE_GENERATOR_IA32_H_ | 131 #endif // VM_OPT_CODE_GENERATOR_IA32_H_ |
| OLD | NEW |