| Index: runtime/vm/code_generator.cc
|
| diff --git a/runtime/vm/code_generator.cc b/runtime/vm/code_generator.cc
|
| index 51e70e8a0bee2ff314c1267803ffcaf20f8c51f3..f48684a7217dc6ff94e584ca8b708316ed13a78f 100644
|
| --- a/runtime/vm/code_generator.cc
|
| +++ b/runtime/vm/code_generator.cc
|
| @@ -1106,16 +1106,21 @@ DEFINE_RUNTIME_ENTRY(SingleTargetMiss, 1) {
|
| }
|
|
|
| if (old_target.raw() == target_function.raw()) {
|
| - intptr_t lower, upper;
|
| + intptr_t lower, upper, unchecked_lower, unchecked_upper;
|
| if (receiver.GetClassId() < cache.lower_limit()) {
|
| lower = receiver.GetClassId();
|
| + unchecked_lower = receiver.GetClassId();
|
| upper = cache.upper_limit();
|
| + unchecked_upper = cache.lower_limit() - 1;
|
| } else {
|
| lower = cache.lower_limit();
|
| + unchecked_lower = cache.upper_limit() + 1;
|
| upper = receiver.GetClassId();
|
| + unchecked_upper = receiver.GetClassId();
|
| }
|
|
|
| - if (IsSingleTarget(isolate, zone, lower, upper, target_function, name)) {
|
| + if (IsSingleTarget(isolate, zone, unchecked_lower, unchecked_upper,
|
| + target_function, name)) {
|
| cache.set_lower_limit(lower);
|
| cache.set_upper_limit(upper);
|
| // Return the ICData. The single target stub will jump to continue in the
|
|
|