v8/tools
rossberg@chromium.org 02649f08bc Implement simple effect typing for variables
For that, we maintain an abstract store typing of all variables with LOCAL location (i.e., those that do not escape the function's own scope). We treat assignments as sequential effects that modify this store.

When control flow branches, we have to compute the disjunction of possible effects. To that end, we represent the store as a stack of effect sets, such that we can cheaply push and pop "local" effects when control flow has to branch.

In cases of non-local control transfer from an unknown source, we currently erase all knowledge about the store.

The 'switch' statement is still to come.

For a formulation of the typing rules, see:

https://docs.google.com/a/google.com/file/d/0B3wuXSv9YKuKeUNkVXZDemZ0Z1E

;)

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-19 12:54:27 +00:00
..
blink_tests Update blink test expectations. 2013-07-18 12:22:23 +00:00
gcmole Make sure GCMole pukes when Clang invocation fails. 2013-06-17 18:00:23 +00:00
generate_shim_headers Add dependency to ICU 4.6 2013-07-01 08:32:41 +00:00
gyp Implement simple effect typing for variables 2013-07-19 12:54:27 +00:00
oom_dump Keep two empty lines between declarations for cpp files 2013-07-05 09:52:11 +00:00
perf_tests Update performance baseline to newest chromium LKGR. 2013-07-04 07:32:57 +00:00
profviz Fix plot script. 2013-07-10 07:53:27 +00:00
testrunner Migrate blink tests that are not relevant to blink into a new V8 test suite called 'blink'. 2013-06-26 14:23:30 +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 Fix Android V8 path for testing on devices. 2013-06-28 07:31:23 +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 Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +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 Add ARM support to tools/grokdump.py 2013-01-07 09:48:04 +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 Synched postmortem script with not-so-recent changes. 2013-01-03 13:11:47 +00:00
generate-ten-powers.scm Fast double-to-ascii conversion. 2010-03-11 14:49:35 +00:00
grokdump.py Grokdump: new shell command, "lm" 2013-07-01 11:37:40 +00:00
js2c.py Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +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 llprof improvements 2012-12-07 12:51:33 +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
mingw-generate-makefiles.sh MinGW: Add Cygwin-free Makefile generation script 2013-04-15 08:43:18 +00:00
nacl-run.py A helper script for testing Native Client builds of V8. 2013-04-09 08:31:17 +00:00
plot-timer-events Add v8.log visualizer page. 2013-06-24 13:25:58 +00:00
presubmit.py Keep two empty lines between declarations for cpp files 2013-07-05 09:52: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 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-llprof.sh llprof improvements 2012-12-07 12:51:33 +00:00
run-tests.py Add support for JUnit compatible XML output in the new test runner. 2013-04-11 00:22:26 +00:00
run-valgrind.py Unify the shebang line of python scripts 2013-01-29 10:40:43 +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 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 Add option to limit tick processor to a time range. 2013-01-29 14:41:02 +00:00
tickprocessor.js Do not store fp and sp values in TickSample 2013-07-03 16:20:59 +00:00
v8-info.sh Add sample usage / output and -u option 2013-06-12 15:36:11 +00:00
v8-rolls.sh Adding useful scripts to parse revision info. 2013-06-12 10:39:52 +00:00
windows-tick-processor.bat Make windows-tick-processor respect D8_PATH. 2010-10-25 15:04:08 +00:00