v8/test/cctest/interpreter
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
..
bytecode_expectations [parser] avoid complex for-loop desugaring when possible 2017-04-19 19:08:40 +00:00
bytecode-expectations-printer.cc [inspector] cache stack frame for call sites 2017-04-12 18:33:20 +00:00
bytecode-expectations-printer.h [interpreter] Add some bytecode tests for modules. 2016-10-04 18:42:36 +00:00
generate-bytecode-expectations.cc [async-iteration] implement Async-from-Sync Iterator 2017-02-24 17:48:49 +00:00
interpreter-tester.cc Rename TypeFeedbackVector to FeedbackVector. 2017-02-07 14:46:36 +00:00
interpreter-tester.h Link type feedback vectors to the shared function info. 2017-02-08 08:33:33 +00:00
source-position-matcher.cc [inspector] cache stack frame for call sites 2017-04-12 18:33:20 +00:00
source-position-matcher.h Use source position table for unoptimized code. 2016-06-28 05:52:52 +00:00
test-bytecode-generator.cc [parser] avoid complex for-loop desugaring when possible 2017-04-19 19:08:40 +00:00
test-interpreter-intrinsics.cc [interpreter] Split function into Receiver() and Parameter(i). 2017-03-30 09:40:08 +00:00
test-interpreter.cc Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
test-source-positions.cc [Interpreter] Move dead code elimination to BytecodeArrayWriter. 2017-04-11 12:39:14 +00:00