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

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

Issue 23445012: Mark exception handlers if they have a stacktrace specified. Do not build a stacktrace if the handl… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 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
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 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 Label* GetJumpLabel(BlockEntryInstr* block_entry) const; 394 Label* GetJumpLabel(BlockEntryInstr* block_entry) const;
395 bool WasCompacted(BlockEntryInstr* block_entry) const; 395 bool WasCompacted(BlockEntryInstr* block_entry) const;
396 396
397 // Returns true if there is a next block after the current one in 397 // Returns true if there is a next block after the current one in
398 // the block order and if it is the given block. 398 // the block order and if it is the given block.
399 bool CanFallThroughTo(BlockEntryInstr* block_entry) const; 399 bool CanFallThroughTo(BlockEntryInstr* block_entry) const;
400 400
401 void AddExceptionHandler(intptr_t try_index, 401 void AddExceptionHandler(intptr_t try_index,
402 intptr_t outer_try_index, 402 intptr_t outer_try_index,
403 intptr_t pc_offset, 403 intptr_t pc_offset,
404 const Array& handler_types); 404 const Array& handler_types,
405 bool needs_stacktrace);
405 void AddCurrentDescriptor(PcDescriptors::Kind kind, 406 void AddCurrentDescriptor(PcDescriptors::Kind kind,
406 intptr_t deopt_id, 407 intptr_t deopt_id,
407 intptr_t token_pos); 408 intptr_t token_pos);
408 409
409 void RecordSafepoint(LocationSummary* locs); 410 void RecordSafepoint(LocationSummary* locs);
410 411
411 Label* AddDeoptStub(intptr_t deopt_id, DeoptReasonId reason); 412 Label* AddDeoptStub(intptr_t deopt_id, DeoptReasonId reason);
412 413
413 void AddDeoptIndexAtCall(intptr_t deopt_id, intptr_t token_pos); 414 void AddDeoptIndexAtCall(intptr_t deopt_id, intptr_t token_pos);
414 415
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 // that should be used when deoptimizing we store it in this variable. 602 // that should be used when deoptimizing we store it in this variable.
602 // In future AddDeoptStub should be moved out of the instruction template. 603 // In future AddDeoptStub should be moved out of the instruction template.
603 Environment* pending_deoptimization_env_; 604 Environment* pending_deoptimization_env_;
604 605
605 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); 606 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler);
606 }; 607 };
607 608
608 } // namespace dart 609 } // namespace dart
609 610
610 #endif // VM_FLOW_GRAPH_COMPILER_H_ 611 #endif // VM_FLOW_GRAPH_COMPILER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698