| Index: src/arm/assembler-arm.cc
|
| ===================================================================
|
| --- src/arm/assembler-arm.cc (revision 15486)
|
| +++ src/arm/assembler-arm.cc (working copy)
|
| @@ -56,6 +56,7 @@
|
| 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 @@
|
| am_ = am;
|
| }
|
|
|
| +
|
| MemOperand::MemOperand(Register rn, Register rm, AddrMode am) {
|
| rn_ = rn;
|
| rm_ = rm;
|
| @@ -677,6 +679,7 @@
|
| return instr & kOff12Mask;
|
| }
|
|
|
| +
|
| // Labels refer to positions in the (to be) generated code.
|
| // There are bound, linked, and unused labels.
|
| //
|
| @@ -1640,6 +1643,7 @@
|
| addrmod3(cond | B7 | B6 | B5 | B4, src1, dst);
|
| }
|
|
|
| +
|
| // Load/Store multiple instructions.
|
| void Assembler::ldm(BlockAddrMode am,
|
| Register base,
|
| @@ -2074,6 +2078,7 @@
|
| 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 @@
|
| *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 @@
|
| #endif
|
| }
|
|
|
| +
|
| void Assembler::GrowBuffer() {
|
| if (!own_buffer_) FATAL("external code buffer is too small");
|
|
|
| @@ -2894,6 +2901,7 @@
|
| }
|
| }
|
|
|
| +
|
| void Assembler::RecordRelocInfo(double data) {
|
| // We do not try to reuse pool constants.
|
| RelocInfo rinfo(pc_, data);
|
|
|