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

Unified Diff: runtime/vm/intermediate_language.h

Issue 2412653002: VM Propagate receiver type from calls to unique selectors in AOT compilation. (Closed)
Patch Set: addressed comments, added test 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/flow_graph_type_propagator.cc ('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/intermediate_language.h
diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h
index 102f6b8e42283bc0fb7270ddbcd1747cfc1e3082..f42ffaec0eaea2c656d2eb33abe71988fdbc84d6 100644
--- a/runtime/vm/intermediate_language.h
+++ b/runtime/vm/intermediate_language.h
@@ -2827,7 +2827,8 @@ class InstanceCallInstr : public TemplateDefinition<0, Throws> {
token_kind_(token_kind),
arguments_(arguments),
argument_names_(argument_names),
- checked_argument_count_(checked_argument_count) {
+ checked_argument_count_(checked_argument_count),
+ has_unique_selector_(false) {
ic_data_ = GetICData(ic_data_array);
ASSERT(function_name.IsNotTemporaryScopedHandle());
ASSERT(!arguments->is_empty());
@@ -2864,6 +2865,11 @@ class InstanceCallInstr : public TemplateDefinition<0, Throws> {
const Array& argument_names() const { return argument_names_; }
intptr_t checked_argument_count() const { return checked_argument_count_; }
+ bool has_unique_selector() const { return has_unique_selector_; }
+ void set_has_unique_selector(bool b) {
+ has_unique_selector_ = b;
+ }
+
virtual bool CanDeoptimize() const { return true; }
virtual bool CanBecomeDeoptimizationTarget() const {
@@ -2888,6 +2894,7 @@ class InstanceCallInstr : public TemplateDefinition<0, Throws> {
ZoneGrowableArray<PushArgumentInstr*>* const arguments_;
const Array& argument_names_;
const intptr_t checked_argument_count_;
+ bool has_unique_selector_;
DISALLOW_COPY_AND_ASSIGN(InstanceCallInstr);
};
@@ -2910,6 +2917,7 @@ class PolymorphicInstanceCallInstr : public TemplateDefinition<0, Throws> {
InstanceCallInstr* instance_call() const { return instance_call_; }
bool with_checks() const { return with_checks_; }
+ void set_with_checks(bool b) { with_checks_ = b; }
bool complete() const { return complete_; }
virtual TokenPosition token_pos() const {
return instance_call_->token_pos();
@@ -2941,7 +2949,7 @@ class PolymorphicInstanceCallInstr : public TemplateDefinition<0, Throws> {
private:
InstanceCallInstr* instance_call_;
const ICData& ic_data_;
- const bool with_checks_;
+ bool with_checks_;
const bool complete_;
DISALLOW_COPY_AND_ASSIGN(PolymorphicInstanceCallInstr);
« no previous file with comments | « runtime/vm/flow_graph_type_propagator.cc ('k') | runtime/vm/precompiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698