Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: runtime/vm/flow_graph_compiler.h

Issue 572913002: Revert r40306 because of crash. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/flow_graph_compiler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 313
314 void CompileGraph(); 314 void CompileGraph();
315 315
316 void VisitBlocks(); 316 void VisitBlocks();
317 317
318 // Bail out of the flow graph compiler. Does not return to the caller. 318 // Bail out of the flow graph compiler. Does not return to the caller.
319 void Bailout(const char* reason); 319 void Bailout(const char* reason);
320 320
321 void TryIntrinsify(); 321 void TryIntrinsify();
322 322
323 void RecordCallInfo(intptr_t token_pos,
324 RawPcDescriptors::Kind kind,
325 intptr_t deopt_id,
326 LocationSummary* locs,
327 intptr_t input_count_adjustment);
328
329 void GenerateRuntimeCall(intptr_t token_pos, 323 void GenerateRuntimeCall(intptr_t token_pos,
330 intptr_t deopt_id, 324 intptr_t deopt_id,
331 const RuntimeEntry& entry, 325 const RuntimeEntry& entry,
332 intptr_t argument_count, 326 intptr_t argument_count,
333 LocationSummary* locs); 327 LocationSummary* locs);
334 328
335 void GenerateCall(intptr_t token_pos, 329 void GenerateCall(intptr_t token_pos,
336 const ExternalLabel* label, 330 const ExternalLabel* label,
337 RawPcDescriptors::Kind kind, 331 RawPcDescriptors::Kind kind,
338 LocationSummary* locs); 332 LocationSummary* locs);
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 void AddExceptionHandler(intptr_t try_index, 438 void AddExceptionHandler(intptr_t try_index,
445 intptr_t outer_try_index, 439 intptr_t outer_try_index,
446 intptr_t pc_offset, 440 intptr_t pc_offset,
447 const Array& handler_types, 441 const Array& handler_types,
448 bool needs_stacktrace); 442 bool needs_stacktrace);
449 void SetNeedsStacktrace(intptr_t try_index); 443 void SetNeedsStacktrace(intptr_t try_index);
450 void AddCurrentDescriptor(RawPcDescriptors::Kind kind, 444 void AddCurrentDescriptor(RawPcDescriptors::Kind kind,
451 intptr_t deopt_id, 445 intptr_t deopt_id,
452 intptr_t token_pos); 446 intptr_t token_pos);
453 447
448 void RecordSafepoint(LocationSummary* locs);
449
454 Label* AddDeoptStub(intptr_t deopt_id, ICData::DeoptReasonId reason); 450 Label* AddDeoptStub(intptr_t deopt_id, ICData::DeoptReasonId reason);
455 451
452 void AddDeoptIndexAtCall(intptr_t deopt_id, intptr_t token_pos);
453
456 void AddSlowPathCode(SlowPathCode* slow_path); 454 void AddSlowPathCode(SlowPathCode* slow_path);
457 455
458 void FinalizeExceptionHandlers(const Code& code); 456 void FinalizeExceptionHandlers(const Code& code);
459 void FinalizePcDescriptors(const Code& code); 457 void FinalizePcDescriptors(const Code& code);
460 void FinalizeDeoptInfo(const Code& code); 458 void FinalizeDeoptInfo(const Code& code);
461 void FinalizeStackmaps(const Code& code); 459 void FinalizeStackmaps(const Code& code);
462 void FinalizeVarDescriptors(const Code& code); 460 void FinalizeVarDescriptors(const Code& code);
463 void FinalizeStaticCallTargetsTable(const Code& code); 461 void FinalizeStaticCallTargetsTable(const Code& code);
464 462
465 const Class& double_class() const { return double_class_; } 463 const Class& double_class() const { return double_class_; }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 return *deopt_id_to_ic_data_; 499 return *deopt_id_to_ic_data_;
502 } 500 }
503 501
504 Isolate* isolate() const { return isolate_; } 502 Isolate* isolate() const { return isolate_; }
505 503
506 private: 504 private:
507 friend class CheckStackOverflowSlowPath; // For pending_deoptimization_env_. 505 friend class CheckStackOverflowSlowPath; // For pending_deoptimization_env_.
508 506
509 void EmitFrameEntry(); 507 void EmitFrameEntry();
510 508
511 void RecordSafepoint(LocationSummary* locs);
512
513 void AddStaticCallTarget(const Function& function); 509 void AddStaticCallTarget(const Function& function);
514 510
515 void AddDeoptIndexAtCall(intptr_t deopt_id,
516 intptr_t token_pos,
517 intptr_t input_count);
518
519 void GenerateDeferredCode(); 511 void GenerateDeferredCode();
520 512
521 void EmitInstructionPrologue(Instruction* instr); 513 void EmitInstructionPrologue(Instruction* instr);
522 void EmitInstructionEpilogue(Instruction* instr); 514 void EmitInstructionEpilogue(Instruction* instr);
523 515
524 // Emit code to load a Value into register 'dst'. 516 // Emit code to load a Value into register 'dst'.
525 void LoadValue(Register dst, Value* value); 517 void LoadValue(Register dst, Value* value);
526 518
527 void EmitOptimizedStaticCall(const Function& function, 519 void EmitOptimizedStaticCall(const Function& function,
528 const Array& arguments_descriptor, 520 const Array& arguments_descriptor,
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 intptr_t lazy_deopt_pc_offset_; 652 intptr_t lazy_deopt_pc_offset_;
661 653
662 ZoneGrowableArray<const ICData*>* deopt_id_to_ic_data_; 654 ZoneGrowableArray<const ICData*>* deopt_id_to_ic_data_;
663 655
664 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); 656 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler);
665 }; 657 };
666 658
667 } // namespace dart 659 } // namespace dart
668 660
669 #endif // VM_FLOW_GRAPH_COMPILER_H_ 661 #endif // VM_FLOW_GRAPH_COMPILER_H_
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/flow_graph_compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698