Lines Matching refs:Instructions
19 typedef std::vector<Instruction *> Instructions;
26 // graph of BPF instructions into a well-formed stream of BPF instructions.
28 // the limit of 255 instructions imposed by the instruction set.
31 // build a DAG of Instructions. They'll eventually call Compile() to convert
34 // Instructions can be chained at the time when they are created, or they
65 // Create a new instruction. Instructions form a DAG. The instruction objects
75 // Join two (sequences of) instructions. This is useful, if the "next"
80 // Traverse the graph of instructions and visit each instruction once.
89 // Compiles the graph of instructions into a BPF program that can be passed
92 void Compile(Instruction *instructions, Sandbox::Program *program);
97 // Find all the instructions that are the target of BPF_JMPs.
98 void FindBranchTargets(const Instruction& instructions,
101 // Combine instructions between "head" and "tail" into a new basic block.
102 // Basic blocks are defined as sequences of instructions whose only branch
113 // Cuts the DAG of instructions into basic blocks.
114 BasicBlock *CutGraphIntoBasicBlocks(Instruction *instructions,
132 // Convert jt_ptr_ and jf_ptr_ fields in BPF_JMP instructions to valid
133 // jt_ and jf_ jump offsets. This can result in BPF_JA instructions being
134 // inserted, if we need to jump over more than 256 instructions.
138 // Concatenate instructions from all basic blocks into a BPF program that
142 // We stick all instructions and basic blocks into pools that get destroyed
146 Instructions instructions_;