Lines Matching refs:pos
323 ASSERT(pc_ <= reloc_info_writer.pos()); // No overlap.
328 desc->reloc_size = (buffer_ + buffer_size_) - reloc_info_writer.pos();
470 // generated code. pos() is the position the label refers to.
473 // to be generated; pos() is the position of the last
648 int Assembler::target_at(int32_t pos) {
649 Instr instr = instr_at(pos);
656 return (imm18 + pos);
667 // EndOfChain sentinel is returned directly, not relative to pc or pos.
670 return pos + kBranchPCOffset + imm18;
673 Instr instr_lui = instr_at(pos + 0 * Assembler::kInstrSize);
674 Instr instr_ori = instr_at(pos + 1 * Assembler::kInstrSize);
680 // EndOfChain sentinel is returned directly, not relative to pc or pos.
683 uint32_t instr_address = reinterpret_cast<int32_t>(buffer_ + pos);
685 ASSERT(pos > delta);
686 return pos - delta;
691 // EndOfChain sentinel is returned directly, not relative to pc or pos.
694 uint32_t instr_address = reinterpret_cast<int32_t>(buffer_ + pos);
697 ASSERT(pos > delta);
698 return pos - delta;
704 void Assembler::target_at_put(int32_t pos, int32_t target_pos) {
705 Instr instr = instr_at(pos);
710 instr_at_put(pos, target_pos + (Code::kHeaderSize - kHeapObjectTag));
716 int32_t imm18 = target_pos - (pos + kBranchPCOffset);
723 instr_at_put(pos, instr | (imm16 & kImm16Mask));
725 Instr instr_lui = instr_at(pos + 0 * Assembler::kInstrSize);
726 Instr instr_ori = instr_at(pos + 1 * Assembler::kInstrSize);
734 instr_at_put(pos + 0 * Assembler::kInstrSize,
736 instr_at_put(pos + 1 * Assembler::kInstrSize,
747 instr_at_put(pos, instr | (imm26 & kImm26Mask));
756 PrintF("bound label to %d\n", L->pos());
761 PrintF("@ %d ", l.pos());
762 Instr instr = instr_at(l.pos());
771 PrintF("label in inconsistent state (pos = %d)\n", L->pos_);
776 void Assembler::bind_to(Label* L, int pos) {
777 ASSERT(0 <= pos && pos <= pc_offset()); // Must have valid binding position.
785 int32_t fixup_pos = L->pos();
786 int32_t dist = pos - fixup_pos;
798 dist = pos - fixup_pos;
800 target_at_put(fixup_pos, pos);
803 target_at_put(fixup_pos, pos);
806 L->bind_to(pos);
810 if (pos > last_bound_pos_)
811 last_bound_pos_ = pos;
823 int link = target_at(L->pos());
835 return ((pc_offset() - L->pos()) < kMaxBranchOffset - 4 * kInstrSize);
971 int32_t Assembler::get_trampoline_entry(int32_t pos) {
975 if (trampoline_.start() > pos) {
991 target_pos = L->pos();
994 target_pos = L->pos(); // L's link.
1013 target_pos = L->pos();
1016 target_pos = L->pos();
1039 target_pos = L->pos();
1043 target_pos = L->pos(); // L's link.
1610 void Assembler::ins_(Register rt, Register rs, uint16_t pos, uint16_t size) {
1614 GenInstrRegister(SPECIAL3, rs, rt, pos + size - 1, pos, INS);
1618 void Assembler::ext_(Register rt, Register rs, uint16_t pos, uint16_t size) {
1622 GenInstrRegister(SPECIAL3, rs, rt, size - 1, pos, EXT);
1991 desc.reloc_size = (buffer_ + buffer_size_) - reloc_info_writer.pos();
1997 OS::MemMove(reloc_info_writer.pos() + rc_delta,
1998 reloc_info_writer.pos(), desc.reloc_size);
2005 reloc_info_writer.Reposition(reloc_info_writer.pos() + rc_delta,