• chunyang.dai's avatar
    X87: Reimplement Maps and Sets in JS · 56600a35
    chunyang.dai authored
    port 909500aa (r27605)
    
    original commit message:
        Previously, the only optimized code path for Maps and Sets was for String keys.
        This was achieved through an implementation of various complex operations
        in Hydrogen. This approach was neither scalable nor forward-compatible.
    
        This patch adds the necessary intrinsics to implement Maps and Sets almost entirely
        in JS. The added intrinsics are:
    
          %_FixedArrayGet
          %_FixedArraySet
          %_TheHole
          %_JSCollectionGetTable
          %_StringGetRawHashField
    
        With these additions, as well as a few changes to what's exposed as runtime functions,
        most of the C++ code backing Maps and Sets is gone (including both runtime code in
        objects.cc and Crankshaft in hydrogen.cc).
    
    BUG=
    
    Review URL: https://codereview.chromium.org/1066373002
    
    Cr-Commit-Position: refs/heads/master@{#27681}
    56600a35
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...