- 21 Jul, 2017 1 commit
-
-
Andreas Haas authored
The class Float32 stores the bit pattern of a float as uint32_t to guarantee that the exact bit pattern of the contained value is preserved. This is necessary because the bit pattern of a NaN may change, e.g. when it is passed as a parameter. For convenience the Float32 class provides a constructor with a float parameter. Since this constructor cannot guarantee that the right bit pattern will be stored for NaNs, this CL adds a DCHECK now to make sure that the constructor is never used with a NaN. R=mstarzinger@chromium.org Change-Id: Iba85a5a1bb2778d5f8bdc1aad97524ef8369b73d Reviewed-on: https://chromium-review.googlesource.com/579367 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46811}
-
- 20 Jul, 2017 1 commit
-
-
Andreas Haas authored
Apparently the name float.h causes problems on Windows when V8 is compiled with Visual Studio, see the bug description. R=clemensh@chromium.org Bug: v8:6588 Change-Id: Iaa9c1e93e62509a779f1a8ddecbb03a53981cf8a Reviewed-on: https://chromium-review.googlesource.com/578029Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46791}
-
- 07 Jul, 2017 1 commit
-
-
Andreas Haas authored
This CL changes for floats what https://chromium-review.googlesource.com/c/558964/ changed for doubles. Original message: On x86, signalling NaNs get converted to quiet NaNs when they get push on the stack and popped again. This happens in the code generation for arm, specifically for the vmov instruction with the immediate parameter. This CL replaces the vmov function in assembler-arm to take the immediate as a uint64_t instead of a double, to guarantee that the bit pattern does not change even if the parameter is a signalling NaN. New in this CL: Although src/double.h existed already, src/float.h did not exist yet. I created the file in this CL, and moved the classes Float32 and Float64 there, which already existed in src/deoptimizer.h. R=titzer@chromium.org, martyn.capewell@arm.com, v8-arm-ports@googlegroups.com BUG=v8:6564 Change-Id: I6a3f1f154af9c8cd4bb8e7e856235d3eee5e9edd Reviewed-on: https://chromium-review.googlesource.com/561009 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Martyn Capewell <martyn.capewell@arm.com> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46473}
-