Lines Matching refs:byte

155   const InstructionDesc& Get(byte x) const { return instructions_[x]; }
162 void SetTableRange(InstructionType type, byte start, byte end, bool byte_size,
206 void InstructionTable::SetTableRange(InstructionType type, byte start, byte end,
208 for (byte b = start; b <= end; b++) {
218 for (byte b = 0x70; b <= 0x7F; b++) {
311 int InstructionDecode(v8::base::Vector<char> buffer, byte* instruction);
326 byte rex_;
327 byte operand_size_; // 0x66 or (if no group 3 prefix is present) 0x0.
328 byte group_1_prefix_; // 0xF2, 0xF3, or (if no group 1 prefix is present) 0.
329 byte vex_byte0_; // 0xC4 or 0xC5
330 byte vex_byte1_;
331 byte vex_byte2_; // only for 3 bytes vex prefix
336 void setRex(byte rex) {
361 byte checked = vex_byte0_ == VEX3_PREFIX ? vex_byte2_ : vex_byte1_;
367 byte checked = vex_byte0_ == VEX3_PREFIX ? vex_byte2_ : vex_byte1_;
373 byte checked = vex_byte0_ == VEX3_PREFIX ? vex_byte2_ : vex_byte1_;
379 byte checked = vex_byte0_ == VEX3_PREFIX ? vex_byte2_ : vex_byte1_;
385 byte checked = vex_byte0_ == VEX3_PREFIX ? vex_byte2_ : vex_byte1_;
391 byte checked = vex_byte0_ == VEX3_PREFIX ? vex_byte2_ : vex_byte1_;
412 byte checked = vex_byte0_ == VEX3_PREFIX ? vex_byte2_ : vex_byte1_;
447 const char* NameOfAddress(byte* addr) const {
452 void get_modrm(byte data, int* mod, int* regop, int* rm) {
458 void get_sib(byte data, int* scale, int* index, int* base) {
467 int PrintRightOperandHelper(byte* modrmp, RegisterNameMapping register_name);
468 int PrintRightOperand(byte* modrmp);
469 int PrintRightByteOperand(byte* modrmp);
470 int PrintRightXMMOperand(byte* modrmp);
471 int PrintRightAVXOperand(byte* modrmp);
472 int PrintOperands(const char* mnem, OperandType op_order, byte* data);
473 int PrintImmediate(byte* data, OperandSize size);
474 int PrintImmediateOp(byte* data);
475 const char* TwoByteMnemonic(byte opcode);
476 int TwoByteOpcodeInstruction(byte* data);
477 int ThreeByteOpcodeInstruction(byte* data);
478 int F6F7Instruction(byte* data);
479 int ShiftInstruction(byte* data);
480 int JumpShort(byte* data);
481 int JumpConditional(byte* data);
482 int JumpConditionalShort(byte* data);
483 int SetCC(byte* data);
484 int FPUInstruction(byte* data);
485 int MemoryFPUInstruction(int escape_opcode, int regop, byte* modrm_start);
486 int RegisterFPUInstruction(int escape_opcode, byte modrm_byte);
487 int AVXInstruction(byte* data);
514 byte* modrmp, RegisterNameMapping direct_register_name) {
525 // Codes for SIB byte.
526 byte sib = *(modrmp + 1);
530 // index == rsp means no index. Only use sib byte with no index for
556 byte sib = *(modrmp + 1);
590 int DisassemblerX64::PrintImmediate(byte* data, OperandSize size) {
617 int DisassemblerX64::PrintRightOperand(byte* modrmp) {
621 int DisassemblerX64::PrintRightByteOperand(byte* modrmp) {
626 int DisassemblerX64::PrintRightXMMOperand(byte* modrmp) {
630 int DisassemblerX64::PrintRightAVXOperand(byte* modrmp) {
637 byte* data) {
638 byte modrm = *data;
686 // Returns number of bytes used by machine instruction, including *data byte.
688 int DisassemblerX64::PrintImmediateOp(byte* data) {
690 byte modrm = *(data + 1);
732 int DisassemblerX64::F6F7Instruction(byte* data) {
734 byte modrm = *(data + 1);
785 int DisassemblerX64::ShiftInstruction(byte* data) {
786 byte op = *data & (~1);
794 byte modrm = *(data + count);
846 int DisassemblerX64::JumpShort(byte* data) {
848 byte b = *(data + 1);
849 byte* dest = data + static_cast<int8_t>(b) + 2;
855 int DisassemblerX64::JumpConditional(byte* data) {
857 byte cond = *(data + 1) & 0x0F;
858 byte* dest = data + Imm32(data + 2) + 6;
865 int DisassemblerX64::JumpConditionalShort(byte* data) {
866 byte cond = *data & 0x0F;
867 byte b = *(data + 1);
868 byte* dest = data + static_cast<int8_t>(b) + 2;
875 int DisassemblerX64::SetCC(byte* data) {
877 byte cond = *(data + 1) & 0x0F;
886 int DisassemblerX64::AVXInstruction(byte* data) {
887 byte opcode = *data;
888 byte* current = data + 1;
1561 int DisassemblerX64::FPUInstruction(byte* data) {
1562 byte escape_opcode = *data;
1564 byte modrm_byte = *(data + 1);
1574 byte* modrm_start) {
1576 int regop = (modrm_byte >> 3) & 0x7; // reg/op field of modrm byte.
1648 byte modrm_byte) {
1829 // Handle all two-byte opcodes, which start with 0x0F.
1831 int DisassemblerX64::TwoByteOpcodeInstruction(byte* data) {
1832 byte opcode = *(data + 1);
1833 byte* current = data + 2;
1841 // These are three-byte opcodes, see ThreeByteOpcodeInstruction.
1849 if (rm == 4) { // SIB byte present.
2053 if (rm == 4) { // SIB byte present.
2112 // SETcc: Set byte on condition. Needs pointer to beginning of instruction.
2164 // Handle all three-byte opcodes, which start with 0x0F38 or 0x0F3A.
2167 int DisassemblerX64::ThreeByteOpcodeInstruction(byte* data) {
2169 // Only support 3-byte opcodes prefixed with 0x66 for now.
2171 byte second_byte = *(data + 1);
2172 byte third_byte = *(data + 2);
2173 byte* current = data + 3;
2258 // Mnemonics for two-byte opcode instructions starting with 0x0F.
2259 // The argument is the second byte of the two-byte opcode.
2261 const char* DisassemblerX64::TwoByteMnemonic(byte opcode) {
2322 byte* instr) {
2324 byte* data = instr;
2327 byte current;
2403 byte* addr = nullptr;
2406 addr = reinterpret_cast<byte*>(Imm16(data + 1));
2410 addr = reinterpret_cast<byte*>(Imm32_U(data + 1));
2414 addr = reinterpret_cast<byte*>(Imm64(data + 1));
2427 byte* addr = data + Imm32(data + 1) + 5;
2455 // The first byte didn't match any of the simple opcodes, so we
2484 // Check for three-byte opcodes, 0x0F38 or 0x0F3A.
2621 byte opcode = *data;
2662 NameOfAddress(reinterpret_cast<byte*>(Imm32(data + 1)));
2674 NameOfAddress(reinterpret_cast<byte*>(Imm64(data + 1)));
2768 for (byte* bp = instr; bp < data; bp++) {
2772 // 10-byte mov is (probably) the largest we emit.
2799 const char* NameConverter::NameOfAddress(byte* addr) const {
2804 const char* NameConverter::NameOfConstant(byte* addr) const {
2828 const char* NameConverter::NameInCode(byte* addr) const {
2836 byte* instruction) {
2842 int Disassembler::ConstantPoolSizeAt(byte* instruction) { return -1; }
2844 void Disassembler::Disassemble(FILE* f, byte* begin, byte* end,
2848 for (byte* pc = begin; pc < end;) {
2851 byte* prev_pc = pc;
2856 for (byte* bp = prev_pc; bp < pc; bp++) {