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

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

Issue 982873004: Thread/Isolate refactoring: new(Isolate) -> new(Zone) (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 9 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) 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/bit_vector.h" 8 #include "vm/bit_vector.h"
9 #include "vm/growable_array.h" 9 #include "vm/growable_array.h"
10 #include "vm/hash_map.h" 10 #include "vm/hash_map.h"
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 void ComputeBlockEffects(); 223 void ComputeBlockEffects();
224 BlockEffects* block_effects() const { return block_effects_; } 224 BlockEffects* block_effects() const { return block_effects_; }
225 225
226 // Remove the redefinition instructions inserted to inhibit code motion. 226 // Remove the redefinition instructions inserted to inhibit code motion.
227 void RemoveRedefinitions(); 227 void RemoveRedefinitions();
228 228
229 // Copy deoptimization target from one instruction to another if we still 229 // Copy deoptimization target from one instruction to another if we still
230 // have to keep deoptimization environment at gotos for LICM purposes. 230 // have to keep deoptimization environment at gotos for LICM purposes.
231 void CopyDeoptTarget(Instruction* to, Instruction* from) { 231 void CopyDeoptTarget(Instruction* to, Instruction* from) {
232 if (is_licm_allowed()) { 232 if (is_licm_allowed()) {
233 to->InheritDeoptTarget(isolate(), from); 233 to->InheritDeoptTarget(zone(), from);
234 } 234 }
235 } 235 }
236 236
237 // Returns true if every Goto in the graph is expected to have a 237 // Returns true if every Goto in the graph is expected to have a
238 // deoptimization environment and can be used as deoptimization target 238 // deoptimization environment and can be used as deoptimization target
239 // for hoisted instructions. 239 // for hoisted instructions.
240 bool is_licm_allowed() const { return licm_allowed_; } 240 bool is_licm_allowed() const { return licm_allowed_; }
241 241
242 // Stop preserving environments on Goto instructions. LICM is not allowed 242 // Stop preserving environments on Goto instructions. LICM is not allowed
243 // after this point. 243 // after this point.
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 516
517 private: 517 private:
518 GrowableArray<Definition*> defs_; 518 GrowableArray<Definition*> defs_;
519 BitVector* contains_vector_; 519 BitVector* contains_vector_;
520 }; 520 };
521 521
522 522
523 } // namespace dart 523 } // namespace dart
524 524
525 #endif // VM_FLOW_GRAPH_H_ 525 #endif // VM_FLOW_GRAPH_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698