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

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

Issue 11092102: Avoid rediscovering blocks on each call to FlowGraph::InlineCall. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: comments Created 8 years, 1 month 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_inliner.cc ('k') | no next file » | 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_INTERMEDIATE_LANGUAGE_H_ 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_
6 #define VM_INTERMEDIATE_LANGUAGE_H_ 6 #define VM_INTERMEDIATE_LANGUAGE_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/ast.h" 9 #include "vm/ast.h"
10 #include "vm/growable_array.h" 10 #include "vm/growable_array.h"
(...skipping 984 matching lines...) Expand 10 before | Expand all | Expand 10 after
995 ASSERT(IsCatchEntry()); 995 ASSERT(IsCatchEntry());
996 return catch_try_index_; 996 return catch_try_index_;
997 } 997 }
998 void set_catch_try_index(intptr_t index) { catch_try_index_ = index; } 998 void set_catch_try_index(intptr_t index) { catch_try_index_ = index; }
999 999
1000 virtual void PrepareEntry(FlowGraphCompiler* compiler); 1000 virtual void PrepareEntry(FlowGraphCompiler* compiler);
1001 1001
1002 virtual void PrintTo(BufferFormatter* f) const; 1002 virtual void PrintTo(BufferFormatter* f) const;
1003 1003
1004 private: 1004 private:
1005 friend class FlowGraph; // Access to predecessor_ when inlining.
1005 virtual void ClearPredecessors() { predecessor_ = NULL; } 1006 virtual void ClearPredecessors() { predecessor_ = NULL; }
1006 virtual void AddPredecessor(BlockEntryInstr* predecessor) { 1007 virtual void AddPredecessor(BlockEntryInstr* predecessor) {
1007 ASSERT(predecessor_ == NULL); 1008 ASSERT(predecessor_ == NULL);
1008 predecessor_ = predecessor; 1009 predecessor_ = predecessor;
1009 } 1010 }
1010 1011
1011 BlockEntryInstr* predecessor_; 1012 BlockEntryInstr* predecessor_;
1012 intptr_t catch_try_index_; 1013 intptr_t catch_try_index_;
1013 1014
1014 DISALLOW_COPY_AND_ASSIGN(TargetEntryInstr); 1015 DISALLOW_COPY_AND_ASSIGN(TargetEntryInstr);
(...skipping 3230 matching lines...) Expand 10 before | Expand all | Expand 10 after
4245 ForwardInstructionIterator* current_iterator_; 4246 ForwardInstructionIterator* current_iterator_;
4246 4247
4247 private: 4248 private:
4248 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); 4249 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor);
4249 }; 4250 };
4250 4251
4251 4252
4252 } // namespace dart 4253 } // namespace dart
4253 4254
4254 #endif // VM_INTERMEDIATE_LANGUAGE_H_ 4255 #endif // VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_inliner.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698