Lines Matching defs:instr
225 u_int8_t *instr, *limit;
264 instr = (u_int8_t *) value;
268 while (instr < limit) {
269 if (*instr == FBT_PUSHL_EBP)
272 if ((size = dtrace_instr_size(instr)) <= 0)
275 instr += size;
278 if (instr >= limit || *instr != FBT_PUSHL_EBP) {
287 if (instr[0] != FBT_PUSHL_EBP)
290 if (!(instr[1] == FBT_MOVL_ESP_EBP0_V0 &&
291 instr[2] == FBT_MOVL_ESP_EBP1_V0) &&
292 !(instr[1] == FBT_MOVL_ESP_EBP0_V1 &&
293 instr[2] == FBT_MOVL_ESP_EBP1_V1))
301 fbt->fbtp_patchpoint = instr;
310 fbt->fbtp_savedval = *instr;
314 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
315 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
322 if (instr >= limit)
330 if ((size = dtrace_instr_size(instr)) <= 0)
339 if (*instr != FBT_RET) {
340 instr += size;
345 (*instr == FBT_POPL_EBP || *instr == FBT_LEAVE) &&
346 (*(instr + 1) == FBT_RET ||
347 *(instr + 1) == FBT_RET_IMM16))) {
348 instr += size;
365 caddr_t check = (caddr_t) instr - j;
377 instr += size;
397 fbt->fbtp_patchpoint = instr;
408 if (*instr == FBT_POPL_EBP) {
411 ASSERT(*instr == FBT_LEAVE);
415 (uintptr_t)(instr - (uint8_t *) value) + 1;
418 ASSERT(*instr == FBT_RET);
421 (uintptr_t)(instr - (uint8_t *) value);
424 fbt->fbtp_savedval = *instr;
426 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
427 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
433 instr += size;