| Index: src/arm/simulator-arm.cc
|
| diff --git a/src/arm/simulator-arm.cc b/src/arm/simulator-arm.cc
|
| index e3ef926ca0c0f88afc6c49bed1f55a02a27995a9..7a78d6d21843786aff3c7c404b8036b4f8c8c347 100644
|
| --- a/src/arm/simulator-arm.cc
|
| +++ b/src/arm/simulator-arm.cc
|
| @@ -721,7 +721,7 @@ void Simulator::CheckICache(v8::internal::HashMap* i_cache,
|
| Instruction::kInstrSize) == 0);
|
| } else {
|
| // Cache miss. Load memory into the cache.
|
| - memcpy(cached_line, line, CachePage::kLineLength);
|
| + OS::MemCopy(cached_line, line, CachePage::kLineLength);
|
| *cache_valid_byte = CachePage::LINE_VALID;
|
| }
|
| }
|
| @@ -902,8 +902,8 @@ double Simulator::get_double_from_register_pair(int reg) {
|
| // Read the bits from the unsigned integer register_[] array
|
| // into the double precision floating point value and return it.
|
| char buffer[2 * sizeof(vfp_registers_[0])];
|
| - memcpy(buffer, ®isters_[reg], 2 * sizeof(registers_[0]));
|
| - memcpy(&dm_val, buffer, 2 * sizeof(registers_[0]));
|
| + OS::MemCopy(buffer, ®isters_[reg], 2 * sizeof(registers_[0]));
|
| + OS::MemCopy(&dm_val, buffer, 2 * sizeof(registers_[0]));
|
| return(dm_val);
|
| }
|
|
|
| @@ -953,9 +953,9 @@ void Simulator::SetVFPRegister(int reg_index, const InputType& value) {
|
| if (register_size == 2) ASSERT(reg_index < DwVfpRegister::NumRegisters());
|
|
|
| char buffer[register_size * sizeof(vfp_registers_[0])];
|
| - memcpy(buffer, &value, register_size * sizeof(vfp_registers_[0]));
|
| - memcpy(&vfp_registers_[reg_index * register_size], buffer,
|
| - register_size * sizeof(vfp_registers_[0]));
|
| + OS::MemCopy(buffer, &value, register_size * sizeof(vfp_registers_[0]));
|
| + OS::MemCopy(&vfp_registers_[reg_index * register_size], buffer,
|
| + register_size * sizeof(vfp_registers_[0]));
|
| }
|
|
|
|
|
| @@ -967,9 +967,9 @@ ReturnType Simulator::GetFromVFPRegister(int reg_index) {
|
|
|
| ReturnType value = 0;
|
| char buffer[register_size * sizeof(vfp_registers_[0])];
|
| - memcpy(buffer, &vfp_registers_[register_size * reg_index],
|
| - register_size * sizeof(vfp_registers_[0]));
|
| - memcpy(&value, buffer, register_size * sizeof(vfp_registers_[0]));
|
| + OS::MemCopy(buffer, &vfp_registers_[register_size * reg_index],
|
| + register_size * sizeof(vfp_registers_[0]));
|
| + OS::MemCopy(&value, buffer, register_size * sizeof(vfp_registers_[0]));
|
| return value;
|
| }
|
|
|
| @@ -987,14 +987,14 @@ void Simulator::GetFpArgs(double* x, double* y, int32_t* z) {
|
| // otherwise allow the compiler to optimize away the copy.
|
| char buffer[sizeof(*x)];
|
| // Registers 0 and 1 -> x.
|
| - memcpy(buffer, registers_, sizeof(*x));
|
| - memcpy(x, buffer, sizeof(*x));
|
| + OS::MemCopy(buffer, registers_, sizeof(*x));
|
| + OS::MemCopy(x, buffer, sizeof(*x));
|
| // Registers 2 and 3 -> y.
|
| - memcpy(buffer, registers_ + 2, sizeof(*y));
|
| - memcpy(y, buffer, sizeof(*y));
|
| + OS::MemCopy(buffer, registers_ + 2, sizeof(*y));
|
| + OS::MemCopy(y, buffer, sizeof(*y));
|
| // Register 2 -> z.
|
| - memcpy(buffer, registers_ + 2, sizeof(*z));
|
| - memcpy(z, buffer, sizeof(*z));
|
| + OS::MemCopy(buffer, registers_ + 2, sizeof(*z));
|
| + OS::MemCopy(z, buffer, sizeof(*z));
|
| }
|
| }
|
|
|
| @@ -1003,14 +1003,14 @@ void Simulator::GetFpArgs(double* x, double* y, int32_t* z) {
|
| void Simulator::SetFpResult(const double& result) {
|
| if (use_eabi_hardfloat()) {
|
| char buffer[2 * sizeof(vfp_registers_[0])];
|
| - memcpy(buffer, &result, sizeof(buffer));
|
| + OS::MemCopy(buffer, &result, sizeof(buffer));
|
| // Copy result to d0.
|
| - memcpy(vfp_registers_, buffer, sizeof(buffer));
|
| + OS::MemCopy(vfp_registers_, buffer, sizeof(buffer));
|
| } else {
|
| char buffer[2 * sizeof(registers_[0])];
|
| - memcpy(buffer, &result, sizeof(buffer));
|
| + OS::MemCopy(buffer, &result, sizeof(buffer));
|
| // Copy result to r0 and r1.
|
| - memcpy(registers_, buffer, sizeof(buffer));
|
| + OS::MemCopy(registers_, buffer, sizeof(buffer));
|
| }
|
| }
|
|
|
| @@ -1589,12 +1589,12 @@ void Simulator::HandleVList(Instruction* instr) {
|
| ReadW(reinterpret_cast<int32_t>(address + 1), instr)
|
| };
|
| double d;
|
| - memcpy(&d, data, 8);
|
| + OS::MemCopy(&d, data, 8);
|
| set_d_register_from_double(reg, d);
|
| } else {
|
| int32_t data[2];
|
| double d = get_double_from_d_register(reg);
|
| - memcpy(data, &d, 8);
|
| + OS::MemCopy(data, &d, 8);
|
| WriteW(reinterpret_cast<int32_t>(address), data[0], instr);
|
| WriteW(reinterpret_cast<int32_t>(address + 1), data[1], instr);
|
| }
|
| @@ -2832,9 +2832,9 @@ void Simulator::DecodeTypeVFP(Instruction* instr) {
|
| int vd = instr->Bits(19, 16) | (instr->Bit(7) << 4);
|
| double dd_value = get_double_from_d_register(vd);
|
| int32_t data[2];
|
| - memcpy(data, &dd_value, 8);
|
| + OS::MemCopy(data, &dd_value, 8);
|
| data[instr->Bit(21)] = get_register(instr->RtValue());
|
| - memcpy(&dd_value, data, 8);
|
| + OS::MemCopy(&dd_value, data, 8);
|
| set_d_register_from_double(vd, dd_value);
|
| } else if ((instr->VLValue() == 0x1) &&
|
| (instr->VCValue() == 0x0) &&
|
| @@ -3183,13 +3183,13 @@ void Simulator::DecodeType6CoprocessorIns(Instruction* instr) {
|
| if (instr->HasL()) {
|
| int32_t data[2];
|
| double d = get_double_from_d_register(vm);
|
| - memcpy(data, &d, 8);
|
| + OS::MemCopy(data, &d, 8);
|
| set_register(rt, data[0]);
|
| set_register(rn, data[1]);
|
| } else {
|
| int32_t data[] = { get_register(rt), get_register(rn) };
|
| double d;
|
| - memcpy(&d, data, 8);
|
| + OS::MemCopy(&d, data, 8);
|
| set_d_register_from_double(vm, d);
|
| }
|
| }
|
| @@ -3212,13 +3212,13 @@ void Simulator::DecodeType6CoprocessorIns(Instruction* instr) {
|
| ReadW(address + 4, instr)
|
| };
|
| double val;
|
| - memcpy(&val, data, 8);
|
| + OS::MemCopy(&val, data, 8);
|
| set_d_register_from_double(vd, val);
|
| } else {
|
| // Store double to memory: vstr.
|
| int32_t data[2];
|
| double val = get_double_from_d_register(vd);
|
| - memcpy(data, &val, 8);
|
| + OS::MemCopy(data, &val, 8);
|
| WriteW(address, data[0], instr);
|
| WriteW(address + 4, data[1], instr);
|
| }
|
| @@ -3441,9 +3441,9 @@ double Simulator::CallFP(byte* entry, double d0, double d1) {
|
| } else {
|
| int buffer[2];
|
| ASSERT(sizeof(buffer[0]) * 2 == sizeof(d0));
|
| - memcpy(buffer, &d0, sizeof(d0));
|
| + OS::MemCopy(buffer, &d0, sizeof(d0));
|
| set_dw_register(0, buffer);
|
| - memcpy(buffer, &d1, sizeof(d1));
|
| + OS::MemCopy(buffer, &d1, sizeof(d1));
|
| set_dw_register(2, buffer);
|
| }
|
| CallInternal(entry);
|
|
|