• svenpanne@chromium.org's avatar
    Added a simple dead code removal phase. · f03fd70d
    svenpanne@chromium.org authored
    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
    f03fd70d
Name
Last commit
Last update
..
gcmole Loading commit data...
gyp Loading commit data...
oom_dump Loading commit data...
testrunner Loading commit data...
v8.xcodeproj Loading commit data...
visual_studio Loading commit data...
android-build.sh Loading commit data...
android-ll-prof.sh Loading commit data...
android-run.py Loading commit data...
android-sync.sh Loading commit data...
bash-completion.sh Loading commit data...
check-static-initializers.sh Loading commit data...
codemap.js Loading commit data...
common-includes.sh Loading commit data...
consarray.js Loading commit data...
csvparser.js Loading commit data...
disasm.py Loading commit data...
freebsd-tick-processor Loading commit data...
fuzz-harness.sh Loading commit data...
gc-nvp-trace-processor.py Loading commit data...
gdb-v8-support.py Loading commit data...
gen-postmortem-metadata.py Loading commit data...
generate-ten-powers.scm Loading commit data...
grokdump.py Loading commit data...
js2c.py Loading commit data...
jsmin.py Loading commit data...
linux-tick-processor Loading commit data...
ll_prof.py Loading commit data...
logreader.js Loading commit data...
mac-nm Loading commit data...
mac-tick-processor Loading commit data...
merge-to-branch.sh Loading commit data...
presubmit.py Loading commit data...
process-heap-prof.py Loading commit data...
profile.js Loading commit data...
profile_view.js Loading commit data...
push-to-trunk.sh Loading commit data...
run-tests.py Loading commit data...
run-valgrind.py Loading commit data...
splaytree.js Loading commit data...
stats-viewer.py Loading commit data...
status-file-converter.py Loading commit data...
test-server.py Loading commit data...
test-wrapper-gypbuild.py Loading commit data...
test.py Loading commit data...
tickprocessor-driver.js Loading commit data...
tickprocessor.js Loading commit data...
utils.py Loading commit data...
windows-tick-processor.bat Loading commit data...