Go to file
m.m.capewell@googlemail.com 649057e05c Remove forced type changes when they can't deopt
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
2014-06-12 16:47:51 +00:00
benchmarks Add new benchmark suite runner. 2014-05-28 13:05:17 +00:00
build Revert "Support external startup data in V8." 2014-06-10 10:51:33 +00:00
include Add v8::Promise::Then. 2014-06-12 11:33:30 +00:00
samples Make presubmit script happy again. 2014-06-10 09:24:00 +00:00
src Remove forced type changes when they can't deopt 2014-06-12 16:47:51 +00:00
test Optimize prototype chain when creating initial maps for functions used as constructors 2014-06-12 16:41:56 +00:00
tools Add @@iterator for generator objects 2014-06-12 08:53:07 +00:00
.clang-format Change clang-format config to allow for two empty lines between functions 2013-12-03 10:39:21 +00:00
.DEPS.git Roll buildtools to 5d89977ce55240995d1596fe420b818468f5ec37 2014-06-03 18:10:10 +00:00
.gitignore Add buildtools/ to .gitignore 2014-06-03 13:30:22 +00:00
AUTHORS Introduce x87 port 2014-05-23 16:37:27 +00:00
BUILD.gn Implement LookupIterator designed to replace LookupResult 2014-06-11 09:59:14 +00:00
ChangeLog Sync change log file with trunk. 2014-05-19 15:29:29 +00:00
codereview.settings Add settings for try server. 2013-12-17 12:24:25 +00:00
DEPS Roll buildtools to 5d89977ce55240995d1596fe420b818468f5ec37 2014-06-03 18:10:10 +00:00
LICENSE Update LICENSE date. 2014-02-18 10:50:22 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
Makefile Roll buildtools to 5d89977ce55240995d1596fe420b818468f5ec37 2014-06-03 18:10:10 +00:00
Makefile.android Introduce x87 port 2014-05-23 16:37:27 +00:00
Makefile.nacl This should make the NaCl build jobs green again. 2014-04-17 14:22:20 +00:00
OWNERS Add rmcilroy@chromium.org to src/OWNERS. 2014-04-11 08:55:18 +00:00
PRESUBMIT.py Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
WATCHLISTS Add myself to a watchlist for the public API. 2013-10-10 11:37:48 +00:00