Descriptioncompiler: Stack-allocate non-escaping variables.
This change allows variables initialized through make or new
to be allocated on the stack via a temporary variable if they
do not escape their function. It also improves the analysis to
consider situations where variables escape in the standard
library and go testsuite such as:
*nested composite literals and composite literal arguments
*method receivers always escaping
*escape via statements in closures referring to enclosing variables
*escape via calls with multiple return results
Patch Set 1 #Patch Set 2 : diff -r 0def388e2919 https://code.google.com/p/gofrontend #Patch Set 3 : diff -r 0def388e2919 https://code.google.com/p/gofrontend #Patch Set 4 : diff -r 0def388e2919 https://code.google.com/p/gofrontend #
Total comments: 6
Patch Set 5 : diff -r 0def388e2919 https://code.google.com/p/gofrontend #
Total comments: 4
Patch Set 6 : diff -r 0def388e2919 https://code.google.com/p/gofrontend #
MessagesTotal messages: 8
|