DescriptionAdd support for (some) assignment expressions to the CFG builder and
fast-mode compiler.
1. We avoid generating a useless temporary for assignments with
nontrivial right-hand sides. Instead of translating id = expr into:
...
tmp = <last expr instruction>
id = tmp
we generate directly
...
id = <last expr instruction>
by passing a data destination ('hint') down the AST. The semantics is
to use the destination as a result location if a temp is needed. It
may be ignored. NULL indicates I don't care and you should generate a
temp.
2. We correctly handle assignments as subexpressions. When building
the CFG for an expression we accumulate the assigned variables and we
emit a move to a fresh temporary if a value in a variable is in
jeopardy of being overwritten.
Committed: http://code.google.com/p/v8/source/detail?r=2643
Patch Set 1 #
Total comments: 4
Patch Set 2 : '' #
Messages
Total messages: 3 (0 generated)
|