• Mythri's avatar
    Change SetProperty/SetSuperProperty to infer language mode when possible · 0896599f
    Mythri authored
    In most cases, the language mode can be inferred from the closure and
    the context. Computing the language mode instead of passing it around
    simplifies the ICs and will make it possible to go towards lazily
    allocating feedback vectors. Currently ICs obtain the language mode from
    the feedback vectors and with lazy feedback allocation we may not always
    have feedback vectors. Since computing language mode is a bit expensive
    we want to defer it as far as possible.
    
    In Array builtins and other builtins like Reflect.Set we need to force a
    language mode when setting the properties. To support these cases the
    SetProperty methods allow the language mode to be overridden when needed.
    
    This is a first cl in a series of cls, that will defer the language mode
    computation further and remove language mode where it is not needed.
    
    BUG: v8:8580
    Change-Id: I9c2396e3bcfe77c3c9d6760c46d86954d54744b9
    Reviewed-on: https://chromium-review.googlesource.com/c/1409426Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Mythri Alle <mythria@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58893}
    0896599f
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind 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...
snapshot_toolchain.gni Loading commit data...