Skip to content

Commit d9c8f29

Browse files
rmacnak-googlecommit-bot@chromium.org
authored andcommitted
[vm, dbc] Remove bad assert from DBC deoptimization.
DBC's "FPU registers" are in fact stack slots. Bug: dart-lang#35395 Change-Id: I64f90f29b55f3f9bb0fec863e1a13c651f364ee7 Reviewed-on: https://dart-review.googlesource.com/c/87271 Reviewed-by: Aart Bik <[email protected]> Commit-Queue: Ryan Macnak <[email protected]>
1 parent f96a7fb commit d9c8f29

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

runtime/vm/compiler/assembler/assembler_dbc.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ const char* Assembler::RegisterName(Register reg) {
7575
return Thread::Current()->zone()->PrintToString("R%d", reg);
7676
}
7777

78+
const char* Assembler::FpuRegisterName(FpuRegister reg) {
79+
return Thread::Current()->zone()->PrintToString("F%d", reg);
80+
}
81+
7882
static int32_t EncodeJump(int32_t relative_pc) {
7983
return SimulatorBytecode::kJump | (relative_pc << 8);
8084
}

runtime/vm/compiler/assembler/assembler_dbc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class Assembler : public AssemblerBase {
4545

4646
static const char* RegisterName(Register reg);
4747

48-
static const char* FpuRegisterName(FpuRegister reg) { return "?"; }
48+
static const char* FpuRegisterName(FpuRegister reg);
4949

5050
static uword GetBreakInstructionFiller() { return SimulatorBytecode::kTrap; }
5151

runtime/vm/deopt_instructions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ class DeoptContext {
9797

9898
double FpuRegisterValue(FpuRegister reg) const {
9999
ASSERT(FlowGraphCompiler::SupportsUnboxedDoubles());
100+
#if !defined(TARGET_ARCH_DBC)
100101
ASSERT(fpu_registers_ != NULL);
101102
ASSERT(reg >= 0);
102-
#if !defined(TARGET_ARCH_DBC)
103103
ASSERT(reg < kNumberOfFpuRegisters);
104104
return *reinterpret_cast<double*>(&fpu_registers_[reg]);
105105
#else

0 commit comments

Comments
 (0)