diff options
Diffstat (limited to 'deps/v8/src/arm/disasm-arm.cc')
-rw-r--r-- | deps/v8/src/arm/disasm-arm.cc | 44 |
1 files changed, 18 insertions, 26 deletions
diff --git a/deps/v8/src/arm/disasm-arm.cc b/deps/v8/src/arm/disasm-arm.cc index 05adc37f61..9951136561 100644 --- a/deps/v8/src/arm/disasm-arm.cc +++ b/deps/v8/src/arm/disasm-arm.cc @@ -541,7 +541,7 @@ int Decoder::FormatOption(Instruction* instr, const char* format) { // 'msg: for simulator break instructions DCHECK(STRING_STARTS_WITH(format, "msg")); byte* str = - reinterpret_cast<byte*>(instr->InstructionBits() & 0x0fffffff); + reinterpret_cast<byte*>(instr->InstructionBits() & 0x0FFFFFFF); out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_, "%s", converter_.NameInCode(str)); return 3; @@ -819,7 +819,7 @@ void Decoder::DecodeType01(Instruction* instr) { Unknown(instr); // not used by V8 } } - } else if ((instr->Bit(20) == 0) && ((instr->Bits(7, 4) & 0xd) == 0xd)) { + } else if ((instr->Bit(20) == 0) && ((instr->Bits(7, 4) & 0xD) == 0xD)) { // ldrd, strd switch (instr->PUField()) { case da_x: { @@ -905,7 +905,7 @@ void Decoder::DecodeType01(Instruction* instr) { } } else if ((type == 0) && instr->IsMiscType0()) { if ((instr->Bits(27, 23) == 2) && (instr->Bits(21, 20) == 2) && - (instr->Bits(15, 4) == 0xf00)) { + (instr->Bits(15, 4) == 0xF00)) { Format(instr, "msr'cond 'spec_reg'spec_reg_fields, 'rm"); } else if ((instr->Bits(27, 23) == 2) && (instr->Bits(21, 20) == 0) && (instr->Bits(11, 0) == 0)) { @@ -1285,8 +1285,8 @@ void Decoder::DecodeType3(Instruction* instr) { } } else { // PU == 0b01, BW == 0b11, Bits(9, 6) != 0b0001 - if ((instr->Bits(20, 16) == 0x1f) && - (instr->Bits(11, 4) == 0xf3)) { + if ((instr->Bits(20, 16) == 0x1F) && + (instr->Bits(11, 4) == 0xF3)) { Format(instr, "rbit'cond 'rd, 'rm"); } else { UNREACHABLE(); @@ -1561,7 +1561,7 @@ void Decoder::DecodeTypeVFP(Instruction* instr) { const char* rt_name = converter_.NameOfCPURegister(instr->RtValue()); if (instr->Bit(23) == 0) { int opc1_opc2 = (instr->Bits(22, 21) << 2) | instr->Bits(6, 5); - if ((opc1_opc2 & 0xb) == 0) { + if ((opc1_opc2 & 0xB) == 0) { // NeonS32/NeonU32 if (instr->Bit(21) == 0x0) { Format(instr, "vmov'cond.32 'Dd[0], 'rt"); @@ -1597,7 +1597,7 @@ void Decoder::DecodeTypeVFP(Instruction* instr) { } } else if ((instr->VLValue() == 0x1) && (instr->VCValue() == 0x1)) { int opc1_opc2 = (instr->Bits(22, 21) << 2) | instr->Bits(6, 5); - if ((opc1_opc2 & 0xb) == 0) { + if ((opc1_opc2 & 0xB) == 0) { // NeonS32 / NeonU32 if (instr->Bit(21) == 0x0) { Format(instr, "vmov'cond.32 'rt, 'Dd[0]"); @@ -1972,7 +1972,7 @@ void Decoder::DecodeSpecialCondition(Instruction* instr) { } break; } - case 0xa: { + case 0xA: { // vpmin/vpmax.s<size> Dd, Dm, Dn. const char* op = instr->Bit(4) == 1 ? "vpmin" : "vpmax"; out_buffer_pos_ += @@ -1980,14 +1980,14 @@ void Decoder::DecodeSpecialCondition(Instruction* instr) { op, size, Vd, Vn, Vm); break; } - case 0xb: { + case 0xB: { // vpadd.i<size> Dd, Dm, Dn. out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_, "vpadd.i%d d%d, d%d, d%d", size, Vd, Vn, Vm); break; } - case 0xd: { + case 0xD: { if (instr->Bit(4) == 0) { const char* op = (instr->Bits(21, 20) == 0) ? "vadd" : "vsub"; // vadd/vsub.f32 Qd, Qm, Qn. @@ -1998,7 +1998,7 @@ void Decoder::DecodeSpecialCondition(Instruction* instr) { } break; } - case 0xe: { + case 0xE: { if (instr->Bits(21, 20) == 0 && instr->Bit(4) == 0) { // vceq.f32 Qd, Qm, Qn. out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_, @@ -2008,7 +2008,7 @@ void Decoder::DecodeSpecialCondition(Instruction* instr) { } break; } - case 0xf: { + case 0xF: { if (instr->Bit(20) == 0 && instr->Bit(6) == 1) { if (instr->Bit(4) == 1) { // vrecps/vrsqrts.f32 Qd, Qm, Qn. @@ -2158,7 +2158,7 @@ void Decoder::DecodeSpecialCondition(Instruction* instr) { } break; } - case 0xa: { + case 0xA: { // vpmin/vpmax.u<size> Dd, Dm, Dn. const char* op = instr->Bit(4) == 1 ? "vpmin" : "vpmax"; out_buffer_pos_ += @@ -2166,7 +2166,7 @@ void Decoder::DecodeSpecialCondition(Instruction* instr) { op, size, Vd, Vn, Vm); break; } - case 0xd: { + case 0xD: { if (instr->Bits(21, 20) == 0 && instr->Bit(6) == 1 && instr->Bit(4) == 1) { // vmul.f32 Qd, Qm, Qn @@ -2182,7 +2182,7 @@ void Decoder::DecodeSpecialCondition(Instruction* instr) { } break; } - case 0xe: { + case 0xE: { if (instr->Bit(20) == 0 && instr->Bit(4) == 0) { const char* op = (instr->Bit(21) == 0) ? "vcge" : "vcgt"; // vcge/vcgt.f32 Qd, Qm, Qn. @@ -2332,12 +2332,12 @@ void Decoder::DecodeSpecialCondition(Instruction* instr) { instr->Bit(6) == 1) { int size = kBitsPerByte * (1 << instr->Bits(19, 18)); char type = instr->Bit(10) != 0 ? 'f' : 's'; - if (instr->Bits(9, 6) == 0xd) { + if (instr->Bits(9, 6) == 0xD) { // vabs<type>.<size> Qd, Qm. out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_, "vabs.%c%d q%d, q%d", type, size, Vd, Vm); - } else if (instr->Bits(9, 6) == 0xf) { + } else if (instr->Bits(9, 6) == 0xF) { // vneg<type>.<size> Qd, Qm. out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_, "vneg.%c%d q%d, q%d", @@ -2423,7 +2423,7 @@ void Decoder::DecodeSpecialCondition(Instruction* instr) { break; case 0xA: case 0xB: - if ((instr->Bits(22, 20) == 5) && (instr->Bits(15, 12) == 0xf)) { + if ((instr->Bits(22, 20) == 5) && (instr->Bits(15, 12) == 0xF)) { const char* rn_name = converter_.NameOfCPURegister(instr->Bits(19, 16)); int offset = instr->Bits(11, 0); if (offset == 0) { @@ -2601,14 +2601,6 @@ int Decoder::InstructionDecode(byte* instr_ptr) { "constant pool begin (length %d)", DecodeConstantPoolLength(instruction_bits)); return Instruction::kInstrSize; - } else if (instruction_bits == kCodeAgeJumpInstruction) { - // The code age prologue has a constant immediately following the jump - // instruction. - Instruction* target = Instruction::At(instr_ptr + Instruction::kInstrSize); - DecodeType2(instr); - SNPrintF(out_buffer_ + out_buffer_pos_, - " (0x%08x)", target->InstructionBits()); - return 2 * Instruction::kInstrSize; } switch (instr->TypeValue()) { case 0: |