v8/tools
mtrofin 1cd60451de [turbofan] Greedy allocator refactoring.
Separated core greedy allocator concepts, exposing the APIs we would want to continue working with. In particular, this change completely reworks CoalescedLiveRanges to reflect the fact that we expect more than one possible conflict, scrapping the initial design of the structure. Since this is a critical part of the design, this change may be thought of as a full rewrite of the algorithm.

Reduced all heuristics to just 2 essential ones: split "somewhere", which we'll still need when all other heuristics fail; and spill.

Introduced a simple primitive for splitting - at GapPosition::START. The goal is to use such primitives to quickly and reliably author heuristics.

I expected this primitive to "just work" for any arbitrary instruction index within a live range - e.g. its middle. That's not the case, it seems to upset execution in certain scenarios. Restricting to either before/after use positions seems to work. I'm still investigating what the source of failures is in the case of "arbitrary instruction in the range" case.

I intended to document the rationale and prove the soundness of always using START for splits, but I will postpone to after this last remaining issue is resolved.

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

Cr-Commit-Position: refs/heads/master@{#29352}
2015-06-29 15:56:33 +00:00
..
blink_tests [test] Unskip layout tests after fixing bot. 2015-06-18 07:10:36 +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 [turbofan] Greedy allocator refactoring. 2015-06-29 15:56:33 +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 Revert of [release-tools] Fix possible race condition in retrieval of latest rolled version (patchset #2 id:20001 of https://codereview.chromium.org/1186393007/) 2015-06-19 09:33:00 +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 [Test262-es6] Update to use FAIL_SLOPPY everywhere 2015-06-22 18:53:39 +00:00
unittests Make perf test runner more robust. 2014-12-21 10:25:32 +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-name-clashes.py Unbreak check-name-clashes.py after recent macro renamings. 2015-04-08 07:04:11 +00:00
check-static-initializers.sh Reland^3 r22105 "Remove static initializer from isolate" 2014-07-07 10:56:36 +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 ARM64: Enable low level profiling. 2014-06-24 12:40:20 +00:00
draw_instruction_graph.sh Rename A64 port to ARM64 port 2014-03-21 09:28:26 +00:00
external-reference-check.py Serializer: move to a subfolder and clean up includes. 2015-03-27 15:29:07 +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 Make timestamp of fuzz harness archives finer grained. 2014-06-12 18:55:09 +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 Extend find-anywhere so it also works while debugging a live process 2015-06-18 11:57:03 +00:00
gdbinit Update PrintStack signature in gdbinit 2015-06-12 08:35:50 +00:00
gen-postmortem-metadata.py postmortem: fixup after 33994b4 2015-03-25 10:10:06 +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
js2c.py Use optparse in js2c.py for python compatibility 2015-06-22 12:13:56 +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 Remove unnecessary call to Isolate::Current in parser-shell 2015-05-15 01:47:09 +00:00
parser-shell.gyp Remove deprecated lexer-shell. 2014-10-23 11:42:30 +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 [mjsunit] Import asm.js test case for poppler. 2015-04-22 09:33:43 +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 [android] Remove legacy architecture configs from perf runner. 2015-06-29 15:07:30 +00:00
run-deopt-fuzzer.py [test] Teach test runner about whether novfp3 is on or off 2015-06-23 09:43:21 +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] Teach test runner about whether novfp3 is on or off 2015-06-23 09:43:21 +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 [clang] Use -Wshorten-64-to-32 to enable warnings about 64bit to 32bit truncations. 2015-04-28 06:53:41 +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] Introduce --pairwise-timed-range processing mode 2015-05-05 14:17:48 +00:00
tickprocessor.js [tick processor] Introduce --pairwise-timed-range processing mode 2015-05-05 14:17:48 +00:00
trace-maps-processor.py Add FLAG_trace_maps 2014-11-07 16:03:44 +00:00
try_perf.py [test] Add arm perf trybot to runner script. 2015-05-05 14:17:47 +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 [grokdump] Update v8heapconst.py 2015-06-08 18:16:12 +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 android ninja/goma switch. 2015-06-29 12:54:06 +00:00
windows-tick-processor.bat Add source map support to tick processor. 2013-08-23 17:20:54 +00:00