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

Unified Diff: runtime/vm/jit_optimizer.cc

Issue 2796283006: Do not create method extractors during JitOptimizer::TryExpandClassesInICData. (Closed)
Patch Set: Created 3 years, 8 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/jit_optimizer.cc
diff --git a/runtime/vm/jit_optimizer.cc b/runtime/vm/jit_optimizer.cc
index f85d9c46fb3b212ad580ed0ee36a5428469b0e57..d44da83d89a2415e3e01cf19e6b5b906d7537868 100644
--- a/runtime/vm/jit_optimizer.cc
+++ b/runtime/vm/jit_optimizer.cc
@@ -141,10 +141,10 @@ bool JitOptimizer::TryCreateICData(InstanceCallInstr* call) {
Array::Handle(Z, ArgumentsDescriptor::New(call->ArgumentCount(),
call->argument_names()));
ArgumentsDescriptor args_desc(args_desc_array);
- const Function& function =
- Function::Handle(Z, Resolver::ResolveDynamicForReceiverClass(
- receiver_class, call->function_name(),
- args_desc, false /* allow add */));
+ bool allow_add = false;
+ const Function& function = Function::Handle(
+ Z, Resolver::ResolveDynamicForReceiverClass(
+ receiver_class, call->function_name(), args_desc, allow_add));
if (function.IsNull()) {
return false;
}
@@ -175,10 +175,10 @@ bool JitOptimizer::TryCreateICData(InstanceCallInstr* call) {
Array::Handle(Z, ArgumentsDescriptor::New(call->ArgumentCount(),
call->argument_names()));
ArgumentsDescriptor args_desc(args_desc_array);
- const Function& function =
- Function::Handle(Z, Resolver::ResolveDynamicForReceiverClass(
- owner_class, call->function_name(), args_desc,
- false /* allow_add */));
+ bool allow_add = false;
+ const Function& function = Function::Handle(
+ Z, Resolver::ResolveDynamicForReceiverClass(
+ owner_class, call->function_name(), args_desc, allow_add));
if (!function.IsNull()) {
const ICData& ic_data = ICData::ZoneHandle(
Z, ICData::NewFrom(*call->ic_data(), class_ids.length()));
@@ -1458,8 +1458,10 @@ bool JitOptimizer::LookupMethodFor(int class_id,
if (!cls.is_finalized()) return false;
if (Array::Handle(cls.functions()).IsNull()) return false;
- Function& target_function = Function::Handle(
- Z, Resolver::ResolveDynamicForReceiverClass(cls, name, args_desc));
+ bool allow_add = false;
+ Function& target_function =
+ Function::Handle(Z, Resolver::ResolveDynamicForReceiverClass(
Vyacheslav Egorov (Google) 2017/04/07 05:53:00 How about adding an assertion into ResolveDynamicF
rmacnak 2017/04/07 16:42:57 It fails. I created https://github.com/dart-lang/s
+ cls, name, args_desc, allow_add));
if (target_function.IsNull()) return false;
*fn_return ^= target_function.raw();
return true;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698