r202233 - in /trunk: gcc/go/gofrontend/expressi...

ian@gcc.gnu.org ian@gcc.gnu.org
Tue Sep 3 21:52:00 GMT 2013


Author: ian
Date: Tue Sep  3 21:52:37 2013
New Revision: 202233

URL: http://gcc.gnu.org/viewcvs?rev=202233&root=gcc&view=rev
Log:
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.

Modified:
    trunk/gcc/go/gofrontend/expressions.cc
    trunk/gcc/go/gofrontend/expressions.h
    trunk/gcc/go/gofrontend/gogo-tree.cc
    trunk/gcc/go/gofrontend/gogo.cc
    trunk/gcc/go/gofrontend/gogo.h
    trunk/gcc/go/gofrontend/statements.cc
    trunk/gcc/go/gofrontend/statements.h
    trunk/gcc/go/gofrontend/types.cc
    trunk/gcc/go/gofrontend/types.h
    trunk/libgo/go/reflect/value.go
    trunk/libgo/runtime/go-reflect-call.c
    trunk/libgo/runtime/mgc0.c
    trunk/libgo/runtime/proc.c
    trunk/libgo/runtime/runtime.h
    trunk/libgo/runtime/time.goc



More information about the Gcc-cvs mailing list