| Index: src/arm/macro-assembler-arm.h
|
| ===================================================================
|
| --- src/arm/macro-assembler-arm.h (revision 6451)
|
| +++ src/arm/macro-assembler-arm.h (working copy)
|
| @@ -719,6 +719,9 @@
|
| void SmiTag(Register reg, SBit s = LeaveCC) {
|
| add(reg, reg, Operand(reg), s);
|
| }
|
| + void SmiTag(Register dst, Register src, SBit s = LeaveCC) {
|
| + add(dst, src, Operand(src), s);
|
| + }
|
|
|
| // Try to convert int32 to smi. If the value is to large, preserve
|
| // the original value and jump to not_a_smi. Destroys scratch and
|
| @@ -733,6 +736,9 @@
|
| void SmiUntag(Register reg) {
|
| mov(reg, Operand(reg, ASR, kSmiTagSize));
|
| }
|
| + void SmiUntag(Register dst, Register src) {
|
| + mov(dst, Operand(src, ASR, kSmiTagSize));
|
| + }
|
|
|
| // Jump if either of the registers contain a non-smi.
|
| void JumpIfNotBothSmi(Register reg1, Register reg2, Label* on_not_both_smi);
|
| @@ -744,6 +750,14 @@
|
| void AbortIfNotSmi(Register object);
|
|
|
| // ---------------------------------------------------------------------------
|
| + // HeapNumber utilities
|
| +
|
| + void JumpIfNotHeapNumber(Register object,
|
| + Register heap_number_map,
|
| + Register scratch,
|
| + Label* on_not_heap_number);
|
| +
|
| + // ---------------------------------------------------------------------------
|
| // String utilities
|
|
|
| // Checks if both objects are sequential ASCII strings and jumps to label
|
|
|