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

Unified Diff: runtime/vm/intermediate_language.h

Issue 3001883002: [vm] Read interface_target_reference from kernel binaries (Closed)
Patch Set: Created 3 years, 4 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
Index: runtime/vm/intermediate_language.h
diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h
index ed66e9519a8cb93bce3806c4b4b96033296dce29..964c556b76677cde0df11c7c2cb2279295cb3405 100644
--- a/runtime/vm/intermediate_language.h
+++ b/runtime/vm/intermediate_language.h
@@ -2854,15 +2854,17 @@ class ClosureCallInstr : public TemplateDartCall<1> {
class InstanceCallInstr : public TemplateDartCall<0> {
public:
- InstanceCallInstr(TokenPosition token_pos,
- const String& function_name,
- Token::Kind token_kind,
- ZoneGrowableArray<PushArgumentInstr*>* arguments,
- intptr_t type_args_len,
- const Array& argument_names,
- intptr_t checked_argument_count,
- const ZoneGrowableArray<const ICData*>& ic_data_array,
- intptr_t deopt_id)
+ InstanceCallInstr(
+ TokenPosition token_pos,
+ const String& function_name,
+ Token::Kind token_kind,
+ ZoneGrowableArray<PushArgumentInstr*>* arguments,
+ intptr_t type_args_len,
+ const Array& argument_names,
+ intptr_t checked_argument_count,
+ const ZoneGrowableArray<const ICData*>& ic_data_array,
+ intptr_t deopt_id,
+ const Function& interface_target = Function::null_function())
: TemplateDartCall(deopt_id,
type_args_len,
argument_names,
@@ -2872,6 +2874,7 @@ class InstanceCallInstr : public TemplateDartCall<0> {
function_name_(function_name),
token_kind_(token_kind),
checked_argument_count_(checked_argument_count),
+ interface_target_(interface_target),
has_unique_selector_(false) {
ic_data_ = GetICData(ic_data_array);
ASSERT(function_name.IsNotTemporaryScopedHandle());
rmacnak 2017/08/18 00:52:43 ASSERT(interface_target_.IsNotTemporaryScopedHandl
alexmarkov 2017/08/18 17:15:57 Done.
@@ -2897,6 +2900,7 @@ class InstanceCallInstr : public TemplateDartCall<0> {
const String& function_name() const { return function_name_; }
Token::Kind token_kind() const { return token_kind_; }
intptr_t checked_argument_count() const { return checked_argument_count_; }
+ const Function& interface_target() const { return interface_target_; }
bool has_unique_selector() const { return has_unique_selector_; }
void set_has_unique_selector(bool b) { has_unique_selector_ = b; }
@@ -2932,6 +2936,7 @@ class InstanceCallInstr : public TemplateDartCall<0> {
const String& function_name_;
const Token::Kind token_kind_; // Binary op, unary op, kGET or kILLEGAL.
const intptr_t checked_argument_count_;
+ const Function& interface_target_;
bool has_unique_selector_;
DISALLOW_COPY_AND_ASSIGN(InstanceCallInstr);

Powered by Google App Engine
This is Rietveld 408576698