649057e05c
Hydrogen attempts to force representation changes on certain operations in order to deoptimise on the change rather than the operation. However, these forced changes are often unnecessary on 64-bit platforms, and cause poor code generation, so this patch makes some of them conditional on whether it's possible for deoptimisation to occur in the change. On ARM64, this prevents sequences like: ;;; <@46,#89> smi-tag 0x7ff282c7f050 144 lsl x4, x4, #32 ;;; <@48,#90> smi-untag 0x7ff282c7f054 148 asr x5, x4, #32 ;;; <@50,#31> mul-const-i-s 0x7ff282c7f058 152 lsl w6, w5, #3 BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/303263010 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 |
||
---|---|---|
benchmarks | ||
build | ||
include | ||
samples | ||
src | ||
test | ||
tools | ||
.clang-format | ||
.DEPS.git | ||
.gitignore | ||
AUTHORS | ||
BUILD.gn | ||
ChangeLog | ||
codereview.settings | ||
DEPS | ||
LICENSE | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LICENSE.valgrind | ||
Makefile | ||
Makefile.android | ||
Makefile.nacl | ||
OWNERS | ||
PRESUBMIT.py | ||
WATCHLISTS |