v8/test/cctest/interpreter/bytecode_expectations
Caitlin Potter 10b9c019ce [parser] avoid for-loop desugaring unless loop var may be captured
In https://chromium-review.googlesource.com/c/472247/, I avoided
running DesugarLexicalBindingsInForStatement() if there were no lexical
loop variables, the function was not resumable, and the variables are
not captured by eval or a function declaration.

I think it's now possible to limit this further, and only do the more
extensive desugaring if there's a function declaration / eval() call
in the loop body. `yield` and `await` are not an issue as those loop
variables are written to the register file and not lost.

This change just removes the `is_resumable()` condition. If it passes
tests, I think it's safe.

BUG=v8:4762, v8:5460, v8:6579

Change-Id: I92d0308ad9401c1338411bc9ae9021f978803d3a
Reviewed-on: https://chromium-review.googlesource.com/563587
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46536}
2017-07-10 18:06:18 +00:00
..
ArrayLiterals.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
ArrayLiteralsWide.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
AssignmentsInBinaryExpression.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
AsyncGenerators.golden [runtime] Create only one instance of %ThrowTypeError%. 2017-07-10 08:26:02 +00:00
BasicBlockToBoolean.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
BasicLoops.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
BreakableBlocks.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
CallAndSpread.golden Revert "(Reland) [parser] moved load property position after dot" 2017-07-08 11:37:12 +00:00
CallGlobal.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
CallLookupSlot.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
CallNew.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
CallRuntime.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
ClassAndSuperClass.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
ClassDeclarations.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
CompareNil.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
CompareTypeOf.golden [Interpreter] Optimize code of the form 'if (x === undefined)'. 2017-04-03 14:17:16 +00:00
CompoundExpressions.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
Conditional.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
ConstVariable.golden Revert "[ignition] Merge bytecode array builder and writer" 2017-06-27 09:10:18 +00:00
ConstVariableContextSlot.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
ContextParameters.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
ContextVariables.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
CountOperators.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
CreateArguments.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
CreateRestParameter.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
DeadCodeRemoval.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
DeclareGlobals.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
Delete.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
DeleteLookupSlotInEval.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
DoDebugger.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
DoExpression.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
Eval.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
ForAwaitOf.golden [runtime] Create only one instance of %ThrowTypeError%. 2017-07-10 08:26:02 +00:00
ForIn.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
ForOf.golden [runtime] Create only one instance of %ThrowTypeError%. 2017-07-10 08:26:02 +00:00
ForOfLoop.golden [runtime] Create only one instance of %ThrowTypeError%. 2017-07-10 08:26:02 +00:00
FunctionLiterals.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
GenerateTestUndetectable.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
Generators.golden [runtime] Create only one instance of %ThrowTypeError%. 2017-07-10 08:26:02 +00:00
GlobalCompoundExpressions.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
GlobalCountOperators.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
GlobalDelete.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
HeapNumberConstants.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
IfConditions.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
IntegerConstants.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
JumpsRequiringConstantWideOperands.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
LetVariable.golden [Interpreter] Introduce bytecodes that check for hole and throw. 2017-06-06 09:41:31 +00:00
LetVariableContextSlot.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
LoadGlobal.golden Revert "(Reland) [parser] moved load property position after dot" 2017-07-08 11:37:12 +00:00
LogicalExpressions.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
LookupSlot.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
LookupSlotInEval.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
LookupSlotWideInEval.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
Modules.golden Revert "(Reland) [parser] moved load property position after dot" 2017-07-08 11:37:12 +00:00
NewAndSpread.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
NewTarget.golden [ignition] Fix register flushing performance issue 2017-06-09 09:58:15 +00:00
ObjectLiterals.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
ObjectLiteralsWide.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
OuterContextVariables.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
Parameters.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
PrimitiveExpressions.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
PrimitiveReturnStatements.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
PropertyCall.golden Revert "(Reland) [parser] moved load property position after dot" 2017-07-08 11:37:12 +00:00
PropertyLoads.golden Revert "(Reland) [parser] moved load property position after dot" 2017-07-08 11:37:12 +00:00
PropertyStores.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
RegExpLiterals.golden Revert "(Reland) [parser] moved load property position after dot" 2017-07-08 11:37:12 +00:00
RegExpLiteralsWide.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
RemoveRedundantLdar.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
StandardForLoop.golden [parser] avoid for-loop desugaring unless loop var may be captured 2017-07-10 18:06:18 +00:00
StoreGlobal.golden Revert "(Reland) [parser] moved load property position after dot" 2017-07-08 11:37:12 +00:00
StringConcat.golden Reland: Enable StringConcat bytecode. 2017-07-07 10:19:39 +00:00
StringConstants.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
SuperCallAndSpread.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
Switch.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
ThisFunction.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
Throw.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
TopLevelObjectLiterals.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
TryCatch.golden [Interpreter] Allocate context registers as temporary registers. 2017-05-24 17:12:02 +00:00
TryFinally.golden [Interpreter] Allocate context registers as temporary registers. 2017-05-24 17:12:02 +00:00
Typeof.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
UnaryOperators.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
WideRegisters.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00
WithStatement.golden [runtime] Move profiler ticks from SFI to feedback vector 2017-07-05 12:04:50 +00:00