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

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

Issue 12457034: Ensure that all goto instructions have deoptimization target. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Delete UNREACHABLE Created 7 years, 8 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/deopt_instructions.cc ('k') | runtime/vm/flow_graph.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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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_H_ 5 #ifndef VM_FLOW_GRAPH_H_
6 #define VM_FLOW_GRAPH_H_ 6 #define VM_FLOW_GRAPH_H_
7 7
8 #include "vm/growable_array.h" 8 #include "vm/growable_array.h"
9 #include "vm/intermediate_language.h" 9 #include "vm/intermediate_language.h"
10 #include "vm/parser.h" 10 #include "vm/parser.h"
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 GrowableArray<intptr_t>* parent, 161 GrowableArray<intptr_t>* parent,
162 GrowableArray<intptr_t>* label); 162 GrowableArray<intptr_t>* label);
163 163
164 void Rename(GrowableArray<PhiInstr*>* live_phis, 164 void Rename(GrowableArray<PhiInstr*>* live_phis,
165 GrowableArray<Definition*>* inlining_parameters); 165 GrowableArray<Definition*>* inlining_parameters);
166 void RenameRecursive( 166 void RenameRecursive(
167 BlockEntryInstr* block_entry, 167 BlockEntryInstr* block_entry,
168 GrowableArray<Definition*>* env, 168 GrowableArray<Definition*>* env,
169 GrowableArray<PhiInstr*>* live_phis); 169 GrowableArray<PhiInstr*>* live_phis);
170 170
171 void AttachEnvironment(Instruction* instr, GrowableArray<Definition*>* env);
172
171 void InsertPhis( 173 void InsertPhis(
172 const GrowableArray<BlockEntryInstr*>& preorder, 174 const GrowableArray<BlockEntryInstr*>& preorder,
173 const GrowableArray<BitVector*>& assigned_vars, 175 const GrowableArray<BitVector*>& assigned_vars,
174 const GrowableArray<BitVector*>& dom_frontier); 176 const GrowableArray<BitVector*>& dom_frontier);
175 177
176 void RemoveDeadPhis(GrowableArray<PhiInstr*>* live_phis); 178 void RemoveDeadPhis(GrowableArray<PhiInstr*>* live_phis);
177 179
178 void ReplacePredecessor(BlockEntryInstr* old_block, 180 void ReplacePredecessor(BlockEntryInstr* old_block,
179 BlockEntryInstr* new_block); 181 BlockEntryInstr* new_block);
180 182
(...skipping 14 matching lines...) Expand all
195 GrowableArray<BlockEntryInstr*> preorder_; 197 GrowableArray<BlockEntryInstr*> preorder_;
196 GrowableArray<BlockEntryInstr*> postorder_; 198 GrowableArray<BlockEntryInstr*> postorder_;
197 GrowableArray<BlockEntryInstr*> reverse_postorder_; 199 GrowableArray<BlockEntryInstr*> reverse_postorder_;
198 bool invalid_dominator_tree_; 200 bool invalid_dominator_tree_;
199 ConstantInstr* constant_null_; 201 ConstantInstr* constant_null_;
200 }; 202 };
201 203
202 } // namespace dart 204 } // namespace dart
203 205
204 #endif // VM_FLOW_GRAPH_H_ 206 #endif // VM_FLOW_GRAPH_H_
OLDNEW
« no previous file with comments | « runtime/vm/deopt_instructions.cc ('k') | runtime/vm/flow_graph.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698