v8/test/unittests/interpreter/bytecode_expectations
wenqin.yang c4a0e4a10f [Interpreter]Elide redundant load context bytecode
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/+/3816221
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82641}
2022-08-23 07:20:36 +00:00
..
ArrayLiterals.golden
AssignmentsInBinaryExpression.golden
AsyncGenerators.golden
AsyncModules.golden
BasicBlockToBoolean.golden
BasicLoops.golden
BreakableBlocks.golden
CallAndSpread.golden
CallGlobal.golden
CallLookupSlot.golden
CallNew.golden [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
CallRuntime.golden
ClassAndSuperClass.golden
ClassDeclarations.golden [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
CompareBoolean.golden
CompareNil.golden
CompareTypeOf.golden
CompoundExpressions.golden
Conditional.golden
ConstVariable.golden
ConstVariableContextSlot.golden
ContextParameters.golden
ContextVariables.golden
CountOperators.golden
CreateArguments.golden
CreateRestParameter.golden
DeadCodeRemoval.golden
DeclareGlobals.golden
Delete.golden
DeleteLookupSlotInEval.golden
DestructuringAssignment.golden
DoDebugger.golden
ElideRedundantLoadOperationOfImmutableContext.golden [Interpreter]Elide redundant load context bytecode 2022-08-23 07:20:36 +00:00
Eval.golden
ForAwaitOf.golden
ForIn.golden
ForOf.golden
ForOfLoop.golden
FunctionLiterals.golden
GenerateTestUndetectable.golden
Generators.golden
GlobalCompoundExpressions.golden
GlobalCountOperators.golden
GlobalDelete.golden
HeapNumberConstants.golden
IfConditions.golden
IIFE.golden
IntegerConstants.golden
LetVariable.golden
LetVariableContextSlot.golden
LoadGlobal.golden
LogicalExpressions.golden
LookupSlot.golden
LookupSlotInEval.golden
Modules.golden [interpreter] Remove unused temp for class prototype 2022-06-14 03:48:51 +00:00
NewAndSpread.golden [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
NewTarget.golden
ObjectLiterals.golden
OuterContextVariables.golden
Parameters.golden
PrimitiveExpressions.golden
PrimitiveReturnStatements.golden
PrivateAccessorAccess.golden [message] Improve IteratorSymbolNonCallable error message 2022-08-09 15:32:42 +00:00
PrivateAccessorDeclaration.golden [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
PrivateClassFieldAccess.golden
PrivateClassFields.golden [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
PrivateMethodAccess.golden [message] Improve IteratorSymbolNonCallable error message 2022-08-09 15:32:42 +00:00
PrivateMethodDeclaration.golden [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
PropertyCall.golden
PropertyLoads.golden
PropertyLoadStore.golden
PropertyStores.golden
PublicClassFields.golden [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
RegExpLiterals.golden
RemoveRedundantLdar.golden
StandardForLoop.golden
StaticClassFields.golden [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
StaticPrivateMethodAccess.golden [message] Improve IteratorSymbolNonCallable error message 2022-08-09 15:32:42 +00:00
StaticPrivateMethodDeclaration.golden [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
StoreGlobal.golden
StringConcat.golden
StringConstants.golden
SuperCallAndSpread.golden
Switch.golden
TemplateLiterals.golden
ThisFunction.golden
Throw.golden
TopLevelObjectLiterals.golden
TryCatch.golden
TryFinally.golden
Typeof.golden
UnaryOperators.golden
WideRegisters.golden
WithStatement.golden