Lines Matching refs:Assembler
35 #include "src/arm64/assembler-arm64-inl.h"
148 // preserved outside of the macro assembler.
290 bool Operand::NeedsRelocation(const Assembler* assembler) const {
294 return assembler->serializer_enabled();
327 if (EntryCount() > Assembler::kApproxMaxPoolEntryCount) {
385 Assembler::BlockPoolsScope block_pools(assm_);
462 Assembler::ImmLLiteral(word_count) |
463 Assembler::Rt(xzr));
548 // Assembler
549 Assembler::Assembler(Isolate* isolate, void* buffer, int buffer_size)
561 Assembler::~Assembler() {
568 void Assembler::Reset() {
587 void Assembler::GetCode(CodeDesc* desc) {
604 void Assembler::Align(int m) {
612 void Assembler::CheckLabelLinkChain(Label const * label) {
630 void Assembler::RemoveBranchFromLabelLinkChain(Instruction* branch,
710 void Assembler::bind(Label* label) {
764 int Assembler::LinkAndGetByteOffsetTo(Label* label) {
807 void Assembler::DeleteUnresolvedBranchInfoForLabelTraverse(Label* label) {
841 void Assembler::DeleteUnresolvedBranchInfoForLabel(Label* label) {
861 void Assembler::StartBlockConstPool() {
870 void Assembler::EndBlockConstPool() {
884 bool Assembler::is_const_pool_blocked() const {
890 bool Assembler::IsConstantPoolAt(Instruction* instr) {
905 int Assembler::ConstantPoolSizeAt(Instruction* instr) {
907 // Assembler::debug() embeds constants directly into the instruction stream.
932 void Assembler::EmitPoolGuard() {
939 void Assembler::StartBlockVeneerPool() {
944 void Assembler::EndBlockVeneerPool() {
953 void Assembler::br(const Register& xn) {
960 void Assembler::blr(const Register& xn) {
970 void Assembler::ret(const Register& xn) {
977 void Assembler::b(int imm26) {
982 void Assembler::b(Label* label) {
988 void Assembler::b(int imm19, Condition cond) {
993 void Assembler::b(Label* label, Condition cond) {
999 void Assembler::bl(int imm26) {
1005 void Assembler::bl(Label* label) {
1011 void Assembler::cbz(const Register& rt,
1018 void Assembler::cbz(const Register& rt,
1025 void Assembler::cbnz(const Register& rt,
1032 void Assembler::cbnz(const Register& rt,
1039 void Assembler::tbz(const Register& rt,
1048 void Assembler::tbz(const Register& rt,
1056 void Assembler::tbnz(const Register& rt,
1065 void Assembler::tbnz(const Register& rt,
1073 void Assembler::adr(const Register& rd, int imm21) {
1079 void Assembler::adr(const Register& rd, Label* label) {
1084 void Assembler::add(const Register& rd,
1091 void Assembler::adds(const Register& rd,
1098 void Assembler::cmn(const Register& rn,
1105 void Assembler::sub(const Register& rd,
1112 void Assembler::subs(const Register& rd,
1119 void Assembler::cmp(const Register& rn, const Operand& operand) {
1125 void Assembler::neg(const Register& rd, const Operand& operand) {
1131 void Assembler::negs(const Register& rd, const Operand& operand) {
1137 void Assembler::adc(const Register& rd,
1144 void Assembler::adcs(const Register& rd,
1151 void Assembler::sbc(const Register& rd,
1158 void Assembler::sbcs(const Register& rd,
1165 void Assembler::ngc(const Register& rd, const Operand& operand) {
1171 void Assembler::ngcs(const Register& rd, const Operand& operand) {
1178 void Assembler::and_(const Register& rd,
1185 void Assembler::ands(const Register& rd,
1192 void Assembler::tst(const Register& rn,
1198 void Assembler::bic(const Register& rd,
1205 void Assembler::bics(const Register& rd,
1212 void Assembler::orr(const Register& rd,
1219 void Assembler::orn(const Register& rd,
1226 void Assembler::eor(const Register& rd,
1233 void Assembler::eon(const Register& rd,
1240 void Assembler::lslv(const Register& rd,
1249 void Assembler::lsrv(const Register& rd,
1258 void Assembler::asrv(const Register& rd,
1267 void Assembler::rorv(const Register& rd,
1277 void Assembler::bfm(const Register& rd,
1290 void Assembler::sbfm(const Register& rd,
1303 void Assembler::ubfm(const Register& rd,
1316 void Assembler::extr(const Register& rd,
1328 void Assembler::csel(const Register& rd,
1336 void Assembler::csinc(const Register& rd,
1344 void Assembler::csinv(const Register& rd,
1352 void Assembler::csneg(const Register& rd,
1360 void Assembler::cset(const Register &rd, Condition cond) {
1367 void Assembler::csetm(const Register &rd, Condition cond) {
1374 void Assembler::cinc(const Register &rd, const Register &rn, Condition cond) {
1380 void Assembler::cinv(const Register &rd, const Register &rn, Condition cond) {
1386 void Assembler::cneg(const Register &rd, const Register &rn, Condition cond) {
1392 void Assembler::ConditionalSelect(const Register& rd,
1403 void Assembler::ccmn(const Register& rn,
1411 void Assembler::ccmp(const Register& rn,
1419 void Assembler::DataProcessing3Source(const Register& rd,
1428 void Assembler::mul(const Register& rd,
1437 void Assembler::madd(const Register& rd,
1446 void Assembler::mneg(const Register& rd,
1455 void Assembler::msub(const Register& rd,
1464 void Assembler::smaddl(const Register& rd,
1474 void Assembler::smsubl(const Register& rd,
1484 void Assembler::umaddl(const Register& rd,
1494 void Assembler::umsubl(const Register& rd,
1504 void Assembler::smull(const Register& rd,
1513 void Assembler::smulh(const Register& rd,
1521 void Assembler::sdiv(const Register& rd,
1530 void Assembler::udiv(const Register& rd,
1539 void Assembler::rbit(const Register& rd,
1545 void Assembler::rev16(const Register& rd,
1551 void Assembler::rev32(const Register& rd,
1558 void Assembler::rev(const Register& rd,
1564 void Assembler::clz(const Register& rd,
1570 void Assembler::cls(const Register& rd,
1576 void Assembler::ldp(const CPURegister& rt,
1583 void Assembler::stp(const CPURegister& rt,
1590 void Assembler::ldpsw(const Register& rt,
1598 void Assembler::LoadStorePair(const CPURegister& rt,
1628 void Assembler::ldnp(const CPURegister& rt,
1636 void Assembler::stnp(const CPURegister& rt,
1644 void Assembler::LoadStorePairNonTemporal(const CPURegister& rt,
1660 void Assembler::ldrb(const Register& rt, const MemOperand& src) {
1665 void Assembler::strb(const Register& rt, const MemOperand& dst) {
1670 void Assembler::ldrsb(const Register& rt, const MemOperand& src) {
1675 void Assembler::ldrh(const Register& rt, const MemOperand& src) {
1680 void Assembler::strh(const Register& rt, const MemOperand& dst) {
1685 void Assembler::ldrsh(const Register& rt, const MemOperand& src) {
1690 void Assembler::ldr(const CPURegister& rt, const MemOperand& src) {
1695 void Assembler::str(const CPURegister& rt, const MemOperand& src) {
1700 void Assembler::ldrsw(const Register& rt, const MemOperand& src) {
1706 void Assembler::ldr_pcrel(const CPURegister& rt, int imm19) {
1714 void Assembler::ldr(const CPURegister& rt, const Immediate& imm) {
1726 void Assembler::mov(const Register& rd, const Register& rm) {
1738 void Assembler::mvn(const Register& rd, const Operand& operand) {
1743 void Assembler::mrs(const Register& rt, SystemRegister sysreg) {
1749 void Assembler::msr(SystemRegister sysreg, const Register& rt) {
1755 void Assembler::hint(SystemHint code) {
1760 void Assembler::dmb(BarrierDomain domain, BarrierType type) {
1765 void Assembler::dsb(BarrierDomain domain, BarrierType type) {
1770 void Assembler::isb() {
1775 void Assembler::fmov(FPRegister fd, double imm) {
1782 void Assembler::fmov(FPRegister fd, float imm) {
1789 void Assembler::fmov(Register rd, FPRegister fn) {
1796 void Assembler::fmov(FPRegister fd, Register rn) {
1803 void Assembler::fmov(FPRegister fd, FPRegister fn) {
1809 void Assembler::fadd(const FPRegister& fd,
1816 void Assembler::fsub(const FPRegister& fd,
1823 void Assembler::fmul(const FPRegister& fd,
1830 void Assembler::fmadd(const FPRegister& fd,
1838 void Assembler::fmsub(const FPRegister& fd,
1846 void Assembler::fnmadd(const FPRegister& fd,
1854 void Assembler::fnmsub(const FPRegister& fd,
1862 void Assembler::fdiv(const FPRegister& fd,
1869 void Assembler::fmax(const FPRegister& fd,
1876 void Assembler::fmaxnm(const FPRegister& fd,
1883 void Assembler::fmin(const FPRegister& fd,
1890 void Assembler::fminnm(const FPRegister& fd,
1897 void Assembler::fabs(const FPRegister& fd,
1904 void Assembler::fneg(const FPRegister& fd,
1911 void Assembler::fsqrt(const FPRegister& fd,
1918 void Assembler::frinta(const FPRegister& fd,
1925 void Assembler::frintm(const FPRegister& fd,
1932 void Assembler::frintn(const FPRegister& fd,
1939 void Assembler::frintz(const FPRegister& fd,
1946 void Assembler::fcmp(const FPRegister& fn,
1953 void Assembler::fcmp(const FPRegister& fn,
1964 void Assembler::fccmp(const FPRegister& fn,
1973 void Assembler::fcsel(const FPRegister& fd,
1983 void Assembler::FPConvertToInt(const Register& rd,
1990 void Assembler::fcvt(const FPRegister& fd,
2004 void Assembler::fcvtau(const Register& rd, const FPRegister& fn) {
2009 void Assembler::fcvtas(const Register& rd, const FPRegister& fn) {
2014 void Assembler::fcvtmu(const Register& rd, const FPRegister& fn) {
2019 void Assembler::fcvtms(const Register& rd, const FPRegister& fn) {
2024 void Assembler::fcvtnu(const Register& rd, const FPRegister& fn) {
2029 void Assembler::fcvtns(const Register& rd, const FPRegister& fn) {
2034 void Assembler::fcvtzu(const Register& rd, const FPRegister& fn) {
2039 void Assembler::fcvtzs(const Register& rd, const FPRegister& fn) {
2044 void Assembler::scvtf(const FPRegister& fd,
2056 void Assembler::ucvtf(const FPRegister& fd,
2072 Instr Assembler::ImmFP32(float imm) {
2087 Instr Assembler::ImmFP64(double imm) {
2104 void Assembler::MoveWide(const Register& rd,
2149 void Assembler::AddSub(const Register& rd,
2187 void Assembler::AddSubWithCarry(const Register& rd,
2200 void Assembler::hlt(int code) {
2206 void Assembler::brk(int code) {
2212 void Assembler::EmitStringData(const char* string) {
2223 void Assembler::debug(const char* message, uint32_t code, Instr params) {
2257 void Assembler::Logical(const Register& rd,
2282 // This case is handled in the macro assembler.
2294 void Assembler::LogicalImmediate(const Register& rd,
2308 void Assembler::ConditionalCompare(const Register& rn,
2327 void Assembler::DataProcessing1Source(const Register& rd,
2335 void Assembler::FPDataProcessing1Source(const FPRegister& fd,
2342 void Assembler::FPDataProcessing2Source(const FPRegister& fd,
2352 void Assembler::FPDataProcessing3Source(const FPRegister& fd,
2362 void Assembler::EmitShift(const Register& rd,
2385 void Assembler::EmitExtendShift(const Register& rd,
2422 void Assembler::DataProcShiftedRegister(const Register& rd,
2436 void Assembler::DataProcExtendedRegister(const Register& rd,
2449 bool Assembler::IsImmAddSub(int64_t immediate) {
2454 void Assembler::LoadStore(const CPURegister& rt,
2470 // This case is handled in the macro assembler.
2500 // This case is handled in the macro assembler.
2507 bool Assembler::IsImmLSUnscaled(int64_t offset) {
2512 bool Assembler::IsImmLSScaled(int64_t offset, LSDataSize size) {
2518 bool Assembler::IsImmLSPair(int64_t offset, LSDataSize size) {
2531 bool Assembler::IsImmLogical(uint64_t value,
2733 bool Assembler::IsImmConditionalCompare(int64_t immediate) {
2738 bool Assembler::IsImmFP32(float imm) {
2762 bool Assembler::IsImmFP64(double imm) {
2787 void Assembler::GrowBuffer() {
2831 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) {
2872 void Assembler::BlockConstPoolFor(int instructions) {
2886 void Assembler::CheckConstPool(bool force_emit, bool require_jump) {
2942 bool Assembler::ShouldEmitVeneer(int max_reachable_pc, int margin) {
2950 void Assembler::RecordVeneerPool(int location_offset, int size) {
2958 void Assembler::EmitVeneers(bool force_emit, bool need_protection, int margin) {
3027 void Assembler::CheckVeneerPool(bool force_emit, bool require_jump,
3058 void Assembler::RecordComment(const char* msg) {
3066 int Assembler::buffer_space() const {
3071 void Assembler::RecordJSReturn() {
3078 void Assembler::RecordDebugBreakSlot() {
3085 void Assembler::RecordConstPool(int size) {
3092 Handle<ConstantPoolArray> Assembler::NewConstantPool(Isolate* isolate) {
3099 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) {