• Swapnil Gaikwad's avatar
    Reland "Update GetIterator bytecode to load and call object[Symbol.iterator]" · ffa9f163
    Swapnil Gaikwad authored
    This is a reland of 8b89a7c3
    
    Reland after disabling the test getting deadlocked with '--gc_stress' flag.
    The CL was reverted because of the 'wasm/grow-shared-memory' test from
    the mjsunit test suite deadlocked for the 'gc_stress' variant. This is
    the known issue (v8:9221) and the deadlocking test is now disabled (
    https://chromium.googlesource.com/v8/v8.git/+/1c8981e3f4729b7a8220a8823e0a0d45f2a4b788).
    
    
    Original change's description:
    > Update GetIterator bytecode to load and call object[Symbol.iterator]
    >
    > The functionality of the GetIterator bytecode introduced previously is
    > now extended from loading the @@iterator property to calling the property
    > as well. This change basically absorbs the functionality of additional
    > two bytecodes - Star, CallProperty0 in the GetIterator bytecode.
    > Importantly, this change handles the cases of eager and lazy deoptimization
    > in the middle of the bytecode, i.e., lazy deopt for LdaNamedProperty and
    > eager deopt of the CallProperty0 bytecode, using the continuation builtins.
    > This mechanism can work as a template for the future bytecode that require
    > handling such inter-bytecode deopt scenario. The tests evaluating the eager
    > and lazy deopt scenarios are also included.
    >
    > Bug: v8:9489
    > Change-Id: I93eb022bbc3d37582407820aa8482a343cac6c12
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758313
    > Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com>
    > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    > Reviewed-by: Georg Neis <neis@chromium.org>
    > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#63528}
    
    Bug: v8:9489,v8:9221
    Change-Id: I4286255aef457bfdbbe5eb50fc6dabdf9c0955b1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1787427Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com>
    Cr-Commit-Position: refs/heads/master@{#63599}
    ffa9f163
iterator-eager-deopt.js 2.07 KB