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

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

Issue 539153002: Port and integrate the irregexp engine from V8 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Port remaining V8 regexp tests and fix exposed bugs. Created 6 years, 2 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/growable_array.h" 8 #include "vm/growable_array.h"
9 #include "vm/hash_map.h" 9 #include "vm/hash_map.h"
10 #include "vm/intermediate_language.h" 10 #include "vm/intermediate_language.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 } 102 }
103 intptr_t num_stack_locals() const { 103 intptr_t num_stack_locals() const {
104 return num_stack_locals_; 104 return num_stack_locals_;
105 } 105 }
106 intptr_t num_copied_params() const { 106 intptr_t num_copied_params() const {
107 return num_copied_params_; 107 return num_copied_params_;
108 } 108 }
109 intptr_t num_non_copied_params() const { 109 intptr_t num_non_copied_params() const {
110 return num_non_copied_params_; 110 return num_non_copied_params_;
111 } 111 }
112 bool IsIrregexpFunction() const {
113 return parsed_function().function().IsIrregexpFunction();
114 }
112 115
113 // Flow graph orders. 116 // Flow graph orders.
114 const GrowableArray<BlockEntryInstr*>& preorder() const { 117 const GrowableArray<BlockEntryInstr*>& preorder() const {
115 return preorder_; 118 return preorder_;
116 } 119 }
117 const GrowableArray<BlockEntryInstr*>& postorder() const { 120 const GrowableArray<BlockEntryInstr*>& postorder() const {
118 return postorder_; 121 return postorder_;
119 } 122 }
120 const GrowableArray<BlockEntryInstr*>& reverse_postorder() const { 123 const GrowableArray<BlockEntryInstr*>& reverse_postorder() const {
121 return reverse_postorder_; 124 return reverse_postorder_;
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 // Per block sets of available blocks. Block A is available at the block B if 442 // Per block sets of available blocks. Block A is available at the block B if
440 // and only if A dominates B and all paths from A to B are free of side 443 // and only if A dominates B and all paths from A to B are free of side
441 // effects. 444 // effects.
442 GrowableArray<BitVector*> available_at_; 445 GrowableArray<BitVector*> available_at_;
443 }; 446 };
444 447
445 448
446 } // namespace dart 449 } // namespace dart
447 450
448 #endif // VM_FLOW_GRAPH_H_ 451 #endif // VM_FLOW_GRAPH_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698