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 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 // This makes it easier to measure time spent in the compiler. | 321 // This makes it easier to measure time spent in the compiler. |
322 void InitCompiler(); | 322 void InitCompiler(); |
323 | 323 |
324 void CompileGraph(); | 324 void CompileGraph(); |
325 | 325 |
326 void VisitBlocks(); | 326 void VisitBlocks(); |
327 | 327 |
328 // Bail out of the flow graph compiler. Does not return to the caller. | 328 // Bail out of the flow graph compiler. Does not return to the caller. |
329 void Bailout(const char* reason); | 329 void Bailout(const char* reason); |
330 | 330 |
331 void TryIntrinsify(); | 331 // Returns 'true' if regular code generation should be skipped. |
| 332 bool TryIntrinsify(); |
332 | 333 |
333 void GenerateRuntimeCall(intptr_t token_pos, | 334 void GenerateRuntimeCall(intptr_t token_pos, |
334 intptr_t deopt_id, | 335 intptr_t deopt_id, |
335 const RuntimeEntry& entry, | 336 const RuntimeEntry& entry, |
336 intptr_t argument_count, | 337 intptr_t argument_count, |
337 LocationSummary* locs); | 338 LocationSummary* locs); |
338 | 339 |
339 void GenerateCall(intptr_t token_pos, | 340 void GenerateCall(intptr_t token_pos, |
340 const StubEntry& stub_entry, | 341 const StubEntry& stub_entry, |
341 RawPcDescriptors::Kind kind, | 342 RawPcDescriptors::Kind kind, |
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
736 Array& inlined_code_intervals_; | 737 Array& inlined_code_intervals_; |
737 const GrowableArray<const Function*>& inline_id_to_function_; | 738 const GrowableArray<const Function*>& inline_id_to_function_; |
738 const GrowableArray<intptr_t>& caller_inline_id_; | 739 const GrowableArray<intptr_t>& caller_inline_id_; |
739 | 740 |
740 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 741 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
741 }; | 742 }; |
742 | 743 |
743 } // namespace dart | 744 } // namespace dart |
744 | 745 |
745 #endif // VM_FLOW_GRAPH_COMPILER_H_ | 746 #endif // VM_FLOW_GRAPH_COMPILER_H_ |
OLD | NEW |