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

Unified Diff: runtime/vm/precompiler.h

Issue 2379733002: Recognize and optimize a.runtimeType == b.runtimeType pattern. (Closed)
Patch Set: fix lint Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/object_store.h ('k') | runtime/vm/precompiler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/precompiler.h
diff --git a/runtime/vm/precompiler.h b/runtime/vm/precompiler.h
index 90b5f825b049e60ad3be74954faad7ed912b3af1..fa3530b3a228e6b8ffa2fad6da7ae5a0b3fd0eb0 100644
--- a/runtime/vm/precompiler.h
+++ b/runtime/vm/precompiler.h
@@ -356,10 +356,10 @@ class Precompiler : public ValueObject {
Dart_QualifiedFunctionName embedder_entry_points[],
bool reset_fields);
- static RawError* CompileFunction(Thread* thread,
+ static RawError* CompileFunction(Precompiler* precompiler,
+ Thread* thread,
Zone* zone,
- const Function& function,
- FieldTypeMap* field_type_map = NULL);
+ const Function& function);
static RawObject* EvaluateStaticInitializer(const Field& field);
static RawObject* ExecuteOnce(SequenceNode* fragment);
@@ -367,6 +367,15 @@ class Precompiler : public ValueObject {
static RawFunction* CompileStaticInitializer(const Field& field,
bool compute_type);
+ // Returns true if get:runtimeType is not overloaded by any class.
+ bool get_runtime_type_is_unique() const {
+ return get_runtime_type_is_unique_;
+ }
+
+ FieldTypeMap* field_type_map() {
+ return &field_type_map_;
+ }
+
private:
Precompiler(Thread* thread, bool reset_fields);
@@ -466,6 +475,8 @@ class Precompiler : public ValueObject {
InstanceSet consts_to_retain_;
FieldTypeMap field_type_map_;
Error& error_;
+
+ bool get_runtime_type_is_unique_;
};
« no previous file with comments | « runtime/vm/object_store.h ('k') | runtime/vm/precompiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698