Lines Matching refs:pos
339 ASSERT(pc_ <= reloc_info_writer.pos()); // No overlap.
344 desc->reloc_size = (buffer_ + buffer_size_) - reloc_info_writer.pos();
485 // generated code. pos() is the position the label refers to.
488 // to be generated; pos() is the position of the last
654 int Assembler::target_at(int32_t pos) {
655 Instr instr = instr_at(pos);
662 return (imm18 + pos);
673 // EndOfChain sentinel is returned directly, not relative to pc or pos.
676 return pos + kBranchPCOffset + imm18;
679 Instr instr_lui = instr_at(pos + 0 * Assembler::kInstrSize);
680 Instr instr_ori = instr_at(pos + 1 * Assembler::kInstrSize);
686 // EndOfChain sentinel is returned directly, not relative to pc or pos.
689 uint32_t instr_address = reinterpret_cast<int32_t>(buffer_ + pos);
691 ASSERT(pos > delta);
692 return pos - delta;
697 // EndOfChain sentinel is returned directly, not relative to pc or pos.
700 uint32_t instr_address = reinterpret_cast<int32_t>(buffer_ + pos);
703 ASSERT(pos > delta);
704 return pos - delta;
710 void Assembler::target_at_put(int32_t pos, int32_t target_pos) {
711 Instr instr = instr_at(pos);
716 instr_at_put(pos, target_pos + (Code::kHeaderSize - kHeapObjectTag));
722 int32_t imm18 = target_pos - (pos + kBranchPCOffset);
729 instr_at_put(pos, instr | (imm16 & kImm16Mask));
731 Instr instr_lui = instr_at(pos + 0 * Assembler::kInstrSize);
732 Instr instr_ori = instr_at(pos + 1 * Assembler::kInstrSize);
740 instr_at_put(pos + 0 * Assembler::kInstrSize,
742 instr_at_put(pos + 1 * Assembler::kInstrSize,
753 instr_at_put(pos, instr | (imm26 & kImm26Mask));
762 PrintF("bound label to %d\n", L->pos());
767 PrintF("@ %d ", l.pos());
768 Instr instr = instr_at(l.pos());
777 PrintF("label in inconsistent state (pos = %d)\n", L->pos_);
782 void Assembler::bind_to(Label* L, int pos) {
783 ASSERT(0 <= pos && pos <= pc_offset()); // Must have valid binding position.
791 int32_t fixup_pos = L->pos();
792 int32_t dist = pos - fixup_pos;
804 dist = pos - fixup_pos;
806 target_at_put(fixup_pos, pos);
809 target_at_put(fixup_pos, pos);
812 L->bind_to(pos);
816 if (pos > last_bound_pos_)
817 last_bound_pos_ = pos;
829 int link = target_at(L->pos());
840 return ((pc_offset() - L->pos()) < kMaxBranchOffset - 4 * kInstrSize);
966 int32_t Assembler::get_trampoline_entry(int32_t pos) {
970 if (trampoline_.start() > pos) {
986 target_pos = L->pos();
989 target_pos = L->pos(); // L's link.
1008 target_pos = L->pos();
1011 target_pos = L->pos();
1034 target_pos = L->pos();
1038 target_pos = L->pos(); // L's link.
1603 void Assembler::ins_(Register rt, Register rs, uint16_t pos, uint16_t size) {
1607 GenInstrRegister(SPECIAL3, rs, rt, pos + size - 1, pos, INS);
1611 void Assembler::ext_(Register rt, Register rs, uint16_t pos, uint16_t size) {
1615 GenInstrRegister(SPECIAL3, rs, rt, size - 1, pos, EXT);
1980 desc.reloc_size = (buffer_ + buffer_size_) - reloc_info_writer.pos();
1986 memmove(reloc_info_writer.pos() + rc_delta,
1987 reloc_info_writer.pos(), desc.reloc_size);
1994 reloc_info_writer.Reposition(reloc_info_writer.pos() + rc_delta,