From ba25778f3f24fcf0be5167737b28dd62d7fbeff1 Mon Sep 17 00:00:00 2001 From: Luuk van Dijk Date: Tue, 10 Jan 2012 11:07:35 +0100 Subject: [PATCH] gc: omit runtime.closure wrap for closures without closure variables Fixes #1894. test/closure.go's test for newfunc already covers this. R=rsc, dsymonds, bradfitz CC=golang-dev https://golang.org/cl/5516051 --- src/cmd/gc/closure.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cmd/gc/closure.c b/src/cmd/gc/closure.c index d29e8cbc28..fa44e40fae 100644 --- a/src/cmd/gc/closure.c +++ b/src/cmd/gc/closure.c @@ -192,6 +192,10 @@ walkclosure(Node *func, NodeList **init) Node *xtype, *xfunc, *call, *clos; NodeList *l, *in; + // no closure vars, don't bother wrapping + if(func->cvars == nil) + return makeclosure(func, init, 1)->nname; + /* * wrap body in external function * with extra closure parameters. -- 2.50.0