Lines Matching refs:num_nops

238   std::vector<uint8_t> GenNops(size_t num_nops) {  in GenNops()  argument
240 result.reserve(num_nops * 4u); in GenNops()
241 for (size_t i = 0; i != num_nops; ++i) { in GenNops()
247 std::vector<uint8_t> GenNopsAndBl(size_t num_nops, uint32_t bl) { in GenNopsAndBl() argument
249 result.reserve(num_nops * 4u + 4u); in GenNopsAndBl()
250 for (size_t i = 0; i != num_nops; ++i) { in GenNopsAndBl()
257 std::vector<uint8_t> GenNopsAndAdrpAndUse(size_t num_nops, in GenNopsAndAdrpAndUse() argument
262 result.reserve(num_nops * 4u + 8u); in GenNopsAndAdrpAndUse()
263 for (size_t i = 0; i != num_nops; ++i) { in GenNopsAndAdrpAndUse()
268 uint32_t adrp_offset = method_offset + num_nops * 4u; in GenNopsAndAdrpAndUse()
290 std::vector<uint8_t> GenNopsAndAdrpLdr(size_t num_nops, in GenNopsAndAdrpLdr() argument
293 return GenNopsAndAdrpAndUse(num_nops, method_offset, target_offset, kLdrWInsn); in GenNopsAndAdrpLdr()
296 void TestNopsAdrpLdr(size_t num_nops, uint32_t bss_begin, uint32_t string_entry_offset) { in TestNopsAdrpLdr() argument
300 auto code = GenNopsAndAdrpLdr(num_nops, 0u, 0u); // Unpatched. in TestNopsAdrpLdr()
302 LinkerPatch::StringBssEntryPatch(num_nops * 4u , nullptr, num_nops * 4u, kStringIndex), in TestNopsAdrpLdr()
303 LinkerPatch::StringBssEntryPatch(num_nops * 4u + 4u, nullptr, num_nops * 4u, kStringIndex), in TestNopsAdrpLdr()
312 auto expected_code = GenNopsAndAdrpLdr(num_nops, method1_offset, target_offset); in TestNopsAdrpLdr()
316 std::vector<uint8_t> GenNopsAndAdrpAdd(size_t num_nops, in GenNopsAndAdrpAdd() argument
319 return GenNopsAndAdrpAndUse(num_nops, method_offset, target_offset, kAddXInsn); in GenNopsAndAdrpAdd()
322 void TestNopsAdrpAdd(size_t num_nops, uint32_t string_offset) { in TestNopsAdrpAdd() argument
325 auto code = GenNopsAndAdrpAdd(num_nops, 0u, 0u); // Unpatched. in TestNopsAdrpAdd()
327 LinkerPatch::RelativeStringPatch(num_nops * 4u , nullptr, num_nops * 4u, kStringIndex), in TestNopsAdrpAdd()
328 LinkerPatch::RelativeStringPatch(num_nops * 4u + 4u, nullptr, num_nops * 4u, kStringIndex), in TestNopsAdrpAdd()
336 auto expected_code = GenNopsAndAdrpAdd(num_nops, method1_offset, string_offset); in TestNopsAdrpAdd()
340 void PrepareNopsAdrpInsn2Ldr(size_t num_nops, in PrepareNopsAdrpInsn2Ldr() argument
347 auto code = GenNopsAndAdrpLdr(num_nops, 0u, 0u); // Unpatched. in PrepareNopsAdrpInsn2Ldr()
348 InsertInsn(&code, num_nops * 4u + 4u, insn2); in PrepareNopsAdrpInsn2Ldr()
350 LinkerPatch::StringBssEntryPatch(num_nops * 4u , nullptr, num_nops * 4u, kStringIndex), in PrepareNopsAdrpInsn2Ldr()
351 LinkerPatch::StringBssEntryPatch(num_nops * 4u + 8u, nullptr, num_nops * 4u, kStringIndex), in PrepareNopsAdrpInsn2Ldr()
359 void PrepareNopsAdrpInsn2Add(size_t num_nops, uint32_t insn2, uint32_t string_offset) { in PrepareNopsAdrpInsn2Add() argument
362 auto code = GenNopsAndAdrpAdd(num_nops, 0u, 0u); // Unpatched. in PrepareNopsAdrpInsn2Add()
363 InsertInsn(&code, num_nops * 4u + 4u, insn2); in PrepareNopsAdrpInsn2Add()
365 LinkerPatch::RelativeStringPatch(num_nops * 4u , nullptr, num_nops * 4u, kStringIndex), in PrepareNopsAdrpInsn2Add()
366 LinkerPatch::RelativeStringPatch(num_nops * 4u + 8u, nullptr, num_nops * 4u, kStringIndex), in PrepareNopsAdrpInsn2Add()
374 void TestNopsAdrpInsn2AndUse(size_t num_nops, in TestNopsAdrpInsn2AndUse() argument
379 auto expected_code = GenNopsAndAdrpAndUse(num_nops, method1_offset, target_offset, use_insn); in TestNopsAdrpInsn2AndUse()
380 InsertInsn(&expected_code, num_nops * 4u + 4u, insn2); in TestNopsAdrpInsn2AndUse()
384 void TestNopsAdrpInsn2AndUseHasThunk(size_t num_nops, in TestNopsAdrpInsn2AndUseHasThunk() argument
395 uint32_t b_diff = thunk_offset - (method1_offset + num_nops * 4u); in TestNopsAdrpInsn2AndUseHasThunk()
401 auto expected_code = GenNopsAndAdrpAndUse(num_nops, method1_offset, target_offset, use_insn); in TestNopsAdrpInsn2AndUseHasThunk()
402 InsertInsn(&expected_code, num_nops * 4u + 4u, insn2); in TestNopsAdrpInsn2AndUseHasThunk()
404 expected_code.erase(expected_code.begin() + num_nops * 4u, in TestNopsAdrpInsn2AndUseHasThunk()
405 expected_code.begin() + num_nops * 4u + 4u); in TestNopsAdrpInsn2AndUseHasThunk()
406 InsertInsn(&expected_code, num_nops * 4u, b_out); in TestNopsAdrpInsn2AndUseHasThunk()
434 uint32_t num_nops = (adrp_offset - method1_offset) / 4u; in TestAdrpInsn2Ldr() local
435 PrepareNopsAdrpInsn2Ldr(num_nops, insn2, bss_begin, string_entry_offset); in TestAdrpInsn2Ldr()
438 TestNopsAdrpInsn2AndUseHasThunk(num_nops, insn2, target_offset, kLdrWInsn); in TestAdrpInsn2Ldr()
440 TestNopsAdrpInsn2AndUse(num_nops, insn2, target_offset, kLdrWInsn); in TestAdrpInsn2Ldr()
484 uint32_t num_nops = (adrp_offset - method1_offset) / 4u; in TestAdrpInsn2Add() local
485 PrepareNopsAdrpInsn2Add(num_nops, insn2, string_offset); in TestAdrpInsn2Add()
487 TestNopsAdrpInsn2AndUseHasThunk(num_nops, insn2, string_offset, kAddXInsn); in TestAdrpInsn2Add()
489 TestNopsAdrpInsn2AndUse(num_nops, insn2, string_offset, kAddXInsn); in TestAdrpInsn2Add()