Lines Matching refs:CodeGen

77 TEST(CodeGen, HashSanity) {  in TEST()  argument
114 CodeGen::Node MakeInstruction(uint16_t code, in MakeInstruction()
116 CodeGen::Node jt = CodeGen::kNullNode, in MakeInstruction()
117 CodeGen::Node jf = CodeGen::kNullNode) { in MakeInstruction()
118 CodeGen::Node res = gen_.MakeInstruction(code, k, jt, jf); in MakeInstruction()
119 EXPECT_NE(CodeGen::kNullNode, res); in MakeInstruction()
131 void RunTest(CodeGen::Node head) { in RunTest()
133 CodeGen::Program program = gen_.Compile(head); in RunTest()
160 const Hash& Lookup(CodeGen::Node next) const { in Lookup()
161 if (next == CodeGen::kNullNode) { in Lookup()
172 CodeGen gen_;
173 std::map<CodeGen::Node, Hash> node_hashes_;
181 CodeGen::Node head = MakeInstruction(BPF_RET + BPF_K, 0); in TEST_F()
190 CodeGen::Node head = MakeInstruction(BPF_JMP + BPF_JEQ + BPF_K, 42, in TEST_F()
201 CodeGen::Node ret = MakeInstruction(BPF_RET + BPF_K, 0); in TEST_F()
202 CodeGen::Node head = MakeInstruction(BPF_JMP + BPF_JEQ + BPF_K, 42, ret, ret); in TEST_F()
220 CodeGen::Node insn0 = MakeInstruction(BPF_RET + BPF_K, 42); in TEST_F()
221 CodeGen::Node insn1 = MakeInstruction(BPF_LD + BPF_W + BPF_ABS, 42, insn0); in TEST_F()
222 CodeGen::Node insn2 = insn1; // Implicit JUMP in TEST_F()
225 CodeGen::Node insn3 = MakeInstruction(BPF_LD + BPF_W + BPF_ABS, 42, in TEST_F()
229 CodeGen::Node insn4 = in TEST_F()
231 CodeGen::Node insn5 = MakeInstruction(BPF_LD + BPF_W + BPF_ABS, 23, insn4); in TEST_F()
239 CodeGen::Node insn6 = in TEST_F()
264 CodeGen::Node i7 = MakeInstruction(BPF_RET + BPF_K, 1); in TEST_F()
265 CodeGen::Node i6 = MakeInstruction(BPF_RET + BPF_K, 0); in TEST_F()
266 CodeGen::Node i5 = MakeInstruction(BPF_JMP + BPF_JEQ + BPF_K, 1, i6, i7); in TEST_F()
267 CodeGen::Node i4 = MakeInstruction(BPF_LD + BPF_W + BPF_ABS, 0, i5); in TEST_F()
268 CodeGen::Node i3 = MakeInstruction(BPF_JMP + BPF_JEQ + BPF_K, 2, i4, i5); in TEST_F()
269 CodeGen::Node i2 = MakeInstruction(BPF_LD + BPF_W + BPF_ABS, 0, i3); in TEST_F()
270 CodeGen::Node i1 = MakeInstruction(BPF_JMP + BPF_JEQ + BPF_K, 1, i2, i3); in TEST_F()
271 CodeGen::Node i0 = MakeInstruction(BPF_LD + BPF_W + BPF_ABS, 1, i1); in TEST_F()
288 CodeGen::Node i5 = MakeInstruction(BPF_RET + BPF_K, 1); in TEST_F()
289 CodeGen::Node i4 = MakeInstruction(BPF_LD + BPF_W + BPF_ABS, 0, i5); in TEST_F()
290 CodeGen::Node i3 = MakeInstruction(BPF_JMP + BPF_JEQ + BPF_K, 2, i4, i5); in TEST_F()
291 CodeGen::Node i2 = MakeInstruction(BPF_LD + BPF_W + BPF_ABS, 0, i3); in TEST_F()
292 CodeGen::Node i1 = MakeInstruction(BPF_JMP + BPF_JEQ + BPF_K, 1, i2, i3); in TEST_F()
293 CodeGen::Node i0 = MakeInstruction(BPF_LD + BPF_W + BPF_ABS, 1, i1); in TEST_F()
314 CodeGen::Node i7 = MakeInstruction(BPF_RET + BPF_K, 1); in TEST_F()
315 CodeGen::Node i6 = MakeInstruction(BPF_RET + BPF_K, 0); in TEST_F()
316 CodeGen::Node i5 = MakeInstruction(BPF_JMP + BPF_JEQ + BPF_K, 1, i6, i7); in TEST_F()
317 CodeGen::Node i4 = MakeInstruction(BPF_RET + BPF_K, 42); in TEST_F()
318 CodeGen::Node i3 = MakeInstruction(BPF_JMP + BPF_JEQ + BPF_K, 2, i4, i5); in TEST_F()
319 CodeGen::Node i2 = MakeInstruction(BPF_RET + BPF_K, 42); in TEST_F()
320 CodeGen::Node i1 = MakeInstruction(BPF_JMP + BPF_JEQ + BPF_K, 1, i2, i3); in TEST_F()
321 CodeGen::Node i0 = MakeInstruction(BPF_LD + BPF_W + BPF_ABS, 1, i1); in TEST_F()
328 CodeGen::Node a = MakeInstruction(BPF_RET + BPF_K, 0); in TEST_F()
330 CodeGen::Node b = MakeInstruction(BPF_RET + BPF_K, 1); in TEST_F()
336 CodeGen::Node c = in TEST_F()
354 std::vector<CodeGen::Node> nodes; in TEST_F()
381 std::vector<CodeGen::Node> nodes; in TEST_F()
390 CodeGen::Node one = in TEST_F()
397 CodeGen::Node two = in TEST_F()