| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |