Lines Matching refs:opcodes

438                           std::vector<BindIR> &opcodes) {  in encodeBinding()  argument
442 opcodes.push_back( in encodeBinding()
449 opcodes.push_back({BIND_OPCODE_ADD_ADDR_ULEB, offset - lastBinding.offset}); in encodeBinding()
454 opcodes.push_back( in encodeBinding()
459 opcodes.push_back({BIND_OPCODE_DO_BIND, 0}); in encodeBinding()
464 static void optimizeOpcodes(std::vector<BindIR> &opcodes) { in optimizeOpcodes() argument
468 for (i = 1; i < opcodes.size(); ++i, ++pWrite) { in optimizeOpcodes()
469 if ((opcodes[i].opcode == BIND_OPCODE_ADD_ADDR_ULEB) && in optimizeOpcodes()
470 (opcodes[i - 1].opcode == BIND_OPCODE_DO_BIND)) { in optimizeOpcodes()
471 opcodes[pWrite].opcode = BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB; in optimizeOpcodes()
472 opcodes[pWrite].data = opcodes[i].data; in optimizeOpcodes()
475 opcodes[pWrite] = opcodes[i - 1]; in optimizeOpcodes()
478 if (i == opcodes.size()) in optimizeOpcodes()
479 opcodes[pWrite] = opcodes[i - 1]; in optimizeOpcodes()
480 opcodes.resize(pWrite + 1); in optimizeOpcodes()
484 for (i = 1; i < opcodes.size(); ++i, ++pWrite) { in optimizeOpcodes()
485 if ((opcodes[i].opcode == BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB) && in optimizeOpcodes()
486 (opcodes[i - 1].opcode == BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB) && in optimizeOpcodes()
487 (opcodes[i].data == opcodes[i - 1].data)) { in optimizeOpcodes()
488 opcodes[pWrite].opcode = BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB; in optimizeOpcodes()
489 opcodes[pWrite].consecutiveCount = 2; in optimizeOpcodes()
490 opcodes[pWrite].data = opcodes[i].data; in optimizeOpcodes()
492 while (i < opcodes.size() && in optimizeOpcodes()
493 (opcodes[i].opcode == BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB) && in optimizeOpcodes()
494 (opcodes[i].data == opcodes[i - 1].data)) { in optimizeOpcodes()
495 opcodes[pWrite].consecutiveCount++; in optimizeOpcodes()
499 opcodes[pWrite] = opcodes[i - 1]; in optimizeOpcodes()
502 if (i == opcodes.size()) in optimizeOpcodes()
503 opcodes[pWrite] = opcodes[i - 1]; in optimizeOpcodes()
504 opcodes.resize(pWrite + 1); in optimizeOpcodes()
511 for (auto &p : opcodes) { in optimizeOpcodes()
649 std::vector<BindIR> opcodes; in finalizeContents() local
653 lastBinding, opcodes); in finalizeContents()
655 optimizeOpcodes(opcodes); in finalizeContents()
656 for (const auto &op : opcodes) in finalizeContents()
683 std::vector<BindIR> opcodes; in finalizeContents() local
687 lastBinding, opcodes); in finalizeContents()
689 optimizeOpcodes(opcodes); in finalizeContents()
690 for (const auto &op : opcodes) in finalizeContents()