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

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

Issue 2699853002: Sort class IDs before training AppJIT snapshots (Closed)
Patch Set: Add DeleteAllCode 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/include/dart_api.h ('k') | runtime/vm/class_finalizer.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) 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 RUNTIME_VM_CLASS_FINALIZER_H_ 5 #ifndef RUNTIME_VM_CLASS_FINALIZER_H_
6 #define RUNTIME_VM_CLASS_FINALIZER_H_ 6 #define RUNTIME_VM_CLASS_FINALIZER_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/growable_array.h" 9 #include "vm/growable_array.h"
10 #include "vm/object.h" 10 #include "vm/object.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 // string and its arguments. 62 // string and its arguments.
63 static void FinalizeMalboundedType(const Error& prev_error, 63 static void FinalizeMalboundedType(const Error& prev_error,
64 const Script& script, 64 const Script& script,
65 const AbstractType& type, 65 const AbstractType& type,
66 const char* format, 66 const char* format,
67 ...) PRINTF_ATTRIBUTE(4, 5); 67 ...) PRINTF_ATTRIBUTE(4, 5);
68 68
69 // Return false if we still have classes pending to be finalized. 69 // Return false if we still have classes pending to be finalized.
70 static bool AllClassesFinalized(); 70 static bool AllClassesFinalized();
71 71
72 // Useful for sorting classes to make dispatch faster.
73 static void SortClasses();
74 static void RemapClassIds(intptr_t* old_to_new_cid);
75 static void RehashTypes();
76 static void ClearAllCode();
77
72 // Return whether processing pending classes (ObjectStore::pending_classes_) 78 // Return whether processing pending classes (ObjectStore::pending_classes_)
73 // failed. The function returns true if the processing was successful. 79 // failed. The function returns true if the processing was successful.
74 // If processing fails, an error message is set in the sticky error field 80 // If processing fails, an error message is set in the sticky error field
75 // in the object store. 81 // in the object store.
76 static bool ProcessPendingClasses(bool from_kernel = false); 82 static bool ProcessPendingClasses(bool from_kernel = false);
77 83
78 // Finalize the types appearing in the declaration of class 'cls', i.e. its 84 // Finalize the types appearing in the declaration of class 'cls', i.e. its
79 // type parameters and their upper bounds, its super type and interfaces. 85 // type parameters and their upper bounds, its super type and interfaces.
80 // Note that the fields and functions have not been parsed yet (unless cls 86 // Note that the fields and functions have not been parsed yet (unless cls
81 // is an anonymous top level class). 87 // is an anonymous top level class).
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 ...) PRINTF_ATTRIBUTE(4, 5); 183 ...) PRINTF_ATTRIBUTE(4, 5);
178 184
179 // Verify implicit offsets recorded in the VM for direct access to fields of 185 // Verify implicit offsets recorded in the VM for direct access to fields of
180 // Dart instances (e.g: _TypedListView, _ByteDataView). 186 // Dart instances (e.g: _TypedListView, _ByteDataView).
181 static void VerifyImplicitFieldOffsets(); 187 static void VerifyImplicitFieldOffsets();
182 }; 188 };
183 189
184 } // namespace dart 190 } // namespace dart
185 191
186 #endif // RUNTIME_VM_CLASS_FINALIZER_H_ 192 #endif // RUNTIME_VM_CLASS_FINALIZER_H_
OLDNEW
« no previous file with comments | « runtime/include/dart_api.h ('k') | runtime/vm/class_finalizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698