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

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

Issue 2974233002: VM: Re-format to use at most one newline between functions (Closed)
Patch Set: Rebase and merge Created 3 years, 5 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
« no previous file with comments | « runtime/vm/kernel_reader.cc ('k') | runtime/vm/kernel_to_il.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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 RUNTIME_VM_KERNEL_TO_IL_H_ 5 #ifndef RUNTIME_VM_KERNEL_TO_IL_H_
6 #define RUNTIME_VM_KERNEL_TO_IL_H_ 6 #define RUNTIME_VM_KERNEL_TO_IL_H_
7 7
8 #if !defined(DART_PRECOMPILED_RUNTIME) 8 #if !defined(DART_PRECOMPILED_RUNTIME)
9 9
10 #include "vm/growable_array.h" 10 #include "vm/growable_array.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 private: 44 private:
45 static uword HashValue(intptr_t pos) { return pos % (Smi::kMaxValue - 13); } 45 static uword HashValue(intptr_t pos) { return pos % (Smi::kMaxValue - 13); }
46 46
47 static RawSmi* KeyAsSmi(const intptr_t key) { 47 static RawSmi* KeyAsSmi(const intptr_t key) {
48 ASSERT(key >= 0); 48 ASSERT(key >= 0);
49 return Smi::New(key); 49 return Smi::New(key);
50 } 50 }
51 }; 51 };
52 typedef UnorderedHashMap<KernelConstMapKeyEqualsTraits> KernelConstantsMap; 52 typedef UnorderedHashMap<KernelConstMapKeyEqualsTraits> KernelConstantsMap;
53 53
54
55 template <typename K, typename V> 54 template <typename K, typename V>
56 class Map : public DirectChainedHashMap<RawPointerKeyValueTrait<K, V> > { 55 class Map : public DirectChainedHashMap<RawPointerKeyValueTrait<K, V> > {
57 public: 56 public:
58 typedef typename RawPointerKeyValueTrait<K, V>::Key Key; 57 typedef typename RawPointerKeyValueTrait<K, V>::Key Key;
59 typedef typename RawPointerKeyValueTrait<K, V>::Value Value; 58 typedef typename RawPointerKeyValueTrait<K, V>::Value Value;
60 typedef typename RawPointerKeyValueTrait<K, V>::Pair Pair; 59 typedef typename RawPointerKeyValueTrait<K, V>::Pair Pair;
61 60
62 inline void Insert(const Key& key, const Value& value) { 61 inline void Insert(const Key& key, const Value& value) {
63 Pair pair(key, value); 62 Pair pair(key, value);
64 DirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Insert(pair); 63 DirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Insert(pair);
65 } 64 }
66 65
67 inline V Lookup(const Key& key) { 66 inline V Lookup(const Key& key) {
68 Pair* pair = 67 Pair* pair =
69 DirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Lookup(key); 68 DirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Lookup(key);
70 if (pair == NULL) { 69 if (pair == NULL) {
71 return V(); 70 return V();
72 } else { 71 } else {
73 return pair->value; 72 return pair->value;
74 } 73 }
75 } 74 }
76 75
77 inline Pair* LookupPair(const Key& key) { 76 inline Pair* LookupPair(const Key& key) {
78 return DirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Lookup(key); 77 return DirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Lookup(key);
79 } 78 }
80 }; 79 };
81 80
82
83 template <typename V> 81 template <typename V>
84 class IntKeyRawPointerValueTrait { 82 class IntKeyRawPointerValueTrait {
85 public: 83 public:
86 typedef intptr_t Key; 84 typedef intptr_t Key;
87 typedef V Value; 85 typedef V Value;
88 86
89 struct Pair { 87 struct Pair {
90 Key key; 88 Key key;
91 Value value; 89 Value value;
92 Pair() : key(NULL), value() {} 90 Pair() : key(NULL), value() {}
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 return pair->value; 147 return pair->value;
150 } 148 }
151 } 149 }
152 150
153 inline Pair* LookupPair(const Key& key) { 151 inline Pair* LookupPair(const Key& key) {
154 return MallocDirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Lookup( 152 return MallocDirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Lookup(
155 key); 153 key);
156 } 154 }
157 }; 155 };
158 156
159
160 class BreakableBlock; 157 class BreakableBlock;
161 class CatchBlock; 158 class CatchBlock;
162 class FlowGraphBuilder; 159 class FlowGraphBuilder;
163 class SwitchBlock; 160 class SwitchBlock;
164 class TryCatchBlock; 161 class TryCatchBlock;
165 class TryFinallyBlock; 162 class TryFinallyBlock;
166 163
167 class Fragment { 164 class Fragment {
168 public: 165 public:
169 Instruction* entry; 166 Instruction* entry;
(...skipping 14 matching lines...) Expand all
184 Fragment& operator<<=(Instruction* next); 181 Fragment& operator<<=(Instruction* next);
185 182
186 Fragment closed(); 183 Fragment closed();
187 }; 184 };
188 185
189 Fragment operator+(const Fragment& first, const Fragment& second); 186 Fragment operator+(const Fragment& first, const Fragment& second);
190 Fragment operator<<(const Fragment& fragment, Instruction* next); 187 Fragment operator<<(const Fragment& fragment, Instruction* next);
191 188
192 typedef ZoneGrowableArray<PushArgumentInstr*>* ArgumentArray; 189 typedef ZoneGrowableArray<PushArgumentInstr*>* ArgumentArray;
193 190
194
195 class ActiveClass { 191 class ActiveClass {
196 public: 192 public:
197 ActiveClass() 193 ActiveClass()
198 : kernel_class(NULL), 194 : kernel_class(NULL),
199 class_type_parameters(0), 195 class_type_parameters(0),
200 class_type_parameters_offset_start(-1), 196 class_type_parameters_offset_start(-1),
201 klass(NULL), 197 klass(NULL),
202 member_is_procedure(false), 198 member_is_procedure(false),
203 member_is_factory_procedure(false), 199 member_is_factory_procedure(false),
204 member_type_parameters(0), 200 member_type_parameters(0),
205 member_type_parameters_offset_start(-1) {} 201 member_type_parameters_offset_start(-1) {}
206 202
207 // The current enclosing kernel class (if available, otherwise NULL). 203 // The current enclosing kernel class (if available, otherwise NULL).
208 Class* kernel_class; 204 Class* kernel_class;
209 intptr_t class_type_parameters; 205 intptr_t class_type_parameters;
210 intptr_t class_type_parameters_offset_start; 206 intptr_t class_type_parameters_offset_start;
211 207
212 // The current enclosing class (or the library top-level class). When this is 208 // The current enclosing class (or the library top-level class). When this is
213 // a library's top-level class, the kernel_class will be NULL. 209 // a library's top-level class, the kernel_class will be NULL.
214 const dart::Class* klass; 210 const dart::Class* klass;
215 211
216 bool member_is_procedure; 212 bool member_is_procedure;
217 bool member_is_factory_procedure; 213 bool member_is_factory_procedure;
218 intptr_t member_type_parameters; 214 intptr_t member_type_parameters;
219 intptr_t member_type_parameters_offset_start; 215 intptr_t member_type_parameters_offset_start;
220 }; 216 };
221 217
222
223 class ActiveClassScope { 218 class ActiveClassScope {
224 public: 219 public:
225 ActiveClassScope(ActiveClass* active_class, 220 ActiveClassScope(ActiveClass* active_class,
226 intptr_t class_type_parameters, 221 intptr_t class_type_parameters,
227 intptr_t class_type_parameters_offset_start, 222 intptr_t class_type_parameters_offset_start,
228 const dart::Class* klass) 223 const dart::Class* klass)
229 : active_class_(active_class), saved_(*active_class) { 224 : active_class_(active_class), saved_(*active_class) {
230 active_class_->kernel_class = NULL; 225 active_class_->kernel_class = NULL;
231 active_class_->class_type_parameters = class_type_parameters; 226 active_class_->class_type_parameters = class_type_parameters;
232 active_class_->class_type_parameters_offset_start = 227 active_class_->class_type_parameters_offset_start =
233 class_type_parameters_offset_start; 228 class_type_parameters_offset_start;
234 active_class_->klass = klass; 229 active_class_->klass = klass;
235 } 230 }
236 231
237 ~ActiveClassScope() { *active_class_ = saved_; } 232 ~ActiveClassScope() { *active_class_ = saved_; }
238 233
239 private: 234 private:
240 ActiveClass* active_class_; 235 ActiveClass* active_class_;
241 ActiveClass saved_; 236 ActiveClass saved_;
242 }; 237 };
243 238
244
245 class ActiveMemberScope { 239 class ActiveMemberScope {
246 public: 240 public:
247 ActiveMemberScope(ActiveClass* active_class, 241 ActiveMemberScope(ActiveClass* active_class,
248 bool member_is_procedure, 242 bool member_is_procedure,
249 bool member_is_factory_procedure, 243 bool member_is_factory_procedure,
250 intptr_t member_type_parameters, 244 intptr_t member_type_parameters,
251 intptr_t member_type_parameters_offset_start) 245 intptr_t member_type_parameters_offset_start)
252 : active_class_(active_class), saved_(*active_class) { 246 : active_class_(active_class), saved_(*active_class) {
253 // The class and kernel_class is inherited. 247 // The class and kernel_class is inherited.
254 active_class_->member_is_procedure = member_is_procedure; 248 active_class_->member_is_procedure = member_is_procedure;
255 active_class_->member_is_factory_procedure = member_is_factory_procedure; 249 active_class_->member_is_factory_procedure = member_is_factory_procedure;
256 active_class_->member_type_parameters = member_type_parameters; 250 active_class_->member_type_parameters = member_type_parameters;
257 active_class_->member_type_parameters_offset_start = 251 active_class_->member_type_parameters_offset_start =
258 member_type_parameters_offset_start; 252 member_type_parameters_offset_start;
259 } 253 }
260 254
261 ~ActiveMemberScope() { *active_class_ = saved_; } 255 ~ActiveMemberScope() { *active_class_ = saved_; }
262 256
263 private: 257 private:
264 ActiveClass* active_class_; 258 ActiveClass* active_class_;
265 ActiveClass saved_; 259 ActiveClass saved_;
266 }; 260 };
267 261
268
269 class TranslationHelper { 262 class TranslationHelper {
270 public: 263 public:
271 explicit TranslationHelper(dart::Thread* thread); 264 explicit TranslationHelper(dart::Thread* thread);
272 virtual ~TranslationHelper() {} 265 virtual ~TranslationHelper() {}
273 266
274 Thread* thread() { return thread_; } 267 Thread* thread() { return thread_; }
275 268
276 Zone* zone() { return zone_; } 269 Zone* zone() { return zone_; }
277 270
278 Isolate* isolate() { return isolate_; } 271 Isolate* isolate() { return isolate_; }
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 370
378 private: 371 private:
379 // This will mangle [name_to_modify] if necessary and make the result a symbol 372 // This will mangle [name_to_modify] if necessary and make the result a symbol
380 // if asked. The result will be available in [name_to_modify] and it is also 373 // if asked. The result will be available in [name_to_modify] and it is also
381 // returned. If the name is private, the canonical name [parent] will be used 374 // returned. If the name is private, the canonical name [parent] will be used
382 // to get the import URI of the library where the name is visible. 375 // to get the import URI of the library where the name is visible.
383 dart::String& ManglePrivateName(NameIndex parent, 376 dart::String& ManglePrivateName(NameIndex parent,
384 dart::String* name_to_modify, 377 dart::String* name_to_modify,
385 bool symbolize = true); 378 bool symbolize = true);
386 379
387
388 Thread* thread_; 380 Thread* thread_;
389 Zone* zone_; 381 Zone* zone_;
390 Isolate* isolate_; 382 Isolate* isolate_;
391 Heap::Space allocation_space_; 383 Heap::Space allocation_space_;
392 384
393 TypedData& string_offsets_; 385 TypedData& string_offsets_;
394 TypedData& string_data_; 386 TypedData& string_data_;
395 TypedData& canonical_names_; 387 TypedData& canonical_names_;
396 }; 388 };
397 389
398
399 struct FunctionScope { 390 struct FunctionScope {
400 intptr_t kernel_offset; 391 intptr_t kernel_offset;
401 LocalScope* scope; 392 LocalScope* scope;
402 }; 393 };
403 394
404
405 class ScopeBuildingResult : public ZoneAllocated { 395 class ScopeBuildingResult : public ZoneAllocated {
406 public: 396 public:
407 ScopeBuildingResult() 397 ScopeBuildingResult()
408 : this_variable(NULL), 398 : this_variable(NULL),
409 type_arguments_variable(NULL), 399 type_arguments_variable(NULL),
410 switch_variable(NULL), 400 switch_variable(NULL),
411 finally_return_variable(NULL), 401 finally_return_variable(NULL),
412 setter_value(NULL), 402 setter_value(NULL),
413 yield_jump_variable(NULL), 403 yield_jump_variable(NULL),
414 yield_context_variable(NULL) {} 404 yield_context_variable(NULL) {}
(...skipping 30 matching lines...) Expand all
445 // Variables used in exception handlers, one per exception handler nesting 435 // Variables used in exception handlers, one per exception handler nesting
446 // level. 436 // level.
447 GrowableArray<LocalVariable*> exception_variables; 437 GrowableArray<LocalVariable*> exception_variables;
448 GrowableArray<LocalVariable*> stack_trace_variables; 438 GrowableArray<LocalVariable*> stack_trace_variables;
449 GrowableArray<LocalVariable*> catch_context_variables; 439 GrowableArray<LocalVariable*> catch_context_variables;
450 440
451 // For-in iterators, one per for-in nesting level. 441 // For-in iterators, one per for-in nesting level.
452 GrowableArray<LocalVariable*> iterator_variables; 442 GrowableArray<LocalVariable*> iterator_variables;
453 }; 443 };
454 444
455
456 struct YieldContinuation { 445 struct YieldContinuation {
457 Instruction* entry; 446 Instruction* entry;
458 intptr_t try_index; 447 intptr_t try_index;
459 448
460 YieldContinuation(Instruction* entry, intptr_t try_index) 449 YieldContinuation(Instruction* entry, intptr_t try_index)
461 : entry(entry), try_index(try_index) {} 450 : entry(entry), try_index(try_index) {}
462 451
463 YieldContinuation() 452 YieldContinuation()
464 : entry(NULL), try_index(CatchClauseNode::kInvalidTryIndex) {} 453 : entry(NULL), try_index(CatchClauseNode::kInvalidTryIndex) {}
465 }; 454 };
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 LocalVariable* CurrentException() { 675 LocalVariable* CurrentException() {
687 return scopes_->exception_variables[catch_depth_ - 1]; 676 return scopes_->exception_variables[catch_depth_ - 1];
688 } 677 }
689 LocalVariable* CurrentStackTrace() { 678 LocalVariable* CurrentStackTrace() {
690 return scopes_->stack_trace_variables[catch_depth_ - 1]; 679 return scopes_->stack_trace_variables[catch_depth_ - 1];
691 } 680 }
692 LocalVariable* CurrentCatchContext() { 681 LocalVariable* CurrentCatchContext() {
693 return scopes_->catch_context_variables[try_depth_]; 682 return scopes_->catch_context_variables[try_depth_];
694 } 683 }
695 684
696
697 // A chained list of breakable blocks. Chaining and lookup is done by the 685 // A chained list of breakable blocks. Chaining and lookup is done by the
698 // [BreakableBlock] class. 686 // [BreakableBlock] class.
699 BreakableBlock* breakable_block_; 687 BreakableBlock* breakable_block_;
700 688
701 // A chained list of switch blocks. Chaining and lookup is done by the 689 // A chained list of switch blocks. Chaining and lookup is done by the
702 // [SwitchBlock] class. 690 // [SwitchBlock] class.
703 SwitchBlock* switch_block_; 691 SwitchBlock* switch_block_;
704 692
705 // A chained list of try-finally blocks. Chaining and lookup is done by the 693 // A chained list of try-finally blocks. Chaining and lookup is done by the
706 // [TryFinallyBlock] class. 694 // [TryFinallyBlock] class.
(...skipping 15 matching lines...) Expand all
722 friend class BreakableBlock; 710 friend class BreakableBlock;
723 friend class CatchBlock; 711 friend class CatchBlock;
724 friend class ConstantEvaluator; 712 friend class ConstantEvaluator;
725 friend class StreamingFlowGraphBuilder; 713 friend class StreamingFlowGraphBuilder;
726 friend class ScopeBuilder; 714 friend class ScopeBuilder;
727 friend class SwitchBlock; 715 friend class SwitchBlock;
728 friend class TryCatchBlock; 716 friend class TryCatchBlock;
729 friend class TryFinallyBlock; 717 friend class TryFinallyBlock;
730 }; 718 };
731 719
732
733 class SwitchBlock { 720 class SwitchBlock {
734 public: 721 public:
735 SwitchBlock(FlowGraphBuilder* builder, intptr_t case_count) 722 SwitchBlock(FlowGraphBuilder* builder, intptr_t case_count)
736 : builder_(builder), 723 : builder_(builder),
737 outer_(builder->switch_block_), 724 outer_(builder->switch_block_),
738 outer_finally_(builder->try_finally_block_), 725 outer_finally_(builder->try_finally_block_),
739 case_count_(case_count), 726 case_count_(case_count),
740 context_depth_(builder->context_depth_), 727 context_depth_(builder->context_depth_),
741 try_index_(builder->CurrentTryIndex()) { 728 try_index_(builder->CurrentTryIndex()) {
742 builder_->switch_block_ = this; 729 builder_->switch_block_ = this;
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 791
805 IntMap<JoinEntryInstr*> destinations_; 792 IntMap<JoinEntryInstr*> destinations_;
806 793
807 TryFinallyBlock* outer_finally_; 794 TryFinallyBlock* outer_finally_;
808 intptr_t case_count_; 795 intptr_t case_count_;
809 intptr_t depth_; 796 intptr_t depth_;
810 intptr_t context_depth_; 797 intptr_t context_depth_;
811 intptr_t try_index_; 798 intptr_t try_index_;
812 }; 799 };
813 800
814
815 class TryCatchBlock { 801 class TryCatchBlock {
816 public: 802 public:
817 explicit TryCatchBlock(FlowGraphBuilder* builder, 803 explicit TryCatchBlock(FlowGraphBuilder* builder,
818 intptr_t try_handler_index = -1) 804 intptr_t try_handler_index = -1)
819 : builder_(builder), 805 : builder_(builder),
820 outer_(builder->try_catch_block_), 806 outer_(builder->try_catch_block_),
821 try_index_(try_handler_index) { 807 try_index_(try_handler_index) {
822 if (try_index_ == -1) try_index_ = builder->AllocateTryIndex(); 808 if (try_index_ == -1) try_index_ = builder->AllocateTryIndex();
823 builder->try_catch_block_ = this; 809 builder->try_catch_block_ = this;
824 } 810 }
825 ~TryCatchBlock() { builder_->try_catch_block_ = outer_; } 811 ~TryCatchBlock() { builder_->try_catch_block_ = outer_; }
826 812
827 intptr_t try_index() { return try_index_; } 813 intptr_t try_index() { return try_index_; }
828 TryCatchBlock* outer() const { return outer_; } 814 TryCatchBlock* outer() const { return outer_; }
829 815
830 private: 816 private:
831 FlowGraphBuilder* builder_; 817 FlowGraphBuilder* builder_;
832 TryCatchBlock* outer_; 818 TryCatchBlock* outer_;
833 intptr_t try_index_; 819 intptr_t try_index_;
834 }; 820 };
835 821
836
837 class TryFinallyBlock { 822 class TryFinallyBlock {
838 public: 823 public:
839 TryFinallyBlock(FlowGraphBuilder* builder, 824 TryFinallyBlock(FlowGraphBuilder* builder, intptr_t finalizer_kernel_offset)
840 intptr_t finalizer_kernel_offset)
841 : builder_(builder), 825 : builder_(builder),
842 outer_(builder->try_finally_block_), 826 outer_(builder->try_finally_block_),
843 finalizer_kernel_offset_(finalizer_kernel_offset), 827 finalizer_kernel_offset_(finalizer_kernel_offset),
844 context_depth_(builder->context_depth_), 828 context_depth_(builder->context_depth_),
845 // Finalizers are executed outside of the try block hence 829 // Finalizers are executed outside of the try block hence
846 // try depth of finalizers are one less than current try 830 // try depth of finalizers are one less than current try
847 // depth. 831 // depth.
848 try_depth_(builder->try_depth_ - 1), 832 try_depth_(builder->try_depth_ - 1),
849 try_index_(builder_->CurrentTryIndex()) { 833 try_index_(builder_->CurrentTryIndex()) {
850 builder_->try_finally_block_ = this; 834 builder_->try_finally_block_ = this;
851 } 835 }
852 ~TryFinallyBlock() { builder_->try_finally_block_ = outer_; } 836 ~TryFinallyBlock() { builder_->try_finally_block_ = outer_; }
853 837
854 intptr_t finalizer_kernel_offset() const { return finalizer_kernel_offset_; } 838 intptr_t finalizer_kernel_offset() const { return finalizer_kernel_offset_; }
855 intptr_t context_depth() const { return context_depth_; } 839 intptr_t context_depth() const { return context_depth_; }
856 intptr_t try_depth() const { return try_depth_; } 840 intptr_t try_depth() const { return try_depth_; }
857 intptr_t try_index() const { return try_index_; } 841 intptr_t try_index() const { return try_index_; }
858 TryFinallyBlock* outer() const { return outer_; } 842 TryFinallyBlock* outer() const { return outer_; }
859 843
860 private: 844 private:
861 FlowGraphBuilder* const builder_; 845 FlowGraphBuilder* const builder_;
862 TryFinallyBlock* const outer_; 846 TryFinallyBlock* const outer_;
863 intptr_t finalizer_kernel_offset_; 847 intptr_t finalizer_kernel_offset_;
864 const intptr_t context_depth_; 848 const intptr_t context_depth_;
865 const intptr_t try_depth_; 849 const intptr_t try_depth_;
866 const intptr_t try_index_; 850 const intptr_t try_index_;
867 }; 851 };
868 852
869
870 class BreakableBlock { 853 class BreakableBlock {
871 public: 854 public:
872 explicit BreakableBlock(FlowGraphBuilder* builder) 855 explicit BreakableBlock(FlowGraphBuilder* builder)
873 : builder_(builder), 856 : builder_(builder),
874 outer_(builder->breakable_block_), 857 outer_(builder->breakable_block_),
875 destination_(NULL), 858 destination_(NULL),
876 outer_finally_(builder->try_finally_block_), 859 outer_finally_(builder->try_finally_block_),
877 context_depth_(builder->context_depth_), 860 context_depth_(builder->context_depth_),
878 try_index_(builder->CurrentTryIndex()) { 861 try_index_(builder->CurrentTryIndex()) {
879 if (builder_->breakable_block_ == NULL) { 862 if (builder_->breakable_block_ == NULL) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
939 intptr_t catch_try_index() { return catch_try_index_; } 922 intptr_t catch_try_index() { return catch_try_index_; }
940 923
941 private: 924 private:
942 FlowGraphBuilder* builder_; 925 FlowGraphBuilder* builder_;
943 CatchBlock* outer_; 926 CatchBlock* outer_;
944 LocalVariable* exception_var_; 927 LocalVariable* exception_var_;
945 LocalVariable* stack_trace_var_; 928 LocalVariable* stack_trace_var_;
946 intptr_t catch_try_index_; 929 intptr_t catch_try_index_;
947 }; 930 };
948 931
949
950 RawObject* EvaluateMetadata(const dart::Field& metadata_field); 932 RawObject* EvaluateMetadata(const dart::Field& metadata_field);
951 RawObject* BuildParameterDescriptor(const Function& function); 933 RawObject* BuildParameterDescriptor(const Function& function);
952 void CollectTokenPositionsFor(const Script& script); 934 void CollectTokenPositionsFor(const Script& script);
953 String& GetSourceFor(const Script& script); 935 String& GetSourceFor(const Script& script);
954 Array& GetLineStartsFor(const Script& script); 936 Array& GetLineStartsFor(const Script& script);
955 937
956
957 } // namespace kernel 938 } // namespace kernel
958 } // namespace dart 939 } // namespace dart
959 940
960 #else // !defined(DART_PRECOMPILED_RUNTIME) 941 #else // !defined(DART_PRECOMPILED_RUNTIME)
961 942
943 #include "vm/kernel.h"
962 #include "vm/object.h" 944 #include "vm/object.h"
963 #include "vm/kernel.h"
964 945
965 namespace dart { 946 namespace dart {
966 namespace kernel { 947 namespace kernel {
967 948
968 RawObject* EvaluateMetadata(const dart::Field& metadata_field); 949 RawObject* EvaluateMetadata(const dart::Field& metadata_field);
969 RawObject* BuildParameterDescriptor(const Function& function); 950 RawObject* BuildParameterDescriptor(const Function& function);
970 951
971 } // namespace kernel 952 } // namespace kernel
972 } // namespace dart 953 } // namespace dart
973 954
974 #endif // !defined(DART_PRECOMPILED_RUNTIME) 955 #endif // !defined(DART_PRECOMPILED_RUNTIME)
975 #endif // RUNTIME_VM_KERNEL_TO_IL_H_ 956 #endif // RUNTIME_VM_KERNEL_TO_IL_H_
OLDNEW
« no previous file with comments | « runtime/vm/kernel_reader.cc ('k') | runtime/vm/kernel_to_il.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698