mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 12:24:24 +00:00
[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:
parent
f96a7fbc7d
commit
d9c8f29b48
3 changed files with 6 additions and 2 deletions
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue