Index: runtime/vm/aot_optimizer.cc |
diff --git a/runtime/vm/aot_optimizer.cc b/runtime/vm/aot_optimizer.cc |
index e81ddfcf532a452187c70abba3fb53679607835b..e755b0c9a444e19c06ac3a0af791979b4cd783ed 100644 |
--- a/runtime/vm/aot_optimizer.cc |
+++ b/runtime/vm/aot_optimizer.cc |
@@ -2067,7 +2067,7 @@ bool AotOptimizer::TypeCheckAsClassEquality(const AbstractType& type) { |
type_class.ToCString()); |
} |
if (FLAG_use_cha_deopt) { |
- thread()->cha()->AddToLeafClasses(type_class); |
+ thread()->cha()->AddToGuardedClasses(type_class, /*subclass_count=*/0); |
Florian Schneider
2016/05/20 11:23:28
You can remove this, or add ASSERT(!FLAG_use_cha_d
Vyacheslav Egorov (Google)
2016/05/20 11:31:21
Done.
|
} |
} else { |
return false; |
@@ -2456,8 +2456,10 @@ void AotOptimizer::VisitInstanceCall(InstanceCallInstr* instr) { |
instr->function_name(), |
args_desc)); |
if (!function.IsNull()) { |
+ intptr_t subclasses = 0; |
if (!thread()->cha()->HasOverride(receiver_class, |
- instr->function_name())) { |
+ instr->function_name(), |
+ &subclasses)) { |
if (FLAG_trace_cha) { |
THR_Print(" **(CHA) Instance call needs no check, " |
"no overrides of '%s' '%s'\n", |