Chromium Code Reviews| Index: runtime/vm/assembler_mips.cc |
| =================================================================== |
| --- runtime/vm/assembler_mips.cc (revision 36956) |
| +++ runtime/vm/assembler_mips.cc (working copy) |
| @@ -652,6 +652,19 @@ |
| } |
| +void Assembler::LoadTaggedClassIdMayBeSmi(Register result, Register object) { |
| + Label load, done; |
| + andi(CMPRES1, object, Immediate(kSmiTagMask)); |
| + bne(CMPRES1, ZR, &load); |
| + LoadImmediate(result, Smi::RawValue(kSmiCid)); |
|
zra
2014/06/04 18:55:00
If Smi::RawValue(kSmiCid) fits in 16 bits, you can
|
| + b(&done); |
| + Bind(&load); |
| + LoadClassId(result, object); |
| + SmiTag(result); |
| + Bind(&done); |
| +} |
| + |
| + |
| void Assembler::EnterFrame() { |
| ASSERT(!in_delay_slot_); |
| addiu(SP, SP, Immediate(-2 * kWordSize)); |