| 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 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 330 | 330 |
| 331 void TryIntrinsify(); | 331 void TryIntrinsify(); |
| 332 | 332 |
| 333 void GenerateRuntimeCall(intptr_t token_pos, | 333 void GenerateRuntimeCall(intptr_t token_pos, |
| 334 intptr_t deopt_id, | 334 intptr_t deopt_id, |
| 335 const RuntimeEntry& entry, | 335 const RuntimeEntry& entry, |
| 336 intptr_t argument_count, | 336 intptr_t argument_count, |
| 337 LocationSummary* locs); | 337 LocationSummary* locs); |
| 338 | 338 |
| 339 void GenerateCall(intptr_t token_pos, | 339 void GenerateCall(intptr_t token_pos, |
| 340 const ExternalLabel* label, | 340 const StubEntry& stub_entry, |
| 341 RawPcDescriptors::Kind kind, | 341 RawPcDescriptors::Kind kind, |
| 342 LocationSummary* locs); | 342 LocationSummary* locs); |
| 343 | 343 |
| 344 void GenerateDartCall(intptr_t deopt_id, | 344 void GenerateDartCall(intptr_t deopt_id, |
| 345 intptr_t token_pos, | 345 intptr_t token_pos, |
| 346 const ExternalLabel* label, | 346 const StubEntry& stub_entry, |
| 347 RawPcDescriptors::Kind kind, | 347 RawPcDescriptors::Kind kind, |
| 348 LocationSummary* locs); | 348 LocationSummary* locs); |
| 349 | 349 |
| 350 void GenerateAssertAssignable(intptr_t token_pos, | 350 void GenerateAssertAssignable(intptr_t token_pos, |
| 351 intptr_t deopt_id, | 351 intptr_t deopt_id, |
| 352 const AbstractType& dst_type, | 352 const AbstractType& dst_type, |
| 353 const String& dst_name, | 353 const String& dst_name, |
| 354 LocationSummary* locs); | 354 LocationSummary* locs); |
| 355 | 355 |
| 356 void GenerateInstanceOf(intptr_t token_pos, | 356 void GenerateInstanceOf(intptr_t token_pos, |
| (...skipping 29 matching lines...) Expand all Loading... |
| 386 void EmitComment(Instruction* instr); | 386 void EmitComment(Instruction* instr); |
| 387 | 387 |
| 388 bool NeedsEdgeCounter(TargetEntryInstr* block); | 388 bool NeedsEdgeCounter(TargetEntryInstr* block); |
| 389 | 389 |
| 390 void EmitEdgeCounter(); | 390 void EmitEdgeCounter(); |
| 391 | 391 |
| 392 #if !defined(TARGET_ARCH_ARM64) && !defined(TARGET_ARCH_MIPS) | 392 #if !defined(TARGET_ARCH_ARM64) && !defined(TARGET_ARCH_MIPS) |
| 393 static int32_t EdgeCounterIncrementSizeInBytes(); | 393 static int32_t EdgeCounterIncrementSizeInBytes(); |
| 394 #endif // !TARGET_ARCH_ARM64 && !TARGET_ARCH_MIPS | 394 #endif // !TARGET_ARCH_ARM64 && !TARGET_ARCH_MIPS |
| 395 | 395 |
| 396 void EmitOptimizedInstanceCall(ExternalLabel* target_label, | 396 void EmitOptimizedInstanceCall(const StubEntry& stub_entry, |
| 397 const ICData& ic_data, | 397 const ICData& ic_data, |
| 398 intptr_t argument_count, | 398 intptr_t argument_count, |
| 399 intptr_t deopt_id, | 399 intptr_t deopt_id, |
| 400 intptr_t token_pos, | 400 intptr_t token_pos, |
| 401 LocationSummary* locs); | 401 LocationSummary* locs); |
| 402 | 402 |
| 403 void EmitInstanceCall(ExternalLabel* target_label, | 403 void EmitInstanceCall(const StubEntry& stub_entry, |
| 404 const ICData& ic_data, | 404 const ICData& ic_data, |
| 405 intptr_t argument_count, | 405 intptr_t argument_count, |
| 406 intptr_t deopt_id, | 406 intptr_t deopt_id, |
| 407 intptr_t token_pos, | 407 intptr_t token_pos, |
| 408 LocationSummary* locs); | 408 LocationSummary* locs); |
| 409 | 409 |
| 410 void EmitPolymorphicInstanceCall(const ICData& ic_data, | 410 void EmitPolymorphicInstanceCall(const ICData& ic_data, |
| 411 intptr_t argument_count, | 411 intptr_t argument_count, |
| 412 const Array& argument_names, | 412 const Array& argument_names, |
| 413 intptr_t deopt_id, | 413 intptr_t deopt_id, |
| (...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 719 Array& inlined_code_intervals_; | 719 Array& inlined_code_intervals_; |
| 720 const GrowableArray<const Function*>& inline_id_to_function_; | 720 const GrowableArray<const Function*>& inline_id_to_function_; |
| 721 const GrowableArray<intptr_t>& caller_inline_id_; | 721 const GrowableArray<intptr_t>& caller_inline_id_; |
| 722 | 722 |
| 723 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 723 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
| 724 }; | 724 }; |
| 725 | 725 |
| 726 } // namespace dart | 726 } // namespace dart |
| 727 | 727 |
| 728 #endif // VM_FLOW_GRAPH_COMPILER_H_ | 728 #endif // VM_FLOW_GRAPH_COMPILER_H_ |
| OLD | NEW |