]> Cypherpunks repositories - gostls13.git/commit
reflect: prevent the callXX routines from calling makeFuncStub
authorKeith Randall <khr@golang.org>
Mon, 2 Dec 2013 21:36:50 +0000 (13:36 -0800)
committerKeith Randall <khr@golang.org>
Mon, 2 Dec 2013 21:36:50 +0000 (13:36 -0800)
commit85138da832f8740bee9241e80acb291a4954a10a
treefa3675fc995dd73444f9cd55beec43232e685dfc
parentc792bde9eff10869a503910f9c14ea24047ecafa
reflect: prevent the callXX routines from calling makeFuncStub
and methodValueCall directly.  Instead, we inline their behavior
inside of reflect.call.

This change is required because otherwise we have a situation where
reflect.callXX calls makeFuncStub, neither of which knows the
layout of the args passed between them.  That's bad for
precise gc & stack copying.

Fixes #6619.

R=golang-dev, dvyukov, rsc, iant, khr
CC=golang-dev
https://golang.org/cl/26970044
src/pkg/reflect/all_test.go
src/pkg/reflect/value.go