v8/test/cctest/interpreter/bytecode_expectations
Leszek Swirski 732f394c5d [sparkplug] Clobber accumulator in StaGlobal
StaGlobal didn't write the accumulator, but the baseline implementation
assumed that it could preserve the accumulator by taking the return
value of the StoreGlobalIC. This almost always worked, except for
setters on the global object.

Fix this by marking StaGlobal as clobbering the accumulator, same as
StaNamedProperty (StaNamedProperty needs to do this anyway to avoid
inlined setters from needing to create accumulator-preserving frames;
StaGlobal would have needed the same thing if we'd ever inlined setters
for it).

Also, add a new debug scope, EnsureAccumulatorPreservedScope, to the
baseline compiler, which checks if the accumulator value is preserved
across non-accumulator-writing bytecodes. This found a (benign) bug with
ForInPrepare, so fix that too.

Fixed: chromium:1242306
Change-Id: I220b5b1c41010c16ac9f944cbd55d2705c299434
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3122325
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76525}
2021-08-27 09:06:13 +00:00
..
ArrayLiterals.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
AssignmentsInBinaryExpression.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
AsyncGenerators.golden [debug] Don't put a source position on internal Returns. 2021-03-02 08:42:10 +00:00
AsyncModules.golden [debugger] Don't attach source positions to implicit returns. 2021-04-30 12:33:29 +00:00
BasicBlockToBoolean.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
BasicLoops.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
BreakableBlocks.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
CallAndSpread.golden [interpreter] Apply Reflect.apply transform in BytecodeGenerator 2021-03-19 11:02:43 +00:00
CallGlobal.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
CallLookupSlot.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
CallNew.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
CallRuntime.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
ClassAndSuperClass.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
ClassDeclarations.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
CompareNil.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
CompareTypeOf.golden [interpreter] Make FunctionEntry StackCheck bytecodes implicit 2020-02-10 17:05:23 +00:00
CompoundExpressions.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
Conditional.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
ConstVariable.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
ConstVariableContextSlot.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
ContextParameters.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
ContextVariables.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
CountOperators.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
CreateArguments.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
CreateRestParameter.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
DeadCodeRemoval.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
DeclareGlobals.golden [sparkplug] Clobber accumulator in StaGlobal 2021-08-27 09:06:13 +00:00
Delete.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
DeleteLookupSlotInEval.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
DestructuringAssignment.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
DoDebugger.golden [interpreter] Make FunctionEntry StackCheck bytecodes implicit 2020-02-10 17:05:23 +00:00
Eval.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
ForAwaitOf.golden [debugger] Don't attach source positions to implicit returns. 2021-04-30 12:33:29 +00:00
ForIn.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
ForOf.golden [debug] Don't put a source position on internal Returns. 2021-03-02 08:42:10 +00:00
ForOfLoop.golden [debugger] Don't attach source positions to implicit returns. 2021-04-30 12:33:29 +00:00
FunctionLiterals.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
GenerateTestUndetectable.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
Generators.golden [debug] Don't put a source position on internal Returns. 2021-03-02 08:42:10 +00:00
GlobalCompoundExpressions.golden [sparkplug] Clobber accumulator in StaGlobal 2021-08-27 09:06:13 +00:00
GlobalCountOperators.golden [sparkplug] Clobber accumulator in StaGlobal 2021-08-27 09:06:13 +00:00
GlobalDelete.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
HeapNumberConstants.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
IfConditions.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
IIFE.golden Remove one-shot function optimizations. 2021-05-21 12:38:18 +00:00
IntegerConstants.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
LetVariable.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
LetVariableContextSlot.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
LoadGlobal.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
LogicalExpressions.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
LookupSlot.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
LookupSlotInEval.golden [interpreter] Make FunctionEntry StackCheck bytecodes implicit 2020-02-10 17:05:23 +00:00
Modules.golden [debug] Don't put a source position on internal Returns. 2021-03-02 08:42:10 +00:00
NewAndSpread.golden [interpreter] Apply Reflect.construct transform in BytecodeGenerator 2021-03-19 18:56:24 +00:00
NewTarget.golden [interpreter] Make FunctionEntry StackCheck bytecodes implicit 2020-02-10 17:05:23 +00:00
ObjectLiterals.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
OuterContextVariables.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
Parameters.golden [interpreter] Make FunctionEntry StackCheck bytecodes implicit 2020-02-10 17:05:23 +00:00
PrimitiveExpressions.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
PrimitiveReturnStatements.golden [interpreter] Make FunctionEntry StackCheck bytecodes implicit 2020-02-10 17:05:23 +00:00
PrivateAccessorAccess.golden Improve error message for Set/Map grow failures 2021-08-18 01:30:10 +00:00
PrivateAccessorDeclaration.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
PrivateClassFieldAccess.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
PrivateClassFields.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
PrivateMethodAccess.golden Improve error message for Set/Map grow failures 2021-08-18 01:30:10 +00:00
PrivateMethodDeclaration.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
PropertyCall.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
PropertyLoads.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
PropertyLoadStore.golden Remove one-shot function optimizations. 2021-05-21 12:38:18 +00:00
PropertyStores.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
PublicClassFields.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
RegExpLiterals.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
RemoveRedundantLdar.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
StandardForLoop.golden [debugger] Don't attach source positions to implicit returns. 2021-04-30 12:33:29 +00:00
StaticClassFields.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
StaticPrivateMethodAccess.golden Improve error message for Set/Map grow failures 2021-08-18 01:30:10 +00:00
StaticPrivateMethodDeclaration.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
StoreGlobal.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
StringConcat.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
StringConstants.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
SuperCallAndSpread.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
Switch.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
TemplateLiterals.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
ThisFunction.golden [interpreter] Make FunctionEntry StackCheck bytecodes implicit 2020-02-10 17:05:23 +00:00
Throw.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
TopLevelObjectLiterals.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
TryCatch.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
TryFinally.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
Typeof.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
UnaryOperators.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
WideRegisters.golden Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
WithStatement.golden [interpreter] Make FunctionEntry StackCheck bytecodes implicit 2020-02-10 17:05:23 +00:00