gcc/libgo/go/reflect
Ian Lance Taylor fdbc38a6e8 compiler, runtime: Use function descriptors.
This changes the representation of a Go value of function type
from being a pointer to function code (like a C function
pointer) to being a pointer to a struct.  The first field of
the struct points to the function code.  The remaining fields,
if any, are the addresses of variables referenced in enclosing
functions.  For each call to a function, the address of the
function descriptor is passed as the last argument.

This lets us avoid generating trampolines, and removes the use
of writable/executable sections of the heap.

From-SVN: r200181
2013-06-18 23:49:49 +00:00
..
all_test.go compiler, runtime: Use function descriptors. 2013-06-18 23:49:49 +00:00
deepequal.go libgo: Update to current version of master library. 2012-11-21 07:03:38 +00:00
example_test.go libgo: Update to current sources. 2012-10-23 04:31:11 +00:00
export_test.go libgo: Update to current version of master library. 2012-11-21 07:03:38 +00:00
makefunc.go libgo: Update to current sources. 2012-10-23 04:31:11 +00:00
set_test.go libgo: Update to current version of master library. 2012-11-21 07:03:38 +00:00
tostring_test.go libgo: Update to weekly.2011-12-06. 2011-12-14 15:41:54 +00:00
type.go compiler, runtime: Use function descriptors. 2013-06-18 23:49:49 +00:00
value.go compiler, runtime: Use function descriptors. 2013-06-18 23:49:49 +00:00