Home | History | Annotate | Download | only in seccomp-bpf

Lines Matching full:instruction

13 #include "sandbox/linux/seccomp-bpf/instruction.h"
18 typedef std::vector<Instruction*> Instructions;
20 typedef std::map<const Instruction*, int> BranchTargets;
21 typedef std::map<const Instruction*, BasicBlock*> TargetsToBlocks;
27 // the limit of 255 instructions imposed by the instruction set.
37 // Instruction *dag, *branch;
64 // Create a new instruction. Instructions form a DAG. The instruction objects
68 Instruction* MakeInstruction(uint16_t code,
70 Instruction* next = NULL);
71 Instruction* MakeInstruction(uint16_t code, const ErrorCode& err);
72 Instruction* MakeInstruction(uint16_t code,
74 Instruction* jt,
75 Instruction* jf);
80 void JoinInstructions(Instruction* head, Instruction* tail);
82 // Traverse the graph of instructions and visit each instruction once.
86 // The "fnc" function gets called with both the instruction and the opaque
88 void Traverse(Instruction*, void (*fnc)(Instruction*, void* aux), void* aux);
93 void Compile(Instruction* instructions, SandboxBPF::Program* program);
99 void FindBranchTargets(const Instruction& instructions,
104 // target is the very first instruction; furthermore, any BPF_JMP or BPF_RET
105 // instruction must be at the very end of the basic block.
106 BasicBlock* MakeBasicBlock(Instruction* head, Instruction* tail);
110 void AddBasicBlock(Instruction* head,
111 Instruction* tail,
117 BasicBlock* CutGraphIntoBasicBlocks(Instruction* instructions,