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_FLOW_GRAPH_COMPILER_H_ | 5 #ifndef VM_FLOW_GRAPH_COMPILER_H_ |
6 #define VM_FLOW_GRAPH_COMPILER_H_ | 6 #define VM_FLOW_GRAPH_COMPILER_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
10 #include "vm/code_descriptors.h" | 10 #include "vm/code_descriptors.h" |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 const GrowableArray<intptr_t>& caller_inline_id); | 274 const GrowableArray<intptr_t>& caller_inline_id); |
275 | 275 |
276 ~FlowGraphCompiler(); | 276 ~FlowGraphCompiler(); |
277 | 277 |
278 static bool SupportsUnboxedDoubles(); | 278 static bool SupportsUnboxedDoubles(); |
279 static bool SupportsUnboxedMints(); | 279 static bool SupportsUnboxedMints(); |
280 static bool SupportsSinCos(); | 280 static bool SupportsSinCos(); |
281 static bool SupportsUnboxedSimd128(); | 281 static bool SupportsUnboxedSimd128(); |
282 static bool SupportsHardwareDivision(); | 282 static bool SupportsHardwareDivision(); |
283 | 283 |
| 284 static bool IsUnboxedField(const Field& field); |
| 285 static bool IsPotentialUnboxedField(const Field& field); |
| 286 |
284 // Accessors. | 287 // Accessors. |
285 Assembler* assembler() const { return assembler_; } | 288 Assembler* assembler() const { return assembler_; } |
286 const ParsedFunction& parsed_function() const { return parsed_function_; } | 289 const ParsedFunction& parsed_function() const { return parsed_function_; } |
287 const GrowableArray<BlockEntryInstr*>& block_order() const { | 290 const GrowableArray<BlockEntryInstr*>& block_order() const { |
288 return block_order_; | 291 return block_order_; |
289 } | 292 } |
290 | 293 |
291 const FlowGraph& flow_graph() const { return flow_graph_; } | 294 const FlowGraph& flow_graph() const { return flow_graph_; } |
292 | 295 |
293 DescriptorList* pc_descriptors_list() const { | 296 DescriptorList* pc_descriptors_list() const { |
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
738 Array& inlined_code_intervals_; | 741 Array& inlined_code_intervals_; |
739 const GrowableArray<const Function*>& inline_id_to_function_; | 742 const GrowableArray<const Function*>& inline_id_to_function_; |
740 const GrowableArray<intptr_t>& caller_inline_id_; | 743 const GrowableArray<intptr_t>& caller_inline_id_; |
741 | 744 |
742 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 745 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
743 }; | 746 }; |
744 | 747 |
745 } // namespace dart | 748 } // namespace dart |
746 | 749 |
747 #endif // VM_FLOW_GRAPH_COMPILER_H_ | 750 #endif // VM_FLOW_GRAPH_COMPILER_H_ |
OLD | NEW |