diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-06-18 23:49:49 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-06-18 23:49:49 +0000 |
commit | 8381eda7ff1e5a2874d708573654e64a4efcfb4f (patch) | |
tree | 1a7d38cd8be5484451189338ed6f4b76d8521f31 /libgo/Makefile.am | |
parent | 2851d736ebf1e8cceebb9106cab69d2c3fdc7624 (diff) | |
download | gcc-8381eda7ff1e5a2874d708573654e64a4efcfb4f.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200181 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/Makefile.am')
-rw-r--r-- | libgo/Makefile.am | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/libgo/Makefile.am b/libgo/Makefile.am index ea90318cee1..d54448c42a0 100644 --- a/libgo/Makefile.am +++ b/libgo/Makefile.am @@ -487,7 +487,6 @@ runtime_files = \ runtime/go-strplus.c \ runtime/go-strslice.c \ runtime/go-traceback.c \ - runtime/go-trampoline.c \ runtime/go-type-complex.c \ runtime/go-type-eface.c \ runtime/go-type-error.c \ |