v8/tools
svenpanne@chromium.org f03fd70d9e Added a simple dead code removal phase.
We iteratively remove all dead Hydrogen instruction until we reach a fixed point. We consider an instruction dead if it is unused, has no observable side effects and is deletable. The last part of the condition is currently not very nice: We basically have to whitelist "safe" instructions, because we are missing more detailed dependencies and/or more detailed tracking of side effects.

We disable dead code elimination for now in our test runners, because we have tons of poorly written tests which wouldn't test anymore what they are supposed to test with this phase enabled. To get test coverage for dead code elimination itself, we should enable it on a few build bots. This is not really a perfect state, but the best we can do for now.

This patch includes a few const-correctness fixes, most of them were necessary for this CL.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-11 10:52:58 +00:00
..
gcmole In gcmole assume that methods exiting VM can cause GC. 2012-02-17 11:34:50 +00:00
gyp Make GDBJIT interface compile again. 2012-10-09 08:24:58 +00:00
oom_dump Update oom_dump README to indicate that people should build the correct V8 version. 2011-07-26 06:03:36 +00:00
testrunner Test runner: More fixes. 2012-10-02 08:50:02 +00:00
v8.xcodeproj Add support for building Xcode project files from GYP files 2011-06-09 09:07:17 +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 Android test runner: Rename "Error" to "ANDROID" 2012-07-19 10:44:15 +00:00
android-sync.sh Android test runner: Make android-sync.sh work on Mac 2012-07-23 16:57:22 +00:00
bash-completion.sh Bash completion for d8: fix directory name completion 2012-02-08 17:20:35 +00:00
check-static-initializers.sh Prepare for using GYP build on buildbots 2012-05-11 12:18:09 +00:00
codemap.js Eliminate the need for code delete events in CPU profiler. 2011-09-14 11:47:03 +00:00
common-includes.sh push-to-trunk.sh/merge-to-branch.sh: use "git apply" instead of "patch" to apply patches 2012-10-05 08:58:02 +00:00
consarray.js TickProcessor script reimplemented in JavaScript. 2009-04-27 13:50:42 +00:00
csvparser.js Shorten constructor names in JS tickprocessor. 2011-02-10 07:47:28 +00:00
disasm.py MIPS: Enabled mips in tools/disasm.py. 2012-02-15 08:18:06 +00:00
freebsd-tick-processor * Fix build errors on FreeBSD 8.2 2011-03-16 11:15:43 +00:00
fuzz-harness.sh Fix harness for fuzzer to run for 100 iterations only. 2012-05-23 07:55:38 +00:00
gc-nvp-trace-processor.py Align tools/gc-nvp-trace-processor.py with --trace-gc-nvp output. 2011-12-15 09:41:28 +00:00
gdb-v8-support.py Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
gen-postmortem-metadata.py postmortem: fix postmortem build 2012-06-13 13:48:18 +00:00
generate-ten-powers.scm Fast double-to-ascii conversion. 2010-03-11 14:49:35 +00:00
grokdump.py Extend grokdump.py with simple BreakPad symbol files support. 2012-09-26 12:51:46 +00:00
js2c.py Fixing python deprecations. 2012-05-21 10:19:28 +00:00
jsmin.py Fixing python deprecations. 2012-05-21 10:19:28 +00:00
linux-tick-processor Fix path to d8 and properly quote strings so it works with dash(1) 2012-07-26 10:03:30 +00:00
ll_prof.py Add support for running low level profiler on Android. 2012-09-06 15:01:20 +00:00
logreader.js Fixing presubmit. 2011-09-15 13:20:42 +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
merge-to-branch.sh push-to-trunk.sh/merge-to-branch.sh: use "git apply" instead of "patch" to apply patches 2012-10-05 08:58:02 +00:00
presubmit.py First commit of new tools/run-tests.py 2012-09-24 09:38:46 +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 Shorten constructor names in JS tickprocessor. 2011-02-10 07:47:28 +00:00
profile.js Revert accidental r9229 and r9230 2011-09-12 10:50:40 +00:00
push-to-trunk.sh push-to-trunk.sh/merge-to-branch.sh: use "git apply" instead of "patch" to apply patches 2012-10-05 08:58:02 +00:00
run-tests.py Added a simple dead code removal phase. 2012-10-11 10:52:58 +00:00
run-valgrind.py Changed valgrind script to match changed output format 2009-09-17 12:13:08 +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
status-file-converter.py First commit of new tools/run-tests.py 2012-09-24 09:38:46 +00:00
test-server.py Test runner: More fixes. 2012-10-02 08:50:02 +00:00
test-wrapper-gypbuild.py Build V8 for Android IA 2012-07-18 11:43:44 +00:00
test.py Added a simple dead code removal phase. 2012-10-11 10:52:58 +00:00
tickprocessor-driver.js Add an option to the tickprocessor to specify the directory for lib lookup 2012-07-16 11:00:44 +00:00
tickprocessor.js Add an option to the tickprocessor to specify the directory for lib lookup 2012-07-16 11:00:44 +00:00
utils.py Adding NetBSD support for scons build. 2011-11-16 14:35:47 +00:00
windows-tick-processor.bat Make windows-tick-processor respect D8_PATH. 2010-10-25 15:04:08 +00:00