v8/tools
adamk 02e4d21f4c [es6] Fix scoping for default parameters in arrow functions
When eagerly parsing arrow functions, expressions in default
parameter initializers are parsed in the enclosing scope,
rather than in the function's scope (since that scope does not
yet exist). This leads to VariableProxies being added to the
wrong scope, and scope chains for FunctionLiterals being incorrect.

This patch addresses these problems by adding a subclass of
AstExpressionVisitor that moves VariableProxies to the proper
scope and fixes up scope chains of FunctionLiterals.

This is a revert of the revert https://crrev.com/e41614a058426fb6102e4ab2dd4f98997f00c0fc
with a much-improved (though not yet perfect) Scope::ResetOuterScope
method which properly fixes not only the outer_scope_ pointer but also
fixes the inner_scope_ list in the relevant outer_scopes.

More work likely still needs to be done to make this work completely,
but it's very close to correct.

BUG=v8:4395
LOG=y

Review URL: https://codereview.chromium.org/1414283002

Cr-Commit-Position: refs/heads/master@{#31435}
2015-10-21 12:04:20 +00:00
..
blink_tests [test] Unskip layout tests after fixing bot. 2015-06-18 07:10:36 +00:00
cfi Port cfi blacklist from chromium. 2015-09-15 08:45:51 +00:00
gcmole Make gcmole execute in parallel. 2015-02-18 15:35:34 +00:00
generate_shim_headers Add dependency to ICU 4.6 2013-07-01 08:32:41 +00:00
gyp [es6] Fix scoping for default parameters in arrow functions 2015-10-21 12:04:20 +00:00
luci-go [swarming] Add luci-go's isolate tool, downloaded via runhooks. 2015-10-01 12:11:46 +00:00
ninja [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
oom_dump Reland "Merge old data and pointer space." 2015-04-07 11:32:10 +00:00
perf_tests Update performance baseline to newest chromium LKGR. 2013-07-04 07:32:57 +00:00
profviz IC misses should not count towards execution pauses in plots. 2014-06-18 11:05:31 +00:00
release [release] Roll the more frequently updated lkgr ref into chromium. 2015-10-07 10:28:31 +00:00
sanitizers Add link to tsan bug to suppression 2014-10-09 09:51:21 +00:00
sodium Add tool to visualize machine code/lithium. 2013-10-21 13:35:48 +00:00
testrunner [test] Differentiate between exhaustive and default testing variants. 2015-10-20 13:16:51 +00:00
unittests [test] More robust perf runner with profiler option. 2015-09-15 08:16:10 +00:00
v8.xcodeproj Add support for building Xcode project files from GYP files 2011-06-09 09:07:17 +00:00
vim [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
visual_studio Remove the Visual Studio project files 2011-05-02 13:43:13 +00:00
android-build.sh Rewrite Makefile rules for Android to allow parallel execution 2012-07-27 11:14:44 +00:00
android-ll-prof.sh Change default ARCH version in android low-level profiler script to 4.6 2012-10-08 11:11:30 +00:00
android-run.py Fix Android V8 path for testing on devices. 2013-06-28 07:31:23 +00:00
android-sync.sh Copy unittests binary in android-sync.sh 2014-11-18 18:36:57 +00:00
bash-completion.sh Make tools/bash-completion.sh robust against arbitrary CWD 2014-02-18 09:12:11 +00:00
check-inline-includes.sh Remove inline header includes from non-inline headers (1). 2015-08-12 07:32:54 +00:00
check-static-initializers.sh Reland^3 r22105 "Remove static initializer from isolate" 2014-07-07 10:56:36 +00:00
check-unused-bailouts.sh Remove unused bailout reasons. 2015-07-13 13:34:12 +00:00
codemap.js Tick processor: Print C++ entry points 2014-10-17 15:44:02 +00:00
compare-table-gen.js Add more exhaustive tests for Math.min and Math.max. 2015-04-10 12:35:16 +00:00
concatenate-files.py Support external startup data in V8. 2014-06-23 13:52:17 +00:00
consarray.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
cpu.sh Reactivate all the cores in cpu.sh. 2015-03-12 18:01:58 +00:00
cross_build_gcc.sh Fix tools/cross_build_gcc.sh. 2014-02-20 16:37:40 +00:00
csvparser.js Shorten constructor names in JS tickprocessor. 2011-02-10 07:47:28 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
detect-builtins.js Add a script that can generate simple test cases for user-exposed JS builtins 2014-09-11 09:58:58 +00:00
disasm.py ll_prof: Do not use the deprecated tempfile.mktemp() 2015-10-19 16:08:38 +00:00
draw_instruction_graph.sh Rename A64 port to ARM64 port 2014-03-21 09:28:26 +00:00
eval_gc_nvp.py [tools] Add ranking to GC NVP eval script 2015-10-15 11:37:42 +00:00
external-reference-check.py Store offset between fixed typed array base and data start in object 2015-07-22 10:32:25 +00:00
find_depot_tools.py Prototype for a client-side performance trybot script. 2014-11-18 14:40:00 +00:00
find-commit-for-patch.py Add tools/find-commit-for-patch.py 2014-12-16 14:25:00 +00:00
freebsd-tick-processor * Fix build errors on FreeBSD 8.2 2011-03-16 11:15:43 +00:00
fuzz-harness.sh [test] Make fuzzer output the archive file name for easy upload. 2015-09-24 14:51:41 +00:00
gc_nvp_common.py [tools] Add gc-nvp-to-csv.py script. 2015-06-19 10:40:47 +00:00
gc-nvp-to-csv.py [tools] Add gc-nvp-to-csv.py script. 2015-06-19 10:40:47 +00:00
gc-nvp-trace-processor.py [tools] Add gc-nvp-to-csv.py script. 2015-06-19 10:40:47 +00:00
gdb-v8-support.py Fix missing "re" module import in GDB support script 2015-07-21 09:28:50 +00:00
gdbinit Special printing for type feedback vectors. 2015-07-15 12:22:03 +00:00
gen-postmortem-metadata.py Update post-mortem metadata generation 2015-09-25 04:59:40 +00:00
generate-builtins-tests.py Add a script that can generate simple test cases for user-exposed JS builtins 2014-09-11 09:58:58 +00:00
generate-ten-powers.scm Fast double-to-ascii conversion. 2010-03-11 14:49:35 +00:00
grokdump.py Add ARM64 suppport to grokdump.py 2015-06-03 11:07:31 +00:00
isolate_driver.py [swarming] Add isolate driver. 2015-10-01 12:32:09 +00:00
js2c.py Put experimental extras through the same filters as non-experimental 2015-10-14 17:38:47 +00:00
jsmin.py jsmin.py: Fix issue with escaping of back ticks 2015-06-24 22:29:46 +00:00
linux-tick-processor Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
ll_prof.py Fix ll_prof.py for static binaries. 2015-03-16 11:34:52 +00:00
logreader.js [tick processor] Introduce --pairwise-timed-range processing mode 2015-05-05 14:17:48 +00:00
mac-nm Fix mac-nm script to support filenames w/spaces 2009-08-13 14:03:12 +00:00
mac-tick-processor Implement shared libraries logging on Mac OS X, added required support in Tick Processor. 2009-07-14 05:01:06 +00:00
mingw-generate-makefiles.sh MinGW: Add Cygwin-free Makefile generation script 2013-04-15 08:43:18 +00:00
nacl-run.py Use the pnacl-clang toolchain for (P)NaCL builds 2014-10-06 08:10:50 +00:00
OWNERS Add initial set of sub directory OWNERS file 2015-04-02 08:46:24 +00:00
parser-shell.cc Rework startup-data-util. 2015-08-14 12:11:46 +00:00
parser-shell.gyp Rework startup-data-util. 2015-08-14 12:11:46 +00:00
perf-to-html.py perf-to-html.py - render JSON try perf jobs in a pleasing way. 2015-03-27 09:52:25 +00:00
plot-timer-events Fix bug in tools/plot-timer-events 2014-06-06 08:15:05 +00:00
presubmit.py [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
process-heap-prof.py Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
profile_view.js Tick processor: improved [Summary] section 2014-08-04 08:31:49 +00:00
profile.js Profiler improvements 2015-01-20 16:06:09 +00:00
run_perf.py [test] More robust perf runner with profiler option. 2015-09-15 08:16:10 +00:00
run-deopt-fuzzer.py Fix for deopt fuzzer which was broken by https://codereview.chromium.org/1352803002 2015-09-17 14:05:43 +00:00
run-llprof.sh Fix tools/run-llprof.sh to work with newer perf. 2014-10-09 06:01:41 +00:00
run-tests.py [test] Differentiate between exhaustive and default testing variants. 2015-10-20 13:16:51 +00:00
run-valgrind.py Unify the shebang line of python scripts 2013-01-29 10:40:43 +00:00
run.py First cut at run_mksnapshot action for gn 2014-06-03 06:50:46 +00:00
shell-utils.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
SourceMap.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
splaytree.js Remove support for logging into a memory buffer. 2011-07-13 11:31:22 +00:00
stats-viewer.py tools/stats-viewer: Update chromium stats table layout. 2011-05-25 16:47:54 +00:00
test-server.py Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +00:00
tick-processor.html Add HTML-based tick processor 2012-12-12 15:06:50 +00:00
tickprocessor-driver.js [Tick processor] Add an option to the tick-processor to print the summary. 2015-09-03 18:01:48 +00:00
tickprocessor.js [Tick processor] Add an option to the tick-processor to print the summary. 2015-09-03 18:01:48 +00:00
trace-maps-processor.py Add FLAG_trace_maps 2014-11-07 16:03:44 +00:00
try_perf.py [test] Add intel atom to perf try category. 2015-10-08 13:04:37 +00:00
v8-info.sh Add public version macros. 2015-02-26 08:59:23 +00:00
v8-rolls.sh Adding useful scripts to parse revision info. 2013-06-12 10:39:52 +00:00
v8heapconst.py [Interpreter] Add BytecodeArray class and add to SharedFunctionInfo. 2015-07-24 12:03:03 +00:00
v8heapconst.py.tmpl Generate grokdump constants with 'make grokdump' now. 2013-08-02 09:02:02 +00:00
verify_source_deps.py Fix missing source dependencies. 2015-06-26 14:24:52 +00:00
whitespace.txt Whitespace change to test adding full set of simdjs tests. 2015-10-19 12:54:43 +00:00
windows-tick-processor.bat Add source map support to tick processor. 2013-08-23 17:20:54 +00:00