022ea7e057
Provide an intrinsic %MathFloor / %_MathFloor that is used to optimize both Math.ceil and Math.floor, and use the JS inlining mechanism to inline Math.ceil into TurboFan code. Although we need to touch code outside of TurboFan to make this work, this does not affect the way we handle Math.ceil and/or Math.floor in CrankShaft, because for CrankShaft the old-style builtin function id based inlining still kicks in first. Once this solution is stabilized, we can use it for Math.floor as well. And once that is settled, we can establish it as the unified way to inline builtins, and get rid of the specialized builtin function id based inlining at some point. Note that "builtin" applies to basically every piece of internal JavaScript/intrinsics based code, so this also applies to the yet to be defined JavaScript based code stubs and handlers. BUG=v8:3953 LOG=n R=yangguo@chromium.org,svenpanne@chromium.org Review URL: https://codereview.chromium.org/990963003 Cr-Commit-Position: refs/heads/master@{#27086} |
||
---|---|---|
.. | ||
blink_tests | ||
gcmole | ||
generate_shim_headers | ||
gyp | ||
ninja | ||
oom_dump | ||
perf_tests | ||
profviz | ||
release | ||
sanitizers | ||
sodium | ||
testrunner | ||
unittests | ||
v8.xcodeproj | ||
vim | ||
visual_studio | ||
android-build.sh | ||
android-ll-prof.sh | ||
android-run.py | ||
android-sync.sh | ||
bash-completion.sh | ||
check-name-clashes.py | ||
check-static-initializers.sh | ||
codemap.js | ||
concatenate-files.py | ||
consarray.js | ||
cpu.sh | ||
cross_build_gcc.sh | ||
csvparser.js | ||
DEPS | ||
detect-builtins.js | ||
disasm.py | ||
draw_instruction_graph.sh | ||
external-reference-check.py | ||
find_depot_tools.py | ||
find-commit-for-patch.py | ||
freebsd-tick-processor | ||
fuzz-harness.sh | ||
gc-nvp-trace-processor.py | ||
gdb-v8-support.py | ||
gdbinit | ||
gen-postmortem-metadata.py | ||
generate-builtins-tests.py | ||
generate-ten-powers.scm | ||
grokdump.py | ||
js2c.py | ||
jsmin.py | ||
linux-tick-processor | ||
ll_prof.py | ||
logreader.js | ||
mac-nm | ||
mac-tick-processor | ||
mingw-generate-makefiles.sh | ||
nacl-run.py | ||
parser-shell.cc | ||
parser-shell.gyp | ||
plot-timer-events | ||
presubmit.py | ||
process-heap-prof.py | ||
profile_view.js | ||
profile.js | ||
run_perf.py | ||
run-deopt-fuzzer.py | ||
run-llprof.sh | ||
run-tests.py | ||
run-valgrind.py | ||
run.py | ||
shell-utils.h | ||
SourceMap.js | ||
splaytree.js | ||
stats-viewer.py | ||
test-server.py | ||
tick-processor.html | ||
tickprocessor-driver.js | ||
tickprocessor.js | ||
trace-maps-processor.py | ||
try_perf.py | ||
v8-info.sh | ||
v8-rolls.sh | ||
v8heapconst.py | ||
v8heapconst.py.tmpl | ||
whitespace.txt | ||
windows-tick-processor.bat |