Commit cb6331c0 authored by bbudge's avatar bbudge Committed by Commit bot

[ARM] Save all single precision float registers in the deoptimizer.

- All ARM hardware has 32 single precision float registers; save all
  s-registers regardless of the number of d-registers (16 or 32).

LOG=N
BUG=v8:6077

Review-Url: https://codereview.chromium.org/2821273004
Cr-Commit-Position: refs/heads/master@{#44810}
parent badab78b
......@@ -141,11 +141,8 @@ void Deoptimizer::TableEntryGenerator::Generate() {
__ sub(sp, sp, Operand(16 * kDoubleSize), LeaveCC, eq);
__ vstm(db_w, sp, d0, d15);
// Push registers s0-s15, and possibly s16-s31, on the stack.
// If s16-s31 are not pushed, decrease the stack pointer instead.
__ vstm(db_w, sp, s16, s31, ne);
__ sub(sp, sp, Operand(16 * kFloatSize), LeaveCC, eq);
__ vstm(db_w, sp, s0, s15);
// Push registers s0-s31 on the stack.
__ vstm(db_w, sp, s0, s31);
}
// Push all 16 registers (needed to populate FrameDescription::registers_).
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment