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

Side by Side Diff: runtime/vm/precompiler.cc

Issue 1397713007: Drop uncompiled implicit closure functions. Only seems to happen in a few co19 tests, so this is mo… (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: external Created 5 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
« no previous file with comments | « runtime/vm/object.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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 #include "vm/precompiler.h" 5 #include "vm/precompiler.h"
6 6
7 #include "vm/code_patcher.h" 7 #include "vm/code_patcher.h"
8 #include "vm/compiler.h" 8 #include "vm/compiler.h"
9 #include "vm/isolate.h" 9 #include "vm/isolate.h"
10 #include "vm/log.h" 10 #include "vm/log.h"
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 kArrayCid, 140 kArrayCid,
141 kImmutableArrayCid, 141 kImmutableArrayCid,
142 kGrowableObjectArrayCid, 142 kGrowableObjectArrayCid,
143 kLinkedHashMapCid, 143 kLinkedHashMapCid,
144 144
145 kTypedDataUint8ClampedArrayCid, 145 kTypedDataUint8ClampedArrayCid,
146 kTypedDataUint8ArrayCid, 146 kTypedDataUint8ArrayCid,
147 kTypedDataUint16ArrayCid, 147 kTypedDataUint16ArrayCid,
148 kTypedDataUint32ArrayCid, 148 kTypedDataUint32ArrayCid,
149 kTypedDataUint64ArrayCid, 149 kTypedDataUint64ArrayCid,
150
151 kTypedDataInt8ArrayCid, 150 kTypedDataInt8ArrayCid,
152 kTypedDataInt16ArrayCid, 151 kTypedDataInt16ArrayCid,
153 kTypedDataInt32ArrayCid, 152 kTypedDataInt32ArrayCid,
154 kTypedDataInt64ArrayCid, 153 kTypedDataInt64ArrayCid,
155 154
156 kExternalTypedDataUint8ArrayCid, 155 kExternalTypedDataUint8ArrayCid,
156 kExternalTypedDataUint16ArrayCid,
157 kExternalTypedDataUint32ArrayCid,
158 kExternalTypedDataUint64ArrayCid,
159 kExternalTypedDataInt8ArrayCid,
160 kExternalTypedDataInt16ArrayCid,
161 kExternalTypedDataInt32ArrayCid,
162 kExternalTypedDataInt64ArrayCid,
157 163
158 kTypedDataFloat32ArrayCid, 164 kTypedDataFloat32ArrayCid,
159 kTypedDataFloat64ArrayCid, 165 kTypedDataFloat64ArrayCid,
160 166
161 kTypedDataFloat32x4ArrayCid, 167 kTypedDataFloat32x4ArrayCid,
162 kTypedDataInt32x4ArrayCid, 168 kTypedDataInt32x4ArrayCid,
163 kTypedDataFloat64x2ArrayCid, 169 kTypedDataFloat64x2ArrayCid,
164 170
165 kInt32x4Cid, 171 kInt32x4Cid,
166 kFloat32x4Cid, 172 kFloat32x4Cid,
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 "_JavascriptIntegerOverflowError." }, 222 "_JavascriptIntegerOverflowError." },
217 { "dart:core", "_TypeError", "_TypeError._create" }, 223 { "dart:core", "_TypeError", "_TypeError._create" },
218 { "dart:isolate", "IsolateSpawnException", "IsolateSpawnException." }, 224 { "dart:isolate", "IsolateSpawnException", "IsolateSpawnException." },
219 { "dart:isolate", "_IsolateUnhandledException", 225 { "dart:isolate", "_IsolateUnhandledException",
220 "_IsolateUnhandledException." }, 226 "_IsolateUnhandledException." },
221 { "dart:isolate", "::", "_getIsolateScheduleImmediateClosure" }, 227 { "dart:isolate", "::", "_getIsolateScheduleImmediateClosure" },
222 { "dart:isolate", "::", "_setupHooks" }, 228 { "dart:isolate", "::", "_setupHooks" },
223 { "dart:isolate", "::", "_startMainIsolate" }, 229 { "dart:isolate", "::", "_startMainIsolate" },
224 { "dart:isolate", "_RawReceivePortImpl", "_handleMessage" }, 230 { "dart:isolate", "_RawReceivePortImpl", "_handleMessage" },
225 { "dart:isolate", "_RawReceivePortImpl", "_lookupHandler" }, 231 { "dart:isolate", "_RawReceivePortImpl", "_lookupHandler" },
232 { "dart:isolate", "_SendPortImpl", "send" },
226 { "dart:vmservice", "::", "_registerIsolate" }, 233 { "dart:vmservice", "::", "_registerIsolate" },
227 { "dart:vmservice", "::", "boot" }, 234 { "dart:vmservice", "::", "boot" },
228 { NULL, NULL, NULL } // Must be terminated with NULL entries. 235 { NULL, NULL, NULL } // Must be terminated with NULL entries.
229 }; 236 };
230 237
231 AddEntryPoints(vm_entry_points); 238 AddEntryPoints(vm_entry_points);
232 AddEntryPoints(embedder_entry_points); 239 AddEntryPoints(embedder_entry_points);
233 } 240 }
234 241
235 242
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 if (cls.IsDynamicClass()) { 680 if (cls.IsDynamicClass()) {
674 continue; // class 'dynamic' is in the read-only VM isolate. 681 continue; // class 'dynamic' is in the read-only VM isolate.
675 } 682 }
676 683
677 functions = cls.functions(); 684 functions = cls.functions();
678 retained_functions = GrowableObjectArray::New(); 685 retained_functions = GrowableObjectArray::New();
679 for (intptr_t j = 0; j < functions.Length(); j++) { 686 for (intptr_t j = 0; j < functions.Length(); j++) {
680 function ^= functions.At(j); 687 function ^= functions.At(j);
681 if (function.HasCode()) { 688 if (function.HasCode()) {
682 retained_functions.Add(function); 689 retained_functions.Add(function);
690 function.DropUncompiledImplicitClosureFunction();
683 } else { 691 } else {
684 dropped_function_count_++; 692 dropped_function_count_++;
685 if (FLAG_trace_precompiler) { 693 if (FLAG_trace_precompiler) {
686 THR_Print("Precompilation dropping %s\n", 694 THR_Print("Precompilation dropping %s\n",
687 function.ToLibNamePrefixedQualifiedCString()); 695 function.ToLibNamePrefixedQualifiedCString());
688 } 696 }
689 } 697 }
690 } 698 }
691 699
692 functions = Array::New(retained_functions.Length(), Heap::kOld); 700 functions = Array::New(retained_functions.Length(), Heap::kOld);
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
873 continue; // class 'dynamic' is in the read-only VM isolate. 881 continue; // class 'dynamic' is in the read-only VM isolate.
874 } 882 }
875 cls.EnsureIsFinalized(T); 883 cls.EnsureIsFinalized(T);
876 } 884 }
877 } 885 }
878 I->set_all_classes_finalized(true); 886 I->set_all_classes_finalized(true);
879 } 887 }
880 888
881 889
882 } // namespace dart 890 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/object.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698