| Index: src/mips/macro-assembler-mips.h
|
| diff --git a/src/mips/macro-assembler-mips.h b/src/mips/macro-assembler-mips.h
|
| index 304c124f5cdc38d7d11ed08dc1934a007430ac0d..24dfceb05eb7225e9c395a2206f820b370a18590 100644
|
| --- a/src/mips/macro-assembler-mips.h
|
| +++ b/src/mips/macro-assembler-mips.h
|
| @@ -1242,22 +1242,25 @@ class MacroAssembler: public Assembler {
|
| sra(dst, src, kSmiTagSize);
|
| }
|
|
|
| + // Untag the source value into destination and jump if source is a smi.
|
| + // Souce and destination can be the same register.
|
| + void UntagAndJumpIfSmi(Register dst, Register src, Label* smi_case);
|
| +
|
| + // Untag the source value into destination and jump if source is not a smi.
|
| + // Souce and destination can be the same register.
|
| + void UntagAndJumpIfNotSmi(Register dst, Register src, Label* non_smi_case);
|
| +
|
| // Jump the register contains a smi.
|
| - inline void JumpIfSmi(Register value, Label* smi_label,
|
| - Register scratch = at,
|
| - BranchDelaySlot bd = PROTECT) {
|
| - ASSERT_EQ(0, kSmiTag);
|
| - andi(scratch, value, kSmiTagMask);
|
| - Branch(bd, smi_label, eq, scratch, Operand(zero_reg));
|
| - }
|
| + void JumpIfSmi(Register value,
|
| + Label* smi_label,
|
| + Register scratch = at,
|
| + BranchDelaySlot bd = PROTECT);
|
|
|
| // Jump if the register contains a non-smi.
|
| - inline void JumpIfNotSmi(Register value, Label* not_smi_label,
|
| - Register scratch = at) {
|
| - ASSERT_EQ(0, kSmiTag);
|
| - andi(scratch, value, kSmiTagMask);
|
| - Branch(not_smi_label, ne, scratch, Operand(zero_reg));
|
| - }
|
| + void JumpIfNotSmi(Register value,
|
| + Label* not_smi_label,
|
| + Register scratch = at,
|
| + BranchDelaySlot bd = PROTECT);
|
|
|
| // Jump if either of the registers contain a non-smi.
|
| void JumpIfNotBothSmi(Register reg1, Register reg2, Label* on_not_both_smi);
|
|
|