[Liftoff] Fix conditional spilling
On float comparisons, we need a scratch byte register for the setcc instruction, and if none is available, we spill. But this spilling code is skipped if one of the operands is NaN. The cache state is updated however, so following code assumes that the spill happened. This CL fixes this by spilling before checking for NaN, such that the spilling code is always executed. R=titzer@chromium.org Bug: v8:7582, v8:6600 Change-Id: I768d8de14e494d3ebea181c1f9f3129a4b005396 Reviewed-on: https://chromium-review.googlesource.com/973961Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52162}
Showing
Please
register
or
sign in
to comment