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

Unified Diff: runtime/vm/isolate_reload.h

Issue 2153143002: Rework how enums are implemented and reloaded (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/class_finalizer.cc ('k') | runtime/vm/isolate_reload.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/isolate_reload.h
diff --git a/runtime/vm/isolate_reload.h b/runtime/vm/isolate_reload.h
index 1e311c2e5669280b01cdd21255c7ca3b9428310e..3d362783600d9cbeac940c42f6205c24e9201d8a 100644
--- a/runtime/vm/isolate_reload.h
+++ b/runtime/vm/isolate_reload.h
@@ -10,6 +10,7 @@
#include "vm/log.h"
DECLARE_FLAG(bool, trace_reload);
+DECLARE_FLAG(bool, trace_reload_verbose);
// 'Trace Isolate Reload' TIR_Print
#if defined(_MSC_VER)
@@ -20,6 +21,15 @@ DECLARE_FLAG(bool, trace_reload);
if (FLAG_trace_reload) Log::Current()->Print(format, ##__VA_ARGS__)
#endif
+// 'Verbose Trace Isolate Reload' VTIR_Print
+#if defined(_MSC_VER)
+#define VTIR_Print(format, ...) \
+ if (FLAG_trace_reload_verbose) Log::Current()->Print(format, __VA_ARGS__)
+#else
+#define VTIR_Print(format, ...) \
+ if (FLAG_trace_reload_verbose) Log::Current()->Print(format, ##__VA_ARGS__)
+#endif
+
namespace dart {
class GrowableObjectArray;
@@ -145,7 +155,8 @@ class IsolateReloadContext {
void AddStaticFieldMapping(const Field& old_field, const Field& new_field);
- void AddBecomeMapping(const Object& old, const Object& nue);
+ void AddBecomeMapping(const Object& old, const Object& neu);
+ void AddEnumBecomeMapping(const Object& old, const Object& neu);
void RebuildDirectSubclasses();
@@ -160,12 +171,13 @@ class IsolateReloadContext {
RawArray* old_libraries_set_storage_;
RawArray* library_map_storage_;
RawArray* become_map_storage_;
+ RawGrowableObjectArray* become_enum_mappings_;
RawLibrary* saved_root_library_;
RawGrowableObjectArray* saved_libraries_;
RawObject** to() { return reinterpret_cast<RawObject**>(&saved_libraries_); }
friend class Isolate;
- friend class Class; // AddStaticFieldMapping.
+ friend class Class; // AddStaticFieldMapping, AddEnumBecomeMapping.
};
} // namespace dart
« no previous file with comments | « runtime/vm/class_finalizer.cc ('k') | runtime/vm/isolate_reload.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698