[vm, dbc] Remove bad assert from DBC deoptimization.

DBC's "FPU registers" are in fact stack slots.

Bug: https://github.com/dart-lang/sdk/issues/35395
Change-Id: I64f90f29b55f3f9bb0fec863e1a13c651f364ee7
Reviewed-on: https://dart-review.googlesource.com/c/87271
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
This commit is contained in:
Ryan Macnak 2018-12-14 20:18:46 +00:00 committed by commit-bot@chromium.org
parent f96a7fbc7d
commit d9c8f29b48
3 changed files with 6 additions and 2 deletions

View file

@ -75,6 +75,10 @@ const char* Assembler::RegisterName(Register reg) {
return Thread::Current()->zone()->PrintToString("R%d", reg);
}
const char* Assembler::FpuRegisterName(FpuRegister reg) {
return Thread::Current()->zone()->PrintToString("F%d", reg);
}
static int32_t EncodeJump(int32_t relative_pc) {
return SimulatorBytecode::kJump | (relative_pc << 8);
}

View file

@ -45,7 +45,7 @@ class Assembler : public AssemblerBase {
static const char* RegisterName(Register reg);
static const char* FpuRegisterName(FpuRegister reg) { return "?"; }
static const char* FpuRegisterName(FpuRegister reg);
static uword GetBreakInstructionFiller() { return SimulatorBytecode::kTrap; }

View file

@ -97,9 +97,9 @@ class DeoptContext {
double FpuRegisterValue(FpuRegister reg) const {
ASSERT(FlowGraphCompiler::SupportsUnboxedDoubles());
#if !defined(TARGET_ARCH_DBC)
ASSERT(fpu_registers_ != NULL);
ASSERT(reg >= 0);
#if !defined(TARGET_ARCH_DBC)
ASSERT(reg < kNumberOfFpuRegisters);
return *reinterpret_cast<double*>(&fpu_registers_[reg]);
#else