• vegorov's avatar
    Treat HArgumentsObject as a safe use during Uint32 analysis phase. · 021f7381
    vegorov authored
    Deoptimization infrastructure already handles it correctly.
    
    This change fixes repetitive deoptimizations in the code like this:
    
        var u32 = new Uint32Array(1);
        u32[0] = -1;
    
        function tr(x) { return x|0; }
        function ld() { return tr(u32[0]); }
    
        while (true) ld();
    
    Currently inlined tr will contain HArgumentsObject that is considered uint32-unsafe use and prevents u32[0] from becoming uint32 load - instead a speculative int32 load is generated which just deopts.
    
    BUG=
    
    Review URL: https://codereview.chromium.org/1077113002
    
    Cr-Commit-Position: refs/heads/master@{#27781}
    021f7381
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...