Lines Matching refs:insns
1282 optimize_pass1(const bpf_ctx_t *bc, const struct bpf_insn *insns,
1311 if (read_pkt_insn(&insns[i], &length) && length > UINT32_MAX)
1314 switch (BPF_CLASS(insns[i].code)) {
1316 if (BPF_RVAL(insns[i].code) == BPF_A)
1323 if (BPF_MODE(insns[i].code) == BPF_ABS)
1326 if (BPF_MODE(insns[i].code) == BPF_IND) {
1331 if (BPF_MODE(insns[i].code) == BPF_MEM &&
1332 (uint32_t)insns[i].k < memwords) {
1333 *initmask |= invalid & BJ_INIT_MBIT(insns[i].k);
1342 if (BPF_MODE(insns[i].code) == BPF_MEM &&
1343 (uint32_t)insns[i].k < memwords) {
1344 *initmask |= invalid & BJ_INIT_MBIT(insns[i].k);
1347 if (BPF_MODE(insns[i].code) == BPF_MSH &&
1348 BPF_SIZE(insns[i].code) == BPF_B) {
1358 if ((uint32_t)insns[i].k < memwords)
1359 invalid &= ~BJ_INIT_MBIT(insns[i].k);
1367 if ((uint32_t)insns[i].k < memwords)
1368 invalid &= ~BJ_INIT_MBIT(insns[i].k);
1375 if (insns[i].code != (BPF_ALU|BPF_NEG) &&
1376 BPF_SRC(insns[i].code) == BPF_X) {
1385 switch (BPF_MISCOP(insns[i].code)) {
1417 if (BPF_SRC(insns[i].code) == BPF_X) {
1422 if (BPF_OP(insns[i].code) == BPF_JA) {
1423 jt = jf = insns[i].k;
1425 jt = insns[i].jt;
1426 jf = insns[i].jf;
1467 optimize_pass2(const bpf_ctx_t *bc, const struct bpf_insn *insns,
1479 pc = &insns[i-1];
1547 optimize_pass3(const struct bpf_insn *insns,
1563 if (BPF_CLASS(insns[i].code) == BPF_JMP) {
1565 } else if (read_pkt_insn(&insns[i], NULL)) {
1578 optimize(const bpf_ctx_t *bc, const struct bpf_insn *insns,
1585 if (!optimize_pass1(bc, insns, insn_dat, insn_count, initmask, hints))
1588 optimize_pass2(bc, insns, insn_dat, insn_count);
1589 optimize_pass3(insns, insn_dat, insn_count);
1698 const bpf_ctx_t *bc, const struct bpf_insn *insns,
1735 BPF_CLASS(insns[i].code) != BPF_JMP) {
1765 if (read_pkt_insn(&insns[i], NULL)) {
1794 pc = &insns[i];
2154 const struct bpf_insn *insns, size_t insn_count)
2190 if (!optimize(bc, insns, insn_dat, insn_count, &initmask, &hints))
2289 bc, insns, insn_dat, insn_count)) {