DescriptionImplement 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=
Committed: http://code.google.com/p/v8/source/detail?r=15776
Patch Set 1 : Tweak #Patch Set 2 : Minor fix #
Total comments: 8
Patch Set 3 : Comments #
Messages
Total messages: 5 (0 generated)
|