v8/test/cctest/interpreter/bytecode_expectations
Ross McIlroy c820b89bc5 [Interpreter] Remove new.target from fixed frame slot.
Removes the new.target slot from the interpreter's fixed frame. Instead
adds a field to BytecodeArray to get the bytecode's incoming
new.target or generator object register. The InterpreterEntryTrampoline
then sets this register with the incoming new.target (or generator object)
when the function is called. This register can be directly the new.target
or generator object variable if they are LOCAL location, otherwise it is a
temporary register which is then moved to the variable's location during the
function prologue.

This fixes a hack in the deoptimizer where we would set the new.target fixed
slot to undefined in order to avoid extending it's lifetime through the
optimized code - now it's just a standard register and can be optimized away
as normal.

Bug=v8:6644

Change-Id: Ieb8cc34cccefd9fb6634a90cbc77c6002a54f2ae
Reviewed-on: https://chromium-review.googlesource.com/608966
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47320}
2017-08-11 17:04:08 +00:00
..
ArrayLiterals.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
ArrayLiteralsWide.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
AssignmentsInBinaryExpression.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
AsyncGenerators.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
BasicBlockToBoolean.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
BasicLoops.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
BreakableBlocks.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
CallAndSpread.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
CallGlobal.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
CallLookupSlot.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
CallNew.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
CallRuntime.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
ClassAndSuperClass.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
ClassDeclarations.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
CompareNil.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +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 [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +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 [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
ContextParameters.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
ContextVariables.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
CountOperators.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
CreateArguments.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
CreateRestParameter.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +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 [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
Delete.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
DeleteLookupSlotInEval.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
DoDebugger.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
DoExpression.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
Eval.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
ForAwaitOf.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
ForIn.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
ForOf.golden [parser] Provide better error when destructuring callable 2017-08-01 01:19:08 +00:00
ForOfLoop.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
FunctionLiterals.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
GenerateTestUndetectable.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
Generators.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
GlobalCompoundExpressions.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
GlobalCountOperators.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
GlobalDelete.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
HeapNumberConstants.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
IfConditions.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
IntegerConstants.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
JumpsRequiringConstantWideOperands.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
LetVariable.golden [ignition] removed nop bytecode 2017-07-18 16:14:29 +00:00
LetVariableContextSlot.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
LoadGlobal.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
LogicalExpressions.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
LookupSlot.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
LookupSlotInEval.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
LookupSlotWideInEval.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
Modules.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
NewAndSpread.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
NewTarget.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
ObjectLiterals.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
ObjectLiteralsWide.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +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
PropertyCall.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
PropertyLoads.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
PropertyStores.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
RegExpLiterals.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
RegExpLiteralsWide.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
RemoveRedundantLdar.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
StandardForLoop.golden [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
StoreGlobal.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
StringConcat.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31: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 [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
Switch.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
ThisFunction.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
Throw.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
TopLevelObjectLiterals.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
TryCatch.golden [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
TryFinally.golden [Interpreter] Allocate context registers as temporary registers. 2017-05-24 17:12:02 +00:00
Typeof.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
UnaryOperators.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
WideRegisters.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
WithStatement.golden [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00