• 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
Name
Last commit
Last update
..
ArrayLiterals.golden Loading commit data...
AssignmentsInBinaryExpression.golden Loading commit data...
AsyncGenerators.golden Loading commit data...
BasicBlockToBoolean.golden Loading commit data...
BasicLoops.golden Loading commit data...
BreakableBlocks.golden Loading commit data...
CallAndSpread.golden Loading commit data...
CallGlobal.golden Loading commit data...
CallLookupSlot.golden Loading commit data...
CallNew.golden Loading commit data...
CallRuntime.golden Loading commit data...
ClassAndSuperClass.golden Loading commit data...
ClassDeclarations.golden Loading commit data...
CompareNil.golden Loading commit data...
CompareTypeOf.golden Loading commit data...
CompoundExpressions.golden Loading commit data...
Conditional.golden Loading commit data...
ConstVariable.golden Loading commit data...
ConstVariableContextSlot.golden Loading commit data...
ContextParameters.golden Loading commit data...
ContextVariables.golden Loading commit data...
CountOperators.golden Loading commit data...
CreateArguments.golden Loading commit data...
CreateRestParameter.golden Loading commit data...
DeadCodeRemoval.golden Loading commit data...
DeclareGlobals.golden Loading commit data...
Delete.golden Loading commit data...
DeleteLookupSlotInEval.golden Loading commit data...
DestructuringAssignment.golden Loading commit data...
DoDebugger.golden Loading commit data...
Eval.golden Loading commit data...
ForAwaitOf.golden Loading commit data...
ForIn.golden Loading commit data...
ForOf.golden Loading commit data...
ForOfLoop.golden Loading commit data...
FunctionLiterals.golden Loading commit data...
GenerateTestUndetectable.golden Loading commit data...
Generators.golden Loading commit data...
GlobalCompoundExpressions.golden Loading commit data...
GlobalCountOperators.golden Loading commit data...
GlobalDelete.golden Loading commit data...
HeapNumberConstants.golden Loading commit data...
IIFEWithOneshotOpt.golden Loading commit data...
IIFEWithoutOneshotOpt.golden Loading commit data...
IfConditions.golden Loading commit data...
IntegerConstants.golden Loading commit data...
LetVariable.golden Loading commit data...
LetVariableContextSlot.golden Loading commit data...
LoadGlobal.golden Loading commit data...
LogicalExpressions.golden Loading commit data...
LookupSlot.golden Loading commit data...
LookupSlotInEval.golden Loading commit data...
Modules.golden Loading commit data...
NewAndSpread.golden Loading commit data...
NewTarget.golden Loading commit data...
ObjectLiterals.golden Loading commit data...
OuterContextVariables.golden Loading commit data...
Parameters.golden Loading commit data...
PrimitiveExpressions.golden Loading commit data...
PrimitiveReturnStatements.golden Loading commit data...
PrivateAccessorAccess.golden Loading commit data...
PrivateAccessorDeclaration.golden Loading commit data...
PrivateClassFields.golden Loading commit data...
PrivateMethodAccess.golden Loading commit data...
PrivateMethodDeclaration.golden Loading commit data...
PropertyCall.golden Loading commit data...
PropertyLoadStoreOneShot.golden Loading commit data...
PropertyLoadStoreWithoutOneShot.golden Loading commit data...
PropertyLoads.golden Loading commit data...
PropertyStores.golden Loading commit data...
PublicClassFields.golden Loading commit data...
RegExpLiterals.golden Loading commit data...
RemoveRedundantLdar.golden Loading commit data...
StandardForLoop.golden Loading commit data...
StaticClassFields.golden Loading commit data...
StoreGlobal.golden Loading commit data...
StringConcat.golden Loading commit data...
StringConstants.golden Loading commit data...
SuperCallAndSpread.golden Loading commit data...
Switch.golden Loading commit data...
TemplateLiterals.golden Loading commit data...
ThisFunction.golden Loading commit data...
Throw.golden Loading commit data...
TopLevelObjectLiterals.golden Loading commit data...
TryCatch.golden Loading commit data...
TryFinally.golden Loading commit data...
Typeof.golden Loading commit data...
UnaryOperators.golden Loading commit data...
WideRegisters.golden Loading commit data...
WithStatement.golden Loading commit data...