[vm/compiler] Debug prints for flaky crash in compiler

This change adds debug prints for flaky crash in compiler which
only appears on bots.

TEST=ci

Issue: https://github.com/dart-lang/sdk/issues/47314
Change-Id: I6653df11612d24e8a8e67e3e177484a70e308dcc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215152
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
This commit is contained in:
Alexander Markov 2021-10-01 18:33:26 +00:00 committed by commit-bot@chromium.org
parent 3ac34f791d
commit f824db7bc2

View file

@ -1621,8 +1621,15 @@ void FlowGraphCompiler::AllocateRegistersLocally(Instruction* instr) {
blocked_registers[loc.reg()] = true;
} else if (loc.IsFpuRegister()) {
// Check that a register is not specified twice in the summary.
ASSERT(!blocked_fpu_registers[loc.fpu_reg()]);
blocked_fpu_registers[loc.fpu_reg()] = true;
const FpuRegister fpu_reg = loc.fpu_reg();
if ((fpu_reg < 0) || (fpu_reg >= kNumberOfFpuRegisters)) {
// Debug prints for https://github.com/dart-lang/sdk/issues/47314.
OS::PrintErr("input(%" Pd ") fpu_reg = %d\n", i, fpu_reg);
OS::PrintErr("instr = %s\n", instr->ToCString());
UNREACHABLE();
}
ASSERT(!blocked_fpu_registers[fpu_reg]);
blocked_fpu_registers[fpu_reg] = true;
}
}
@ -1634,8 +1641,15 @@ void FlowGraphCompiler::AllocateRegistersLocally(Instruction* instr) {
blocked_registers[loc.reg()] = true;
} else if (loc.IsFpuRegister()) {
// Check that a register is not specified twice in the summary.
ASSERT(!blocked_fpu_registers[loc.fpu_reg()]);
blocked_fpu_registers[loc.fpu_reg()] = true;
const FpuRegister fpu_reg = loc.fpu_reg();
if ((fpu_reg < 0) || (fpu_reg >= kNumberOfFpuRegisters)) {
// Debug prints for https://github.com/dart-lang/sdk/issues/47314.
OS::PrintErr("temp(%" Pd ") fpu_reg = %d\n", i, fpu_reg);
OS::PrintErr("instr = %s\n", instr->ToCString());
UNREACHABLE();
}
ASSERT(!blocked_fpu_registers[fpu_reg]);
blocked_fpu_registers[fpu_reg] = true;
}
}