Merge V8 5.2.361.47 DO NOT MERGE
https://chromium.googlesource.com/v8/v8/+/5.2.361.47
FPIIM-449
Change-Id: Ibec421b85a9b88cb3a432ada642e469fe7e78346
(cherry picked from commit bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8)
diff --git a/src/mips64/disasm-mips64.cc b/src/mips64/disasm-mips64.cc
index 3d0e10c..7b05493 100644
--- a/src/mips64/disasm-mips64.cc
+++ b/src/mips64/disasm-mips64.cc
@@ -375,7 +375,8 @@
uint64_t target = static_cast<uint64_t>(instr->Imm26Value())
<< kImmFieldShift;
target = (reinterpret_cast<uint64_t>(instr) & ~0xfffffff) | target;
- out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_, "0x%lx", target);
+ out_buffer_pos_ +=
+ SNPrintF(out_buffer_ + out_buffer_pos_, "0x%" PRIx64, target);
}
@@ -801,16 +802,14 @@
if (instr->Bits(25, 6) == static_cast<int>(kMaxStopCode)) {
// This is stop(msg).
Format(instr, "break, code: 'code");
- out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_,
- "\n%p %08lx stop msg: %s",
- static_cast<void*>
- (reinterpret_cast<int32_t*>(instr
- + Instruction::kInstrSize)),
- reinterpret_cast<uint64_t>
- (*reinterpret_cast<char**>(instr
- + Instruction::kInstrSize)),
- *reinterpret_cast<char**>(instr
- + Instruction::kInstrSize));
+ out_buffer_pos_ += SNPrintF(
+ out_buffer_ + out_buffer_pos_,
+ "\n%p %08" PRIx64 " stop msg: %s",
+ static_cast<void*>(
+ reinterpret_cast<int32_t*>(instr + Instruction::kInstrSize)),
+ reinterpret_cast<uint64_t>(
+ *reinterpret_cast<char**>(instr + Instruction::kInstrSize)),
+ *reinterpret_cast<char**>(instr + Instruction::kInstrSize));
// Size 3: the break_ instr, plus embedded 64-bit char pointer.
return 3 * Instruction::kInstrSize;
} else {
@@ -1162,26 +1161,22 @@
if (instr->RsValue() == 0) {
Format(instr, "srl 'rd, 'rt, 'sa");
} else {
- if (kArchVariant == kMips64r2) {
- Format(instr, "rotr 'rd, 'rt, 'sa");
- } else {
- Unknown(instr);
- }
+ Format(instr, "rotr 'rd, 'rt, 'sa");
}
break;
case DSRL:
if (instr->RsValue() == 0) {
Format(instr, "dsrl 'rd, 'rt, 'sa");
} else {
- if (kArchVariant == kMips64r2) {
- Format(instr, "drotr 'rd, 'rt, 'sa");
- } else {
- Unknown(instr);
- }
+ Format(instr, "drotr 'rd, 'rt, 'sa");
}
break;
case DSRL32:
- Format(instr, "dsrl32 'rd, 'rt, 'sa");
+ if (instr->RsValue() == 0) {
+ Format(instr, "dsrl32 'rd, 'rt, 'sa");
+ } else {
+ Format(instr, "drotr32 'rd, 'rt, 'sa");
+ }
break;
case SRA:
Format(instr, "sra 'rd, 'rt, 'sa");
@@ -1202,22 +1197,14 @@
if (instr->SaValue() == 0) {
Format(instr, "srlv 'rd, 'rt, 'rs");
} else {
- if (kArchVariant == kMips64r2) {
- Format(instr, "rotrv 'rd, 'rt, 'rs");
- } else {
- Unknown(instr);
- }
+ Format(instr, "rotrv 'rd, 'rt, 'rs");
}
break;
case DSRLV:
if (instr->SaValue() == 0) {
Format(instr, "dsrlv 'rd, 'rt, 'rs");
} else {
- if (kArchVariant == kMips64r2) {
- Format(instr, "drotrv 'rd, 'rt, 'rs");
- } else {
- Unknown(instr);
- }
+ Format(instr, "drotrv 'rd, 'rt, 'rs");
}
break;
case SRAV:
@@ -1400,6 +1387,9 @@
case TNE:
Format(instr, "tne 'rs, 'rt, code: 'code");
break;
+ case SYNC:
+ Format(instr, "sync");
+ break;
case MOVZ:
Format(instr, "movz 'rd, 'rs, 'rt");
break;