| Index: runtime/vm/flow_graph_compiler_ia32.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler_ia32.cc (revision 37007)
|
| +++ runtime/vm/flow_graph_compiler_ia32.cc (working copy)
|
| @@ -1279,17 +1279,10 @@
|
| ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
|
| const MegamorphicCache& cache =
|
| MegamorphicCache::ZoneHandle(table->Lookup(name, arguments_descriptor));
|
| - Label not_smi, load_cache;
|
| + Label load_cache;
|
| __ movl(EAX, Address(ESP, (argument_count - 1) * kWordSize));
|
| - __ testl(EAX, Immediate(kSmiTagMask));
|
| - __ j(NOT_ZERO, ¬_smi, Assembler::kNearJump);
|
| - __ movl(EAX, Immediate(Smi::RawValue(kSmiCid)));
|
| - __ jmp(&load_cache);
|
| + __ LoadTaggedClassIdMayBeSmi(EAX, EAX);
|
|
|
| - __ Bind(¬_smi);
|
| - __ LoadClassId(EAX, EAX);
|
| - __ SmiTag(EAX);
|
| -
|
| // EAX: class ID of the receiver (smi).
|
| __ Bind(&load_cache);
|
| __ LoadObject(EBX, cache);
|
|
|