Lines Matching refs:instr

205 		uint8_t *instr, *limit;  in fbt_provide_module()  local
284 instr = (uint8_t *)sym->st_value; in fbt_provide_module()
288 while (instr < limit) { in fbt_provide_module()
289 if (*instr == FBT_PUSHL_EBP) in fbt_provide_module()
292 if ((size = dtrace_instr_size(instr)) <= 0) in fbt_provide_module()
295 instr += size; in fbt_provide_module()
298 if (instr >= limit || *instr != FBT_PUSHL_EBP) { in fbt_provide_module()
307 if (instr[0] != FBT_PUSHL_EBP) in fbt_provide_module()
310 if (!(instr[1] == FBT_MOVL_ESP_EBP0_V0 && in fbt_provide_module()
311 instr[2] == FBT_MOVL_ESP_EBP1_V0) && in fbt_provide_module()
312 !(instr[1] == FBT_MOVL_ESP_EBP0_V1 && in fbt_provide_module()
313 instr[2] == FBT_MOVL_ESP_EBP1_V1)) in fbt_provide_module()
321 fbt->fbtp_patchpoint = instr; in fbt_provide_module()
325 fbt->fbtp_savedval = *instr; in fbt_provide_module()
328 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)]; in fbt_provide_module()
330 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt; in fbt_provide_module()
336 if (instr >= limit) in fbt_provide_module()
344 if ((size = dtrace_instr_size(instr)) <= 0) in fbt_provide_module()
353 if (*instr != FBT_RET) { in fbt_provide_module()
354 instr += size; in fbt_provide_module()
359 (*instr == FBT_POPL_EBP || *instr == FBT_LEAVE) && in fbt_provide_module()
360 (*(instr + 1) == FBT_RET || in fbt_provide_module()
361 *(instr + 1) == FBT_RET_IMM16))) { in fbt_provide_module()
362 instr += size; in fbt_provide_module()
379 uintptr_t check = (uintptr_t)instr - j; in fbt_provide_module()
391 instr += size; in fbt_provide_module()
411 fbt->fbtp_patchpoint = instr; in fbt_provide_module()
416 if (*instr == FBT_POPL_EBP) { in fbt_provide_module()
419 ASSERT(*instr == FBT_LEAVE); in fbt_provide_module()
423 (uintptr_t)(instr - (uint8_t *)sym->st_value) + 1; in fbt_provide_module()
426 ASSERT(*instr == FBT_RET); in fbt_provide_module()
429 (uintptr_t)(instr - (uint8_t *)sym->st_value); in fbt_provide_module()
432 fbt->fbtp_savedval = *instr; in fbt_provide_module()
434 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)]; in fbt_provide_module()
436 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt; in fbt_provide_module()
440 instr += size; in fbt_provide_module()