| Index: src/mips/macro-assembler-mips.cc
|
| diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc
|
| index 524b535688a2eb7a00581ef35b96be971d8c5c22..7818a2402f2fd25710dcfc738a51688b51d9a506 100644
|
| --- a/src/mips/macro-assembler-mips.cc
|
| +++ b/src/mips/macro-assembler-mips.cc
|
| @@ -4573,75 +4573,6 @@ void MacroAssembler::AllocateJSValue(Register result, Register constructor,
|
| STATIC_ASSERT(JSValue::kSize == 4 * kPointerSize);
|
| }
|
|
|
| -
|
| -void MacroAssembler::CopyBytes(Register src,
|
| - Register dst,
|
| - Register length,
|
| - Register scratch) {
|
| - Label align_loop_1, word_loop, byte_loop, byte_loop_1, done;
|
| -
|
| - // Align src before copying in word size chunks.
|
| - Branch(&byte_loop, le, length, Operand(kPointerSize));
|
| - bind(&align_loop_1);
|
| - And(scratch, src, kPointerSize - 1);
|
| - Branch(&word_loop, eq, scratch, Operand(zero_reg));
|
| - lbu(scratch, MemOperand(src));
|
| - Addu(src, src, 1);
|
| - sb(scratch, MemOperand(dst));
|
| - Addu(dst, dst, 1);
|
| - Subu(length, length, Operand(1));
|
| - Branch(&align_loop_1, ne, length, Operand(zero_reg));
|
| -
|
| - // Copy bytes in word size chunks.
|
| - bind(&word_loop);
|
| - if (emit_debug_code()) {
|
| - And(scratch, src, kPointerSize - 1);
|
| - Assert(eq, kExpectingAlignmentForCopyBytes,
|
| - scratch, Operand(zero_reg));
|
| - }
|
| - Branch(&byte_loop, lt, length, Operand(kPointerSize));
|
| - lw(scratch, MemOperand(src));
|
| - Addu(src, src, kPointerSize);
|
| -
|
| - // TODO(kalmard) check if this can be optimized to use sw in most cases.
|
| - // Can't use unaligned access - copy byte by byte.
|
| - if (kArchEndian == kLittle) {
|
| - sb(scratch, MemOperand(dst, 0));
|
| - srl(scratch, scratch, 8);
|
| - sb(scratch, MemOperand(dst, 1));
|
| - srl(scratch, scratch, 8);
|
| - sb(scratch, MemOperand(dst, 2));
|
| - srl(scratch, scratch, 8);
|
| - sb(scratch, MemOperand(dst, 3));
|
| - } else {
|
| - sb(scratch, MemOperand(dst, 3));
|
| - srl(scratch, scratch, 8);
|
| - sb(scratch, MemOperand(dst, 2));
|
| - srl(scratch, scratch, 8);
|
| - sb(scratch, MemOperand(dst, 1));
|
| - srl(scratch, scratch, 8);
|
| - sb(scratch, MemOperand(dst, 0));
|
| - }
|
| -
|
| - Addu(dst, dst, 4);
|
| -
|
| - Subu(length, length, Operand(kPointerSize));
|
| - Branch(&word_loop);
|
| -
|
| - // Copy the last bytes if any left.
|
| - bind(&byte_loop);
|
| - Branch(&done, eq, length, Operand(zero_reg));
|
| - bind(&byte_loop_1);
|
| - lbu(scratch, MemOperand(src));
|
| - Addu(src, src, 1);
|
| - sb(scratch, MemOperand(dst));
|
| - Addu(dst, dst, 1);
|
| - Subu(length, length, Operand(1));
|
| - Branch(&byte_loop_1, ne, length, Operand(zero_reg));
|
| - bind(&done);
|
| -}
|
| -
|
| -
|
| void MacroAssembler::InitializeFieldsWithFiller(Register current_address,
|
| Register end_address,
|
| Register filler) {
|
|
|