http2: remove method value allocation per read frame

benchmark                        old ns/op     new ns/op     delta
BenchmarkServer_GetRequest-2     269540        259453        -3.74%

benchmark                        old allocs     new allocs     delta
BenchmarkServer_GetRequest-2     25             24             -4.00%

benchmark                        old bytes     new bytes     delta
BenchmarkServer_GetRequest-2     1613          1599          -0.87%

Change-Id: I33609d8fbe2f81e32095fac8b89ddd55592e583f
Reviewed-on: https://go-review.googlesource.com/20998
Reviewed-by: Andrew Gerrand <adg@golang.org>
diff --git a/http2/server.go b/http2/server.go
index 1e62c9c..74ec4a3 100644
--- a/http2/server.go
+++ b/http2/server.go
@@ -598,10 +598,11 @@
 // It's run on its own goroutine.
 func (sc *serverConn) readFrames() {
 	gate := make(gate)
+	gateDone := gate.Done
 	for {
 		f, err := sc.framer.ReadFrame()
 		select {
-		case sc.readFrameCh <- readFrameResult{f, err, gate.Done}:
+		case sc.readFrameCh <- readFrameResult{f, err, gateDone}:
 		case <-sc.doneServing:
 			return
 		}