|
[builtins] Provide Math.floor as TurboFan builtin.
This way we avoid the second deoptimization for the Math.floor and
Math.ceil builtins when -0 is involved. We still deoptimize the inlined
Crankshaft version in various cases, that's a separate issue.
The algorithm used for implement CodeStubAssembler::Float64Floor is
vaguely based on the fast math version used in the libm of various BSDs,
but had to be reengineered to match the EcmaScript specification.
R=epertoso@chromium.org
BUG= v8:2890, v8:4059
LOG=n
Committed: https://crrev.com/36ead519c8a5b5174f82b2074dca802f3af8c153
Cr-Commit-Position: refs/heads/master@{#35083}
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+264 lines, -74 lines) |
Patch |
|
M |
src/bootstrapper.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/builtins.h
|
View
|
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
|
M |
src/builtins.cc
|
View
|
1
2
|
3 chunks |
+58 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/code-stubs.cc
|
View
|
1
2
|
2 chunks |
+2 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/compiler/code-stub-assembler.h
|
View
|
1
2
|
3 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/code-stub-assembler.cc
|
View
|
1
2
|
2 chunks |
+166 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-builtin-reducer.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-builtin-reducer.cc
|
View
|
|
2 chunks |
+15 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-intrinsic-lowering.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/js-intrinsic-lowering.cc
|
View
|
|
2 chunks |
+0 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/compiler/typer.cc
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/contexts.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/counters.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen.cc
|
View
|
|
1 chunk |
+0 lines, -9 lines |
0 comments
|
Download
|
|
M |
src/js/i18n.js
|
View
|
1
2
|
3 chunks |
+1 line, -3 lines |
0 comments
|
Download
|
|
M |
src/js/math.js
|
View
|
|
7 chunks |
+4 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/runtime/runtime-maths.cc
|
View
|
|
1 chunk |
+0 lines, -10 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-code-stub-assembler.cc
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/js-intrinsic-lowering-unittest.cc
|
View
|
|
1 chunk |
+0 lines, -18 lines |
0 comments
|
Download
|
Total messages: 11 (4 generated)
|