Lines Matching refs:label

90 void Thumb2Assembler::BindLabel(Label* label, uint32_t bound_pc) {
91 CHECK(!label->IsBound());
93 while (label->IsLinked()) {
94 FixupId fixup_id = label->Position(); // The id for linked Fixup.
100 label->position_ = next; // Move to next.
102 label->BindTo(bound_pc);
109 Label* label = lit.GetLabel();
110 BindLabel(label, code_size);
118 Label* label = table.GetLabel();
119 BindLabel(label, code_size);
190 Label* label = literal.GetLabel();
191 DCHECK(label->IsBound());
192 int old_position = label->Position();
193 label->Reinitialize();
194 label->BindTo(old_position + literals_adjustment);
197 Label* label = table.GetLabel();
198 DCHECK(label->IsBound());
199 int old_position = label->Position();
200 label->Reinitialize();
201 label->BindTo(old_position + literals_adjustment);
282 // Ensure that the label was tracked, so that it will have the right position.
1136 void Thumb2Assembler::b(Label* label, Condition cond) {
1138 EmitBranch(cond, label, false, false);
1142 void Thumb2Assembler::bl(Label* label, Condition cond) {
1144 EmitBranch(cond, label, true, false);
1148 void Thumb2Assembler::blx(Label* label) {
1149 EmitBranch(AL, label, true, true);
1153 void Thumb2Assembler::MarkExceptionHandler(Label* label) {
1157 EmitBranch(AL, label, false, false);
2546 void Thumb2Assembler::EmitBranch(Condition cond, Label* label, bool link, bool x) {
2562 if (!use32bit && label->IsBound() && pc - label->Position() > kMaxT2BackwardDistance) {
2570 if (!use32bit && label->IsBound() && pc - label->Position() > kMaxT1BackwardDistance) {
2578 if (label->IsBound()) {
2579 // The branch is to a bound label which means that it's a backwards branch.
2580 GetFixup(branch_id)->Resolve(label->Position());
2583 // Branch target is an unbound label. Add it to a singly-linked list maintained within
2584 // the code with the label serving as the head.
2585 Emit16(static_cast<uint16_t>(label->position_));
2586 label->LinkTo(branch_id);
3199 void Thumb2Assembler::cbz(Register rn, Label* label) {
3201 if (label->IsBound()) {
3208 uint16_t branchid = EmitCompareAndBranch(rn, static_cast<uint16_t>(label->position_), false);
3209 label->LinkTo(branchid);
3214 void Thumb2Assembler::cbnz(Register rn, Label* label) {
3216 if (label->IsBound()) {
3223 uint16_t branchid = EmitCompareAndBranch(rn, static_cast<uint16_t>(label->position_), true);
3224 label->LinkTo(branchid);
3272 void Thumb2Assembler::Bind(Label* label) {
3273 BindLabel(label, buffer_.Size());
3831 void Thumb2Assembler::CompareAndBranchIfZero(Register r, Label* label) {
3832 if (CanRelocateBranches() && IsLowRegister(r) && !label->IsBound()) {
3833 cbz(r, label);
3836 b(label, EQ);
3841 void Thumb2Assembler::CompareAndBranchIfNonZero(Register r, Label* label) {
3842 if (CanRelocateBranches() && IsLowRegister(r) && !label->IsBound()) {
3843 cbnz(r, label);
3846 b(label, NE);
3877 // label.