v8/test/cctest/interpreter/bytecode_expectations
Matt Gardner 803ad32414 Reland "Optimize in operator"
The original was reverted for breaking webkit layout tests:
https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/30270

It also caused the following clusterfuzz failures:

chromium:935832
This was a correctness bug due to not properly handling the case of arrays with prototypes other
than Array.prototype. Accesses that were TheHole were not being handled property, both in bounds
holes in holey arrays and out of bounds on either holey or packed arrays. Handling was incorrect
both in access-assembler and in Turbofan.

chromium:935932
This bug was that there was no handling for Has checks on the global object. Turbofan was emitting
code for a store (the 'else' condition on 'access_mode == AccessMode::kLoad'). It hit a DCHECK in
debug builds but in release could show up in different places. This is the bug that caused the
webkit layout test failure that led to the revert.

Both bugs are fixed by in CL, and tests are added for those cases.

Bug: v8:8733, chromium:935932, chromium:935832
Change-Id: Iba0dfcfce6e15d2c0815a7670ece67bc13ba1925
Reviewed-on: https://chromium-review.googlesource.com/c/1493132
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Matt Gardner <magardn@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#59958}
2019-03-01 09:01:18 +00:00
..
ArrayLiterals.golden [ignition] Move destructuring assignments to bytecode generation 2019-01-03 09:41:27 +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 "[ignition] Skip binding dead labels" 2019-02-28 14:06:15 +00:00
BasicBlockToBoolean.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
BasicLoops.golden [scope] Add Scope::ForEach helper to avoid recursion 2019-01-31 16:22:59 +00:00
BreakableBlocks.golden [scope] Add Scope::ForEach helper to avoid recursion 2019-01-31 16:22:59 +00:00
CallAndSpread.golden [ignition] Move destructuring assignments to bytecode generation 2019-01-03 09:41:27 +00:00
CallGlobal.golden [Cleanup][Interpreter] Move feedback slot allocation to bytecode generator 2017-10-19 16:17:14 +00:00
CallLookupSlot.golden Replace Context::closure with Context::scope_info, allowing closure to die. 2018-05-03 12:34:17 +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 Cleanup after removing language mode parameter from SetProperty 2019-01-25 10:51:10 +00:00
ClassDeclarations.golden [scope] Add Scope::ForEach helper to avoid recursion 2019-01-31 16:22:59 +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 [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +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 [parser] Allow declaring variables without a proxy 2019-01-25 09:10:59 +00:00
ContextParameters.golden Replace Context::closure with Context::scope_info, allowing closure to die. 2018-05-03 12:34:17 +00:00
ContextVariables.golden [Interpreter] Share feedback slots for load / store named properties 2018-05-14 10:21:42 +00:00
CountOperators.golden [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00
CreateArguments.golden Replace Context::closure with Context::scope_info, allowing closure to die. 2018-05-03 12:34:17 +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 Reland "[inspector] fixed location of top level function return" 2018-06-18 21:37:49 +00:00
Delete.golden Check for "SuperNotCalled" on "delete this" in a constructor 2019-01-22 18:58:42 +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 Reland "[ignition] Skip binding dead labels" 2019-02-28 14:06:15 +00:00
DoDebugger.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
Eval.golden Replace Context::closure with Context::scope_info, allowing closure to die. 2018-05-03 12:34:17 +00:00
ForAwaitOf.golden Reland "[ignition] Skip binding dead labels" 2019-02-28 14:06:15 +00:00
ForIn.golden [parser] Declare variables through ExpressionScope 2019-01-21 11:37:32 +00:00
ForOf.golden Throw TypeError if a proxy's [[OwnPropertyKeys]] returns dupes 2019-01-29 17:55:06 +00:00
ForOfLoop.golden Reland "[ignition] Skip binding dead labels" 2019-02-28 14:06:15 +00:00
FunctionLiterals.golden [Cleanup][Interpreter] Move feedback slot allocation to bytecode generator 2017-10-19 16:17:14 +00:00
GenerateTestUndetectable.golden [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00
Generators.golden [scope] Add Scope::ForEach helper to avoid recursion 2019-01-31 16:22:59 +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 [Compile] Move decision of whether an IIFE is oneshot into parser. 2019-01-22 15:19:39 +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 [parser] Allow declaring variables without a proxy 2019-01-25 09:10:59 +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 Replace Context::closure with Context::scope_info, allowing closure to die. 2018-05-03 12:34:17 +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 [scope] Add Scope::ForEach helper to avoid recursion 2019-01-31 16:22:59 +00:00
NewTarget.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
ObjectLiterals.golden Cleanup after removing language mode parameter from SetProperty 2019-01-25 10:51:10 +00:00
OuterContextVariables.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +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
PrivateClassFields.golden [scope] Add Scope::ForEach helper to avoid recursion 2019-01-31 16:22:59 +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 [scope] Add Scope::ForEach helper to avoid recursion 2019-01-31 16:22:59 +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 "[ignition] Skip binding dead labels" 2019-02-28 14:06:15 +00:00
StaticClassFields.golden [scope] Add Scope::ForEach helper to avoid recursion 2019-01-31 16:22:59 +00:00
StoreGlobal.golden [Interpreter] Share feedback slots for load / store named properties 2018-05-14 10:21:42 +00:00
StringConcat.golden [parser] Add an n-ary node for large binop chains 2017-10-25 11:28:55 +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 [parser] Iterate declarations to set initializer positions 2019-01-23 13:28:58 +00:00
Switch.golden [FeedbackVector] Case statements can share a single vector slot 2017-11-07 11:16:47 +00:00
TemplateLiterals.golden Reland "[esnext] re-implement template strings" 2018-03-14 18:12:09 +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 [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +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 [parser] Don't create proxies for vars without initialisers 2019-01-28 15:54:40 +00:00
WithStatement.golden [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00