v8/test/cctest/interpreter/bytecode_expectations
Toon Verwaest 3cad6bf5d7 Reland^2 "[runtime] Move Context::native_context to the map"
This is a reland of c7c47c68f2.

This makes TSAN happy in addition to:

Previously I presumed that the context read from a frame in the profiler was
a valid context. Turns out that on non-intel we're not guaranteed that the
frame is properly set up. In the case we looked at, the profiler took a
sample right before writing the frame marker indicating a builtin frame,
causing the "context" pointer from that frame to be a bytecode array. Since
we'll read random garbage on the stack as a possible context pointer, I made
the code reading the native context from it a little more defensive.

Bug: v8:9860
Tbr: ulan@chromium.org, neis@chromium.org, ishell@chromium.org

Original change's description:
> [runtime] Move Context::native_context to the map
>
> Remove the native context slot from contexts by making context maps
> native-context-specific. Now we require 2 loads to go from a context to the
> native context, but we have 1 field fewer to store when creating contexts.
>
> Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629
> Commit-Queue: Toon Verwaest <verwaest@chromium.org>
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Reviewed-by: Peter Marshall <petermarshall@chromium.org>
> Reviewed-by: Maya Lekova <mslekova@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#64296}

Change-Id: I4d0ab4cbbb23a9ae616407f17ef8f35a0b68ddb4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864654
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64360}
2019-10-17 17:33:08 +00:00
..
ArrayLiterals.golden Extend GetIterator bytecode to perform JSReceiver check on object[Symbol.iterator]() 2019-09-12 08:51:35 +00:00
AssignmentsInBinaryExpression.golden [parser] Add an n-ary node for large binop chains 2017-10-25 11:28:55 +00:00
AsyncGenerators.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
AsyncModules.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
BasicBlockToBoolean.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
BasicLoops.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
BreakableBlocks.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
CallAndSpread.golden Extend GetIterator bytecode to perform JSReceiver check on object[Symbol.iterator]() 2019-09-12 08:51:35 +00:00
CallGlobal.golden [Cleanup][Interpreter] Move feedback slot allocation to bytecode generator 2017-10-19 16:17:14 +00:00
CallLookupSlot.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
CallNew.golden [Cleanup][Interpreter] Move feedback slot allocation to bytecode generator 2017-10-19 16:17:14 +00:00
CallRuntime.golden [cleanup] Drop spread.js for good. 2018-03-12 09:44:11 +00:00
ClassAndSuperClass.golden [hole-check-elimination] Simplest possible hole check elimination 2019-09-20 17:27:49 +00:00
ClassDeclarations.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
CompareNil.golden Reland "[ignition] Skip binding dead labels" 2019-02-28 14:06:15 +00:00
CompareTypeOf.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
CompoundExpressions.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
Conditional.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
ConstVariable.golden [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
ConstVariableContextSlot.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
ContextParameters.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
ContextVariables.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
CountOperators.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
CreateArguments.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
CreateRestParameter.golden [parser] Iterate declarations to set initializer positions 2019-01-23 13:28:58 +00:00
DeadCodeRemoval.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
DeclareGlobals.golden Allocate feedback cells in an array decoupled from other slots 2019-03-11 11:20:21 +00:00
Delete.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
DeleteLookupSlotInEval.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
DestructuringAssignment.golden [regexp] Modify matchAll to throw on non-globals. 2019-10-16 13:34:15 +00:00
DoDebugger.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
Eval.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
ForAwaitOf.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
ForIn.golden [interpreter] add JumpIfUndefinedOrNull 2019-08-08 16:44:35 +00:00
ForOf.golden [regexp] Modify matchAll to throw on non-globals. 2019-10-16 13:34:15 +00:00
ForOfLoop.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
FunctionLiterals.golden Allocate feedback cells in an array decoupled from other slots 2019-03-11 11:20:21 +00:00
GenerateTestUndetectable.golden [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00
Generators.golden [regexp] Modify matchAll to throw on non-globals. 2019-10-16 13:34:15 +00:00
GlobalCompoundExpressions.golden [interpreter] Merge StaGlobal[Sloppy/Strict] into one bytecode. 2017-12-14 10:03:00 +00:00
GlobalCountOperators.golden [interpreter] Merge StaGlobal[Sloppy/Strict] into one bytecode. 2017-12-14 10:03:00 +00:00
GlobalDelete.golden [ignition] Fix return value of delete on global lexical variables 2017-08-23 16:17:48 +00:00
HeapNumberConstants.golden [ast] Move AstValue implementation into Literal 2017-10-27 20:21:29 +00:00
IfConditions.golden Reland "Optimize in operator" 2019-03-01 09:01:18 +00:00
IIFEWithOneshotOpt.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
IIFEWithoutOneshotOpt.golden [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00
IntegerConstants.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
LetVariable.golden [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
LetVariableContextSlot.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
LoadGlobal.golden [Interpreter] Share feedback slots for load / store named properties 2018-05-14 10:21:42 +00:00
LogicalExpressions.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
LookupSlot.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
LookupSlotInEval.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
Modules.golden [scope] Add Scope::ForEach helper to avoid recursion 2019-01-31 16:22:59 +00:00
NewAndSpread.golden [class] implement static private methods 2019-10-10 15:34:44 +00:00
NewTarget.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
ObjectLiterals.golden Allocate feedback cells in an array decoupled from other slots 2019-03-11 11:20:21 +00:00
OuterContextVariables.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
Parameters.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
PrimitiveExpressions.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
PrimitiveReturnStatements.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
PrivateAccessorAccess.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
PrivateAccessorDeclaration.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
PrivateClassFields.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
PrivateMethodAccess.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
PrivateMethodDeclaration.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
PropertyCall.golden [Interpreter] Enable sharing of load / store named property feedback 2018-06-05 09:21:59 +00:00
PropertyLoads.golden [Interpreter] Share feedback slots for load / store named properties 2018-05-14 10:21:42 +00:00
PropertyLoadStoreOneShot.golden Reland "[interpreter] Separate bytecodes for one-shot property loads and stores" 2018-09-27 13:56:53 +00:00
PropertyLoadStoreWithoutOneShot.golden [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00
PropertyStores.golden [Interpreter] Enable sharing of load / store named property feedback 2018-06-05 09:21:59 +00:00
PublicClassFields.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
RegExpLiterals.golden [Cleanup][Interpreter] Move feedback slot allocation to bytecode generator 2017-10-19 16:17:14 +00:00
RemoveRedundantLdar.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
StandardForLoop.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
StaticClassFields.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
StaticPrivateMethodAccess.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
StaticPrivateMethodDeclaration.golden Reland^2 "[runtime] Move Context::native_context to the map" 2019-10-17 17:33:08 +00:00
StoreGlobal.golden [Interpreter] Share feedback slots for load / store named properties 2018-05-14 10:21:42 +00:00
StringConcat.golden Allocate feedback cells in an array decoupled from other slots 2019-03-11 11:20:21 +00:00
StringConstants.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
SuperCallAndSpread.golden [hole-check-elimination] Simplest possible hole check elimination 2019-09-20 17:27:49 +00:00
Switch.golden [FeedbackVector] Case statements can share a single vector slot 2017-11-07 11:16:47 +00:00
TemplateLiterals.golden Allocate feedback cells in an array decoupled from other slots 2019-03-11 11:20:21 +00:00
ThisFunction.golden Move function name var initialization to BytecodeGenerator 2017-11-27 18:37:47 +00:00
Throw.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
TopLevelObjectLiterals.golden Allocate feedback cells in an array decoupled from other slots 2019-03-11 11:20:21 +00:00
TryCatch.golden Reland "[ignition] Skip binding dead labels" 2019-02-28 14:06:15 +00:00
TryFinally.golden Remove the catch variable name from the extension field of catch contexts 2018-05-04 10:12:08 +00:00
Typeof.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
UnaryOperators.golden [Cleanup][Interpreter] Move feedback slot allocation to bytecode generator 2017-10-19 16:17:14 +00:00
WideRegisters.golden [interpreter] add JumpIfUndefinedOrNull 2019-08-08 16:44:35 +00:00
WithStatement.golden [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00