Lines Matching refs:Insts
126 SmallVectorImpl<uint32_t> &Insts) { in emitInstrForIndirectJump() argument
131 Insts.push_back(JMP_INST(0, LO10(Addr), scratch)); in emitInstrForIndirectJump()
132 Insts.push_back(NOP_INST); in emitInstrForIndirectJump()
140 Insts.push_back(SETHI_INST(HI22(Addr), scratch)); in emitInstrForIndirectJump()
141 Insts.push_back(JMP_INST(scratch, LO10(Addr), scratch)); in emitInstrForIndirectJump()
142 Insts.push_back(SUB_INST(scratch, 4, scratch)); in emitInstrForIndirectJump()
151 Insts.push_back(SETHI_INST(HIX22(Addr), scratch)); in emitInstrForIndirectJump()
152 Insts.push_back(XOR_INST(scratch, LOX10(Addr), scratch)); in emitInstrForIndirectJump()
153 Insts.push_back(JMP_INST(scratch, 0, scratch)); in emitInstrForIndirectJump()
154 Insts.push_back(SUB_INST(scratch, 8, scratch)); in emitInstrForIndirectJump()
163 Insts.push_back(RDPC_INST(scratch)); in emitInstrForIndirectJump()
164 Insts.push_back(LDX_INST(scratch, 16, scratch)); in emitInstrForIndirectJump()
165 Insts.push_back(JMP_INST(scratch, 0, scratch)); in emitInstrForIndirectJump()
166 Insts.push_back(SUB_INST(scratch, 8, scratch)); in emitInstrForIndirectJump()
167 Insts.push_back((uint32_t)(((int64_t)Addr) >> 32) & 0xffffffff); in emitInstrForIndirectJump()
168 Insts.push_back((uint32_t)(Addr & 0xffffffff)); in emitInstrForIndirectJump()
196 SmallVector<uint32_t, 8> Insts; in SparcCompilationCallbackC() local
200 Insts.push_back(BA_INST(diff)); in SparcCompilationCallbackC()
201 Insts.push_back(NOP_INST); in SparcCompilationCallbackC()
204 emitInstrForIndirectJump(NewVal, 1, Insts); in SparcCompilationCallbackC()
207 for (unsigned i = 0, e = Insts.size(); i != e; ++i) in SparcCompilationCallbackC()
208 *(uint32_t *)(StubAddr + i*4) = Insts[i]; in SparcCompilationCallbackC()
210 sys::Memory::InvalidateInstructionCache((void*) StubAddr, Insts.size() * 4); in SparcCompilationCallbackC()
237 SmallVector<uint32_t, 8> Insts; in emitFunctionStub() local
242 Insts.push_back(BA_INST(diff)); in emitFunctionStub()
243 Insts.push_back(NOP_INST); in emitFunctionStub()
249 if (Insts.size() == 0) in emitFunctionStub()
250 emitInstrForIndirectJump(EmittedAddr, 1, Insts); in emitFunctionStub()
253 if (!sys::Memory::setRangeWritable(Addr, 4 * Insts.size())) in emitFunctionStub()
256 for (unsigned i = 0, e = Insts.size(); i != e; ++i) in emitFunctionStub()
257 JCE.emitWordBE(Insts[i]); in emitFunctionStub()
259 sys::Memory::InvalidateInstructionCache(Addr, 4 * Insts.size()); in emitFunctionStub()
260 if (!sys::Memory::setRangeExecutable(Addr, 4 * Insts.size())) in emitFunctionStub()