| Index: runtime/vm/intrinsifier_ia32.cc
|
| ===================================================================
|
| --- runtime/vm/intrinsifier_ia32.cc (revision 5913)
|
| +++ runtime/vm/intrinsifier_ia32.cc (working copy)
|
| @@ -246,11 +246,11 @@
|
| __ movl(EBX, Address(ESP, + 3 * kWordSize)); // Array.
|
| __ movl(EBX, FieldAddress(EBX, type_args_field_offset));
|
| // EBX: Type arguments of array.
|
| - __ movl(EAX, FieldAddress(EBX, Object::class_offset()));
|
| + __ cmpl(EBX, raw_null);
|
| + __ j(EQUAL, &checked_ok, Assembler::kNearJump);
|
| // Check if it's Dynamic.
|
| - __ cmpl(EAX, raw_null);
|
| - __ j(EQUAL, &checked_ok, Assembler::kNearJump);
|
| // For now handle only TypeArguments and bail out if InstantiatedTypeArgs.
|
| + __ movl(EAX, FieldAddress(EBX, Object::class_offset()));
|
| __ CompareObject(EAX, Object::ZoneHandle(Object::type_arguments_class()));
|
| __ j(NOT_EQUAL, &fall_through, Assembler::kNearJump);
|
| // Get type at index 0.
|
|
|