• Mythri's avatar
    Defer inferring language mode as far as possible · 592aeefa
    Mythri authored
    Inferring the language mode involves iterating the stack to find the
    closure. This is an expensive operation and should be done only when
    required. This cl changes the implementation to infer the language
    mode only when we can't defer it any further. Currently, we infer the
    language mode when throwing an exception or when passing this
    information to PropertyCallbackArguments.
    
    This cl also changes the language mode parameter to SetProperty
    related methods to Maybe<ShouldThrow>. We only use the language mode to
    decide if we need to throw and using ShouldThrow instead of language
    mode simplifies the code by avoiding conversions from Maybe<ShouldThrow>
    to Maybe<LanguageMode> and vice-versa.
    
    Bug: v8:8580, chromium:923820, chromium:925289
    Change-Id: I72497497f62fe0d86fcecd57b06b3183b7531f7b
    Reviewed-on: https://chromium-review.googlesource.com/c/1425912
    Commit-Queue: Mythri Alle <mythria@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59094}
    592aeefa
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...