• wenqin.yang's avatar
    [Interpreter]Elide redundant load context bytecode · c4a0e4a1
    wenqin.yang authored
    We found there are redundant load context operations in
    some bytecode array.
    
    like this:
    LdaImmutableCurrentContextSlot [1]
    Star0
    ......   (don’t edit accumulator)
    LdaImmutableCurrentContextSlot [1]
    Star1
    Add r1
    
    In that case, we could modify this bytecode array as:
    LdaImmutableCurrentContextSlot [1]
    Star0
    ......   (don’t edit accumulator)
    Add r0
    
    This CL will elide these redundant bytecodes
    (LdaImmutableCurrentContextSlot and Star1), because there is no
    side effect for loading context, and this context slot is immutable.
    
    Change-Id: Ia26f4b934d3bd1d48c50c0c4699ba7942939991c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816221Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
    Commit-Queue: Shu-yu Guo <syg@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82641}
    c4a0e4a1
Name
Last commit
Last update
..
ArrayLiterals.golden Loading commit data...
AssignmentsInBinaryExpression.golden Loading commit data...
AsyncGenerators.golden Loading commit data...
AsyncModules.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...
CompareBoolean.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...
ElideRedundantLoadOperationOfImmutableContext.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...
IIFE.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...
PrivateClassFieldAccess.golden Loading commit data...
PrivateClassFields.golden Loading commit data...
PrivateMethodAccess.golden Loading commit data...
PrivateMethodDeclaration.golden Loading commit data...
PropertyCall.golden Loading commit data...
PropertyLoadStore.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...
StaticPrivateMethodAccess.golden Loading commit data...
StaticPrivateMethodDeclaration.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...