| Index: src/arm/assembler-arm.cc
|
| diff --git a/src/arm/assembler-arm.cc b/src/arm/assembler-arm.cc
|
| index c6ea6006fe3524f0a3797650e0a7fcde8574b12a..e8afc5d4d5c2e613ac7f93f0ced38b8f78c6bf5b 100644
|
| --- a/src/arm/assembler-arm.cc
|
| +++ b/src/arm/assembler-arm.cc
|
| @@ -36,7 +36,7 @@
|
|
|
| #include "v8.h"
|
|
|
| -#if defined(V8_TARGET_ARCH_ARM)
|
| +#if V8_TARGET_ARCH_ARM
|
|
|
| #include "arm/assembler-arm-inl.h"
|
| #include "serialize.h"
|
| @@ -56,6 +56,7 @@ ExternalReference ExternalReference::cpu_features() {
|
| return ExternalReference(&CpuFeatures::supported_);
|
| }
|
|
|
| +
|
| // Get the CPU features enabled by the build. For cross compilation the
|
| // preprocessor symbols CAN_USE_ARMV7_INSTRUCTIONS and CAN_USE_VFP3_INSTRUCTIONS
|
| // can be defined to enable ARMv7 and VFPv3 instructions when building the
|
| @@ -356,6 +357,7 @@ MemOperand::MemOperand(Register rn, int32_t offset, AddrMode am) {
|
| am_ = am;
|
| }
|
|
|
| +
|
| MemOperand::MemOperand(Register rn, Register rm, AddrMode am) {
|
| rn_ = rn;
|
| rm_ = rm;
|
| @@ -677,6 +679,7 @@ int Assembler::GetCmpImmediateRawImmediate(Instr instr) {
|
| return instr & kOff12Mask;
|
| }
|
|
|
| +
|
| // Labels refer to positions in the (to be) generated code.
|
| // There are bound, linked, and unused labels.
|
| //
|
| @@ -1640,6 +1643,7 @@ void Assembler::strd(Register src1, Register src2,
|
| addrmod3(cond | B7 | B6 | B5 | B4, src1, dst);
|
| }
|
|
|
| +
|
| // Load/Store multiple instructions.
|
| void Assembler::ldm(BlockAddrMode am,
|
| Register base,
|
| @@ -2074,6 +2078,7 @@ void Assembler::vstm(BlockAddrMode am,
|
| 0xA*B8 | count);
|
| }
|
|
|
| +
|
| static void DoubleAsTwoUInt32(double d, uint32_t* lo, uint32_t* hi) {
|
| uint64_t i;
|
| OS::MemCopy(&i, &d, 8);
|
| @@ -2082,6 +2087,7 @@ static void DoubleAsTwoUInt32(double d, uint32_t* lo, uint32_t* hi) {
|
| *hi = i >> 32;
|
| }
|
|
|
| +
|
| // Only works for little endian floating point formats.
|
| // We don't support VFP on the mixed endian floating point platform.
|
| static bool FitsVMOVDoubleImmediate(double d, uint32_t *encoding) {
|
| @@ -2774,6 +2780,7 @@ void Assembler::RecordConstPool(int size) {
|
| #endif
|
| }
|
|
|
| +
|
| void Assembler::GrowBuffer() {
|
| if (!own_buffer_) FATAL("external code buffer is too small");
|
|
|
| @@ -2894,6 +2901,7 @@ void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data,
|
| }
|
| }
|
|
|
| +
|
| void Assembler::RecordRelocInfo(double data) {
|
| // We do not try to reuse pool constants.
|
| RelocInfo rinfo(pc_, data);
|
|
|