v8/tools
mlippautz 55422bdd50 [heap] Use HashMap as scratchpad backing store
We use a scratchpad to remember visited allocation sites for post processing
(making tenure decisions). The previous implementation used a rooted FixedArray
with constant length (256) to remember all sites. Updating the scratchpad is a
bottleneck in any parallel/concurrent implementation of newspace evacuation.

The new implementation uses a HashMap with allocation sites as keys and
temporary counts as values. During evacuation we collect a local hashmap of
visited allocation sites. Upon merging the local hashmap back into a global one
we update potential forward pointers of compacted allocation sites.  The
scavenger can directly enter its entries into the global hashmap. Note that the
actual memento found count is still kept on the AllocationSite as it needs to
survive scavenges and full GCs.

BUG=chromium:524425
LOG=N
R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33233}
2016-01-12 11:46:37 +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
gyp [builtins] Refactor the remaining Date builtins. 2016-01-12 10:48:26 +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
profviz
release [release] Bump max age of last release. 2016-01-04 12:03:49 +00:00
sanitizers Add link to tsan bug to suppression 2014-10-09 09:51:21 +00:00
sodium
testrunner [Interpreter] Enable TurboFan for Ignition variant tests. 2016-01-04 17:33:08 +00:00
unittests [test] More robust perf runner with profiler option. 2015-09-15 08:16:10 +00:00
v8.xcodeproj
vim [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
visual_studio
android-build.sh
android-ll-prof.sh
android-run.py
android-sync.sh Copy unittests binary in android-sync.sh 2014-11-18 18:36:57 +00:00
bash-completion.sh [tools] Fix tools/bash-completion.sh for bool flags and harmony features 2015-12-10 10:01:39 +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.gyp [swarming] Isolate static initializer check. 2016-01-08 12:58:30 +00:00
check-static-initializers.isolate [swarming] Isolate static initializer check. 2016-01-08 12:58:30 +00:00
check-static-initializers.sh
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
consarray.js
cpu.sh [tools] Allow specifying cores for cpu.sh script. 2015-11-18 10:53:30 +00:00
cross_build_gcc.sh
csvparser.js
DEPS
detect-builtins.js
disasm.py ll_prof: Do not use the deprecated tempfile.mktemp() 2015-10-19 16:08:38 +00:00
draw_instruction_graph.sh
eval_gc_nvp.py [tools] Add ranking to GC NVP eval script 2015-10-15 11:37:42 +00:00
eval_gc_time.sh Clean up mark-compact phases and GC counter names. 2015-12-11 11:26:21 +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
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 Clean up mark-compact phases and GC counter names. 2015-12-11 11:26:21 +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 postmortem: Remove Context::GLOBAL_OBJECT_INDEX 2015-12-22 00:18:46 +00:00
generate-builtins-tests.py
generate-ten-powers.scm
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 Implement flag and source getters on RegExp.prototype. 2015-11-05 13:08:55 +00:00
jsmin.py jsmin.py: Fix issue with escaping of back ticks 2015-06-24 22:29:46 +00:00
linux-tick-processor
ll_prof.py Add support for PERF_RECORD_MMAP2 record type 2015-11-26 09:31:32 +00:00
logreader.js [tick processor] Introduce --pairwise-timed-range processing mode 2015-05-05 14:17:48 +00:00
mac-nm
mac-tick-processor
mingw-generate-makefiles.sh
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 Create ast/ and parsing/ subdirectories and move appropriate files 2015-11-26 16:23:07 +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
presubmit.py [presubmit] Enable readability/nolint linter checking. 2015-12-10 10:41:47 +00:00
process-heap-prof.py
profile_view.js
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 [test] Skip some tests on the coverage bot. 2015-12-14 14:38:19 +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 [Interpreter] Enable cctests for igntion variant. 2016-01-05 13:27:31 +00:00
run-valgrind.py
run.py
shell-utils.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
SourceMap.js
splaytree.js
stats-viewer.py
test-server.py
tick-processor.html
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] Make try-perf script more convenient to use. 2015-11-25 14:00:49 +00:00
v8-info.sh Add public version macros. 2015-02-26 08:59:23 +00:00
v8-rolls.sh
v8heapconst.py [heap] Use HashMap as scratchpad backing store 2016-01-12 11:46:37 +00:00
v8heapconst.py.tmpl
verify_source_deps.py Fix missing source dependencies. 2015-06-26 14:24:52 +00:00
whitespace.txt Whitespace change to test swarming switch. 2016-01-12 09:03:57 +00:00
windows-tick-processor.bat