| Index: runtime/vm/intermediate_language_ia32.cc
|
| ===================================================================
|
| --- runtime/vm/intermediate_language_ia32.cc (revision 32709)
|
| +++ runtime/vm/intermediate_language_ia32.cc (working copy)
|
| @@ -2186,13 +2186,11 @@
|
| // generated code size.
|
| __ LoadObject(EDI, type_arguments());
|
| __ movl(EDI, FieldAddress(EDI, TypeArguments::instantiations_offset()));
|
| - __ movl(EBX, FieldAddress(EDI, Array::length_offset()));
|
| __ leal(EDI, FieldAddress(EDI, Array::data_offset()));
|
| - __ leal(EBX, Address(EDI, EBX, TIMES_2, 0)); // EBX is smi.
|
| + // The instantiations cache is initialized with Object::zero_array() and is
|
| + // therefore guaranteed to contain kNoInstantiator. No length check needed.
|
| Label loop, found, slow_case;
|
| __ Bind(&loop);
|
| - __ cmpl(EDI, EBX);
|
| - __ j(ABOVE_EQUAL, &slow_case);
|
| __ movl(EDX, Address(EDI, 0 * kWordSize)); // Cached instantiator.
|
| __ cmpl(EDX, EAX);
|
| __ j(EQUAL, &found, Assembler::kNearJump);
|
|
|