Home | History | Annotate | Download | only in arm

Lines Matching refs:Code

8 // - Redistributions of source code must retain the above copyright notice,
33 // The original source code covered by the above license above has been
68 // If the compiler is allowed to use VFP then we can use VFP too in our code
91 // minimal set of features which is also alowed for generated code in the
143 // Patch the code at the current address with the supplied instructions.
150 // Indicate that code has changed.
155 // Patch the code at the current PC with a call to the target address.
158 // Patch the code at the current address with a call to the target.
169 // Verify all Objects referred by code are NOT in new space.
260 const Instr kBlxIp = al | kBlxRegPattern | ip.code();
355 // Set up code descriptor.
538 // Labels refer to positions in the (to be) generated code.
542 // generated code. pos() is the position the label refers to.
544 // Linked labels refer to unknown positions in the code
549 // The link chain is terminated by a negative code position (must be aligned)
557 return instr - (Code::kHeaderSize - kHeapObjectTag);
575 // Make label relative to Code* of generated Code object.
576 instr_at_put(pos, target_pos + (Code::kHeaderSize - kHeapObjectTag));
714 // Low-level code emission routines depending on the addressing mode.
800 // condition code additional instruction conventions can be used.
841 // condition code), then replace it with a 'ldr rd, [pc]'.
871 instr |= x.shift_imm_*B7 | x.shift_op_ | x.rm_.code();
875 instr |= x.rs_.code()*B8 | x.shift_op_ | B4 | x.rm_.code();
877 emit(instr | rn.code()*B16 | rd.code()*B12);
910 instr |= B25 | x.shift_imm_*B7 | x.shift_op_ | x.rm_.code();
913 emit(instr | am | x.rn_.code()*B16 | rd.code()*B12);
949 instr |= x.rm_.code();
952 emit(instr | am | x.rn_.code()*B16 | rd.code()*B12);
960 emit(instr | rn.code()*B16 | rl);
985 emit(instr | am | x.rn_.code()*B16 | crd.code()*B12 | offset_8);
1020 instr_at_put(at_offset, target_pos + (Code::kHeaderSize - kHeapObjectTag));
1033 // Dead code is a good location to emit the constant pool.
1061 code());
1068 emit(cond | B24 | B21 | 15*B16 | 15*B12 | 15*B8 | BX | target.code());
1140 emit(cond | I | CMP | S | src.code() << 16 | raw_immediate);
1174 emit(cond | 0x34*B20 | reg.code()*B12 | EncodeMovwImmediate(immediate));
1193 emit(cond | A | s | dst.code()*B16 | srcA.code()*B12 |
1194 src2.code()*B8 | B7 | B4 | src1.code());
1202 emit(cond | s | dst.code()*B16 | src2.code()*B8 | B7 | B4 | src1.code());
1214 emit(cond | B23 | B22 | A | s | dstH.code()*B16 | dstL.code()*B12 |
1215 src2.code()*B8 | B7 | B4 | src1.code());
1227 emit(cond | B23 | B22 | s | dstH.code()*B16 | dstL.code()*B12 |
1228 src2.code()*B8 | B7 | B4 | src1.code());
1240 emit(cond | B23 | A | s | dstH.code()*B16 | dstL.code()*B12 |
1241 src2.code()*B8 | B7 | B4 | src1.code());
1253 emit(cond | B23 | s | dstH.code()*B16 | dstL.code()*B12 |
1254 src2.code()*B8 | B7 | B4 | src1.code());
1262 emit(cond | B24 | B22 | B21 | 15*B16 | dst.code()*B12 |
1263 15*B8 | CLZ | src.code());
1286 emit(cond | 0x6*B24 | 0xe*B20 | satpos*B16 | dst.code()*B12 |
1287 src.shift_imm_*B7 | sh*B6 | 0x1*B4 | src.rm_.code());
1307 emit(cond | 0xf*B23 | B22 | B21 | (width - 1)*B16 | dst.code()*B12 |
1308 lsb*B7 | B6 | B4 | src.code());
1327 emit(cond | 0xf*B23 | B21 | (width - 1)*B16 | dst.code()*B12 |
1328 lsb*B7 | B6 | B4 | src.code());
1343 emit(cond | 0x1f*B22 | msb*B16 | dst.code()*B12 | lsb*B7 | B4 | 0xf);
1362 emit(cond | 0x1f*B22 | msb*B16 | dst.code()*B12 | lsb*B7 | B4 |
1363 src.code());
1370 emit(cond | B24 | s | 15*B16 | dst.code()*B12);
1393 instr = src.rm_.code();
1448 ASSERT_EQ(0, dst1.code() % 2);
1449 ASSERT_EQ(dst1.code() + 1, dst2.code());
1458 ASSERT_EQ(0, src1.code() % 2);
1459 ASSERT_EQ(src1.code() + 1, src2.code());
1495 // Stops with a non-negative code less than kNumOfWatchedStops support
1497 void Assembler::stop(const char* msg, Condition cond, int32_t code) {
1499 ASSERT(code >= kDefaultStopCode);
1504 if (code >= 0) {
1505 svc(kStopCode + code, cond);
1549 emit(cond | B27 | B26 | B25 | (opcode_1 & 15)*B20 | crn.code()*B16 |
1550 crd.code()*B12 | coproc*B8 | (opcode_2 & 7)*B5 | crm.code());
1572 emit(cond | B27 | B26 | B25 | (opcode_1 & 7)*B21 | crn.code()*B16 |
1573 rd.code()*B12 | coproc*B8 | (opcode_2 & 7)*B5 | B4 | crm.code());
1595 emit(cond | B27 | B26 | B25 | (opcode_1 & 7)*B21 | L | crn.code()*B16 |
1596 rd.code()*B12 | coproc*B8 | (opcode_2 & 7)*B5 | B4 | crm.code());
1627 emit(cond | B27 | B26 | U | l | L | rn.code()*B16 | crd.code()*B12 |
1668 emit(cond | u*B23 | 0xD1*B20 | base.code()*B16 | dst.code()*B12 |
1679 emit(cond | 0xD1*B20 | ip.code()*B16 | dst.code()*B12 | 0xB*B8);
1712 emit(cond | u*B23 | d*B22 | 0xD1*B20 | base.code()*B16 | sd*B12 |
1723 emit(cond | d*B22 | 0xD1*B20 | ip.code()*B16 | sd*B12 | 0xA*B8);
1753 emit(cond | u*B23 | 0xD0*B20 | base.code()*B16 | src.code()*B12 |
1764 emit(cond | 0xD0*B20 | ip.code()*B16 | src.code()*B12 | 0xB*B8);
1796 emit(cond | u*B23 | d*B22 | 0xD0*B20 | base.code()*B16 | sd*B12 |
1807 emit(cond | d*B22 | 0xD0*B20 | ip.code()*B16 | sd*B12 | 0xA*B8);
1830 ASSERT_LE(first.code(), last.code());
1836 int count = last.code() - first.code() + 1;
1837 emit(cond | B27 | B26 | am | d*B22 | B20 | base.code()*B16 | sd*B12 |
1851 ASSERT_LE(first.code(), last.code());
1857 int count = last.code() - first.code() + 1;
1858 emit(cond | B27 | B26 | am | d*B22 | base.code()*B16 | sd*B12 |
1871 ASSERT_LE(first.code(), last.code());
1877 int count = last.code() - first.code() + 1;
1878 emit(cond | B27 | B26 | am | d*B22 | B20 | base.code()*B16 | sd*B12 |
1892 ASSERT_LE(first.code(), last.code());
1898 int count = last.code() - first.code() + 1;
1899 emit(cond | B27 | B26 | am | d*B22 | base.code()*B16 | sd*B12 |
1972 emit(cond | 0xE*B24 | 0xB*B20 | dst.code()*B12 | 0xB*B8 | enc);
2019 dst.code()*B12 | 0x5*B9 | B8 | B6 | src.code());
2033 emit(cond | 0xC*B24 | B22 | src2.code()*B16 |
2034 src1.code()*B12 | 0xB*B8 | B4 | dst.code());
2048 emit(cond | 0xC*B24 | B22 | B20 | dst2.code()*B16 |
2049 dst1.code()*B12 | 0xB*B8 | B4 | src.code());
2064 emit(cond | 0xE*B24 | sn*B16 | src.code()*B12 | 0xA*B8 | n*B7 | B4);
2079 emit(cond | 0xE*B24 | B20 | sn*B16 | dst.code()*B12 | 0xA*B8 | n*B7 | B4);
2201 emit(EncodeVCVT(F64, dst.code(), S32, src.code(), mode, cond));
2210 emit(EncodeVCVT(F32, dst.code(), S32, src.code(), mode, cond));
2219 emit(EncodeVCVT(F64, dst.code(), U32, src.code(), mode, cond));
2228 emit(EncodeVCVT(S32, dst.code(), F64, src.code(), mode, cond));
2237 emit(EncodeVCVT(U32, dst.code(), F64, src.code(), mode, cond));
2246 emit(EncodeVCVT(F64, dst.code(), F32, src.code(), mode, cond));
2255 emit(EncodeVCVT(F32, dst.code(), F64, src.code(), mode, cond));
2262 emit(cond | 0xE*B24 | 0xB*B20 | B16 | dst.code()*B12 |
2263 0x5*B9 | B8 | B6 | src.code());
2270 emit(cond | 0xE*B24 | 0xB*B20 | dst.code()*B12 |
2271 0x5*B9 | B8 | 0x3*B6 | src.code());
2285 emit(cond | 0xE*B24 | 0x3*B20 | src1.code()*B16 |
2286 dst.code()*B12 | 0x5*B9 | B8 | src2.code());
2300 emit(cond | 0xE*B24 | 0x3*B20 | src1.code()*B16 |
2301 dst.code()*B12 | 0x5*B9 | B8 | B6 | src2.code());
2315 emit(cond | 0xE*B24 | 0x2*B20 | src1.code()*B16 |
2316 dst.code()*B12 | 0x5*B9 | B8 | src2.code());
2330 emit(cond | 0xE*B24 | B23 | src1.code()*B16 |
2331 dst.code()*B12 | 0x5*B9 | B8 | src2.code());
2344 src1.code()*B12 | 0x5*B9 | B8 | B6 | src2.code());
2358 src1.code()*B12 | 0x5*B9 | B8 | B6);
2368 dst.code()*B12 | 0xA*B8 | B4);
2378 dst.code()*B12 | 0xA*B8 | B4);
2389 dst.code()*B12 | 0x5*B9 | B8 | 3*B6 | src.code());
2439 if (!own_buffer_) FATAL("external code buffer is too small");
2473 // None of our relocation types are pc relative pointing outside the code
2474 // buffer nor pc absolute pointing inside the code buffer, so there is no need
2515 // Adjust code for new modes.
2601 // Check that the code buffer is large enough before emitting the constant