| Index: runtime/vm/stub_code_arm.cc
|
| diff --git a/runtime/vm/stub_code_arm.cc b/runtime/vm/stub_code_arm.cc
|
| index 711c901cab2cabdec6a811757784ee17d6604316..4cf291b5a3b12fd02ce238f6b361e9519f4b34c8 100644
|
| --- a/runtime/vm/stub_code_arm.cc
|
| +++ b/runtime/vm/stub_code_arm.cc
|
| @@ -1804,8 +1804,12 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) {
|
| // R3: instance class id.
|
| // R4: instance type arguments.
|
| __ SmiTag(R3);
|
| + __ CompareImmediate(R3, Smi::RawValue(kClosureCid));
|
| + __ ldr(R3, FieldAddress(R0, Closure::function_offset()), EQ);
|
| + // R3: instance class id as Smi or function.
|
| __ Bind(&loop);
|
| - __ ldr(R9, Address(R2, kWordSize * SubtypeTestCache::kInstanceClassId));
|
| + __ ldr(R9,
|
| + Address(R2, kWordSize * SubtypeTestCache::kInstanceClassIdOrFunction));
|
| __ CompareObject(R9, Object::null_object());
|
| __ b(¬_found, EQ);
|
| __ cmp(R9, Operand(R3));
|
|
|