• 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
js-objects.h 59.6 KB