compiler, runtime: Use runtime functions to pass closure value.
authorIan Lance Taylor <ian@gcc.gnu.org>
Tue, 3 Sep 2013 21:52:37 +0000 (21:52 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 3 Sep 2013 21:52:37 +0000 (21:52 +0000)
commit05a7d566782733230696a51ab8575261b8f9f162
tree5f956e4c89959ef335ef73b7ec6e00e4bc2c12d5
parent3b18bc426a5c853bda2bdb9e646c5b00483e982a
compiler, runtime: Use runtime functions to pass closure value.

This changes the compiler and runtime to not pass a closure
value as the last argument, but to instead pass it via
__go_set_closure and retrieve it via __go_get_closure.  This
eliminates the need for function descriptor wrapper functions.
It will make it possible to retrieve the closure value in a
reflect.MakeFunc function.

From-SVN: r202233
15 files changed:
gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/expressions.h
gcc/go/gofrontend/gogo-tree.cc
gcc/go/gofrontend/gogo.cc
gcc/go/gofrontend/gogo.h
gcc/go/gofrontend/statements.cc
gcc/go/gofrontend/statements.h
gcc/go/gofrontend/types.cc
gcc/go/gofrontend/types.h
libgo/go/reflect/value.go
libgo/runtime/go-reflect-call.c
libgo/runtime/mgc0.c
libgo/runtime/proc.c
libgo/runtime/runtime.h
libgo/runtime/time.goc