Lines Matching defs:label
56 void Assembler::bind(Label* label) {
57 BindToOffset(label, GetBuffer()->GetCursorOffset());
61 void Assembler::BindToOffset(Label* label, ptrdiff_t offset) {
65 label->Bind(offset);
67 for (Label::LabelLinksIterator it(label); !it.Done(); it.Advance()) {
70 link->SetImmPCOffsetTarget(GetLabelAddress<Instruction*>(label));
72 label->ClearAllLinks();
78 // The offset is calculated by aligning the PC and label addresses down to a
82 ptrdiff_t Assembler::LinkAndGetOffsetTo(Label* label) {
85 if (label->IsBound()) {
87 uintptr_t label_offset = GetLabelAddress<uintptr_t>(label) >> element_shift;
90 label->AddLink(GetBuffer()->GetCursorOffset());
96 ptrdiff_t Assembler::LinkAndGetByteOffsetTo(Label* label) {
97 return LinkAndGetOffsetTo<0>(label);
101 ptrdiff_t Assembler::LinkAndGetInstructionOffsetTo(Label* label) {
102 return LinkAndGetOffsetTo<kInstructionSizeLog2>(label);
106 ptrdiff_t Assembler::LinkAndGetPageOffsetTo(Label* label) {
107 return LinkAndGetOffsetTo<kPageSizeLog2>(label);
267 void Assembler::b(Label* label) {
268 int64_t offset = LinkAndGetInstructionOffsetTo(label);
274 void Assembler::b(Label* label, Condition cond) {
275 int64_t offset = LinkAndGetInstructionOffsetTo(label);
284 void Assembler::bl(Label* label) {
285 int64_t offset = LinkAndGetInstructionOffsetTo(label);
296 void Assembler::cbz(const Register& rt, Label* label) {
297 int64_t offset = LinkAndGetInstructionOffsetTo(label);
308 void Assembler::cbnz(const Register& rt, Label* label) {
309 int64_t offset = LinkAndGetInstructionOffsetTo(label);
427 void Assembler::tbz(const Register& rt, unsigned bit_pos, Label* label) {
428 ptrdiff_t offset = LinkAndGetInstructionOffsetTo(label);
440 void Assembler::tbnz(const Register& rt, unsigned bit_pos, Label* label) {
441 ptrdiff_t offset = LinkAndGetInstructionOffsetTo(label);
453 void Assembler::adr(const Register& xd, Label* label) {
454 adr(xd, static_cast<int>(LinkAndGetByteOffsetTo(label)));
464 void Assembler::adrp(const Register& xd, Label* label) {
466 adrp(xd, static_cast<int>(LinkAndGetPageOffsetTo(label)));