v8/test/cctest/interpreter/bytecode_expectations
Caitlin Potter 267115da42 [parser] avoid complex for-loop desugaring when possible
let/const declarations in "standard" C-style for-loops have
some complex desugaring to accommodate the case where loop
loop variables may be captured. This slows down the baseline
performance of for-loops with let variables.

This change attempts to avoid this desugaring if it's known that
the loop variable is not captured at any point. A side effect of
this change is that let/const loop variables, when not captured
within the loop body, are not necessarily shown in the debugger,
similar to other stack-allocated vars.

BUG=v8:4762, v8:5460
R=marja@chromium.org, adamk@chromium.org, yangguo@chromium.org

Change-Id: I8dbe545a12c086f675972bdba60c94998268311a
Reviewed-on: https://chromium-review.googlesource.com/472247
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44731}
2017-04-19 19:08:40 +00:00
..
ArrayLiterals.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
ArrayLiteralsWide.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
AssignmentsInBinaryExpression.golden Reland: [Interpreter] Move BinaryOp Smi transformation into BytecodeGenerator."" 2017-04-10 09:58:18 +00:00
BasicBlockToBoolean.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
BasicLoops.golden Reland: [Interpreter] Move BinaryOp Smi transformation into BytecodeGenerator."" 2017-04-10 09:58:18 +00:00
BreakableBlocks.golden Reland: [Interpreter] Move BinaryOp Smi transformation into BytecodeGenerator."" 2017-04-10 09:58:18 +00:00
CallAndSpread.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
CallGlobal.golden Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
CallLookupSlot.golden Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
CallNew.golden [Ignition] Rename New and NewWithSpread bytecodes. 2017-02-01 09:04:04 +00:00
CallRuntime.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
ClassAndSuperClass.golden Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
ClassDeclarations.golden [Interpreter] Move ToBoolean elision in BytecodeGenerator. 2017-04-05 16:51:28 +00:00
CompareNil.golden [Interpreter] Move ToBoolean elision in BytecodeGenerator. 2017-04-05 16:51:28 +00:00
CompareTypeOf.golden [Interpreter] Optimize code of the form 'if (x === undefined)'. 2017-04-03 14:17:16 +00:00
CompoundExpressions.golden Reland: [Interpreter] Move BinaryOp Smi transformation into BytecodeGenerator."" 2017-04-10 09:58:18 +00:00
Conditional.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
ConstVariable.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
ConstVariableContextSlot.golden Reland of Thread maybe-assigned through the bytecodes. (patchset #1 id:1 of https://codereview.chromium.org/2680923003/ ) 2017-02-07 20:42:03 +00:00
ContextParameters.golden [FeedbackVector] Infrastructure for literal arrays in the vector. 2017-01-09 15:31:00 +00:00
ContextVariables.golden Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
CountOperators.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
CreateArguments.golden [ignition] Add bytecodes for loads/stores in the current context 2016-10-28 10:11:06 +00:00
CreateRestParameter.golden [parser] Skipping inner funcs: simplify rest parameter handling. 2017-02-28 15:08:31 +00:00
DeadCodeRemoval.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
DeclareGlobals.golden Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
Delete.golden Reland of Thread maybe-assigned through the bytecodes. (patchset #1 id:1 of https://codereview.chromium.org/2680923003/ ) 2017-02-07 20:42:03 +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 [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
Eval.golden Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
ForAwaitOf.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
ForIn.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
ForOf.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
ForOfLoop.golden [parser] avoid complex for-loop desugaring when possible 2017-04-19 19:08:40 +00:00
FunctionLiterals.golden Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
GenerateTestUndetectable.golden [Interpreter] Move ToBoolean elision in BytecodeGenerator. 2017-04-05 16:51:28 +00:00
Generators.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
GlobalCompoundExpressions.golden Reland: [Interpreter] Move BinaryOp Smi transformation into BytecodeGenerator."" 2017-04-10 09:58:18 +00:00
GlobalCountOperators.golden [turbofan] Collect and use type feedback on ToNumber. 2017-04-06 11:54:44 +00:00
GlobalDelete.golden [interpreter] Mark known immutable context slots as immutable 2017-03-07 14:56:05 +00:00
HeapNumberConstants.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
IfConditions.golden Reland: [Interpreter] Move BinaryOp Smi transformation into BytecodeGenerator."" 2017-04-10 09:58:18 +00:00
IntegerConstants.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
JumpsRequiringConstantWideOperands.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
LetVariable.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
LetVariableContextSlot.golden Reland of Thread maybe-assigned through the bytecodes. (patchset #1 id:1 of https://codereview.chromium.org/2680923003/ ) 2017-02-07 20:42:03 +00:00
LoadGlobal.golden [ic] Pass name to LoadGlobalIC again. 2016-11-16 18:17:49 +00:00
LogicalExpressions.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
LookupSlot.golden Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
LookupSlotInEval.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
LookupSlotWideInEval.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
Modules.golden Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
NewAndSpread.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
NewTarget.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
ObjectLiterals.golden Reland: [Interpreter] Move BinaryOp Smi transformation into BytecodeGenerator."" 2017-04-10 09:58:18 +00:00
ObjectLiteralsWide.golden [TypeFeedbackVector] Combine the literals array and the feedback vector. 2017-01-30 12:31:35 +00:00
OuterContextVariables.golden Reland of Thread maybe-assigned through the bytecodes. (patchset #1 id:1 of https://codereview.chromium.org/2680923003/ ) 2017-02-07 20:42:03 +00:00
Parameters.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
PrimitiveExpressions.golden Reland: [Interpreter] Move BinaryOp Smi transformation into BytecodeGenerator."" 2017-04-10 09:58:18 +00:00
PrimitiveReturnStatements.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
PropertyCall.golden [interpreter] Create custom call opcodes for specific argument counts 2017-03-09 14:40:02 +00:00
PropertyLoads.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
PropertyStores.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
RegExpLiterals.golden [interpreter] Create custom call opcodes for specific argument counts 2017-03-09 14:40:02 +00:00
RegExpLiteralsWide.golden [TypeFeedbackVector] Combine the literals array and the feedback vector. 2017-01-30 12:31:35 +00:00
RemoveRedundantLdar.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
StandardForLoop.golden [parser] avoid complex for-loop desugaring when possible 2017-04-19 19:08:40 +00:00
StoreGlobal.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
StringConstants.golden [interpreter] Remove redundant flag from bytecode cctest suite. 2016-10-04 16:30:15 +00:00
SuperCallAndSpread.golden Do not use new struct type where unnecessary. 2017-04-18 12:46:39 +00:00
Switch.golden Reland: [Interpreter] Move BinaryOp Smi transformation into BytecodeGenerator."" 2017-04-10 09:58:18 +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 [ic] Introduce StoreOwnIC. 2017-02-17 15:55:33 +00:00
TryCatch.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
TryFinally.golden [Interpreter] Introduce strict equality bytecode that does not collect feedback. 2017-03-22 12:31:11 +00:00
Typeof.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
UnaryOperators.golden Reland: [Interpreter] Move BinaryOp Smi transformation into BytecodeGenerator."" 2017-04-10 09:58:18 +00:00
WideRegisters.golden [ignition] Expect 'I' for signed bytecode operands 2017-01-25 17:39:24 +00:00
WithStatement.golden [TypeFeedbackVector] Combine the literals array and the feedback vector. 2017-01-30 12:31:35 +00:00