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

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

Issue 2655463005: Switched from GrowableArray to MallocGrowableArray to fix crash caused by no isolate/thread existin… (Closed)
Patch Set: Switched from GrowableArray to MallocGrowableArray to fix crash caused by no isolate/thread existin… Created 3 years, 10 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_binary.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) 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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 } else { 74 } else {
75 return pair->value; 75 return pair->value;
76 } 76 }
77 } 77 }
78 78
79 inline Pair* LookupPair(const Key& key) { 79 inline Pair* LookupPair(const Key& key) {
80 return DirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Lookup(key); 80 return DirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Lookup(key);
81 } 81 }
82 }; 82 };
83 83
84 template <typename K, typename V>
85 class MallocMap
86 : public MallocDirectChainedHashMap<RawPointerKeyValueTrait<K, V> > {
87 public:
88 typedef typename RawPointerKeyValueTrait<K, V>::Key Key;
89 typedef typename RawPointerKeyValueTrait<K, V>::Value Value;
90 typedef typename RawPointerKeyValueTrait<K, V>::Pair Pair;
91
92 inline void Insert(const Key& key, const Value& value) {
93 Pair pair(key, value);
94 MallocDirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Insert(pair);
95 }
96
97 inline V Lookup(const Key& key) {
98 Pair* pair =
99 MallocDirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Lookup(key);
100 if (pair == NULL) {
101 return V();
102 } else {
103 return pair->value;
104 }
105 }
106
107 inline Pair* LookupPair(const Key& key) {
108 return MallocDirectChainedHashMap<RawPointerKeyValueTrait<K, V> >::Lookup(
109 key);
110 }
111 };
112
84 class BreakableBlock; 113 class BreakableBlock;
85 class CatchBlock; 114 class CatchBlock;
86 class FlowGraphBuilder; 115 class FlowGraphBuilder;
87 class SwitchBlock; 116 class SwitchBlock;
88 class TryCatchBlock; 117 class TryCatchBlock;
89 class TryFinallyBlock; 118 class TryFinallyBlock;
90 119
91 class Fragment { 120 class Fragment {
92 public: 121 public:
93 Instruction* entry; 122 Instruction* entry;
(...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after
970 namespace kernel { 999 namespace kernel {
971 1000
972 RawObject* EvaluateMetadata(TreeNode* const kernel_node); 1001 RawObject* EvaluateMetadata(TreeNode* const kernel_node);
973 RawObject* BuildParameterDescriptor(TreeNode* const kernel_node); 1002 RawObject* BuildParameterDescriptor(TreeNode* const kernel_node);
974 1003
975 } // namespace kernel 1004 } // namespace kernel
976 } // namespace dart 1005 } // namespace dart
977 1006
978 #endif // !defined(DART_PRECOMPILED_RUNTIME) 1007 #endif // !defined(DART_PRECOMPILED_RUNTIME)
979 #endif // RUNTIME_VM_KERNEL_TO_IL_H_ 1008 #endif // RUNTIME_VM_KERNEL_TO_IL_H_
OLDNEW
« no previous file with comments | « runtime/vm/kernel_binary.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698