]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/gc: allocate backing storage for non-escaping interfaces on stack
authorDavid Chase <drchase@google.com>
Fri, 27 Mar 2015 15:21:14 +0000 (11:21 -0400)
committerDavid Chase <drchase@google.com>
Mon, 30 Mar 2015 16:11:22 +0000 (16:11 +0000)
commit22701339817a591cd352ecd43b0439b84dbe8095
treef8a6493763e9084927fd0c42c3941f3e437f54ef
parentcf7461caedfdef8d771166f4fb6ce0fc381b7100
cmd/gc: allocate backing storage for non-escaping interfaces on stack

Extend escape analysis to convT2E and conT2I. If the interface value
does not escape supply runtime with a stack buffer for the object copy.

This is a straight port from .c to .go of Dmitry's patch

Change-Id: Ic315dd50d144d94dd3324227099c116be5ca70b6
Reviewed-on: https://go-review.googlesource.com/8201
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
src/cmd/internal/gc/builtin.go
src/cmd/internal/gc/builtin/runtime.go
src/cmd/internal/gc/esc.go
src/cmd/internal/gc/walk.go
src/runtime/iface.go
src/runtime/iface_test.go
test/escape2.go