]> Cypherpunks repositories - gostls13.git/commit
gc: make merely referencing an outer variable in a closure not force heapallocation.
authorLuuk van Dijk <lvd@golang.org>
Wed, 1 Jun 2011 15:02:43 +0000 (17:02 +0200)
committerLuuk van Dijk <lvd@golang.org>
Wed, 1 Jun 2011 15:02:43 +0000 (17:02 +0200)
commit2c4edb0eea6503da73eec69261b2771ad0c9d973
treefef7a6339ae7890f4a92499e61732dee73cfeaa6
parentdcbf59cb4e8701b9be26013400fd21d60fa9a55d
gc: make merely referencing an outer variable in a closure not force heapallocation.

before: runtime_test.BenchmarkCallClosure1       20000000              135 ns/op
after:  runtime_test.BenchmarkCallClosure1      500000000                6 ns/op

R=rsc
CC=golang-dev
https://golang.org/cl/4527091
src/cmd/gc/closure.c
src/cmd/gc/dcl.c
src/cmd/gc/go.h
src/cmd/gc/typecheck.c
src/pkg/runtime/closure_test.go