Home | History | Annotate | Download | only in src

Lines Matching full:opcode

139 // The VCDiff format allows each opcode to represent either
141 // examine the opcode generated by the last call to EncodeInstruction.
142 // If that opcode was a single-instruction opcode, this function checks
143 // whether there is a compound (double-instruction) opcode that can
146 // single-instruction opcode at position last_opcode_index_ will be
147 // overwritten with the new double-instruction opcode.
149 // In the majority of cases, no compound opcode will be possible,
150 // and a new single-instruction opcode will be appended to
152 // if the opcode does not implicitly give the instruction size.
155 // of which contains the opcode 0x02 (ADD size 1). Because that was the
156 // most recently added opcode, last_opcode_index_ has the value 10.
158 // The function will replace the old opcode 0x02 with the double-instruction
159 // opcode 0xA3 (ADD size 1 + COPY size 4 mode 0).
164 // from the opcode. If a custom code table were used that did not have
166 // double-instruction opcode (say, COPY size 0 mode 0 + ADD size 0)
170 // [Compound Opcode][Size of COPY][Address of COPY][Size of ADD]
205 // Try finding a compound opcode with size 0.
218 OpcodeOrNone opcode = kNoOpcode;
220 opcode =
224 if (opcode != kNoOpcode) {
225 instructions_and_sizes_.push_back(static_cast<char>(opcode));
230 // There should always be an opcode with size 0.
231 opcode = instruction_map_->LookupFirstOpcode(inst, 0, mode);
232 if (opcode == kNoOpcode) {
233 VCD_DFATAL << "No matching opcode found for inst " << inst
237 instructions_and_sizes_.push_back(static_cast<char>(opcode));