diff options
author | Richard Henderson <rth@redhat.com> | 2015-01-16 14:58:53 -0800 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2015-01-16 22:58:53 +0000 |
commit | 38bf819a5f995ae4621496df2324d68b9e24900f (patch) | |
tree | c90d2bfba44756e26640c50ad1389375693ef832 /libgo/Makefile.am | |
parent | 21cb351825d45c42e9e5148715a2fd2051cf4ed1 (diff) | |
download | gcc-38bf819a5f995ae4621496df2324d68b9e24900f.tar.gz |
compiler, reflect, runtime: Use static chain for closures.
Change from using __go_set_closure to passing the closure
value in the static chain field. Uses new backend support for
setting the closure chain in a call from C via
__builtin_call_with_static_chain. Uses new support in libffi
for Go closures.
The old architecture specific support for reflect.MakeFunc is
removed, replaced by the libffi support.
All work done by Richard Henderson.
* go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
(Gcc_backend::static_chain_variable): New method.
From-SVN: r219776
Diffstat (limited to 'libgo/Makefile.am')
-rw-r--r-- | libgo/Makefile.am | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/libgo/Makefile.am b/libgo/Makefile.am index 419598183ed..727662d5f1d 100644 --- a/libgo/Makefile.am +++ b/libgo/Makefile.am @@ -938,44 +938,10 @@ go_path_files = \ go/path/match.go \ go/path/path.go -if LIBGO_IS_X86_64 -go_reflect_makefunc_file = \ - go/reflect/makefuncgo_amd64.go -go_reflect_makefunc_s_file = \ - go/reflect/makefunc_amd64.S -else -if LIBGO_IS_386 -go_reflect_makefunc_file = \ - go/reflect/makefuncgo_386.go -go_reflect_makefunc_s_file = \ - go/reflect/makefunc_386.S -else -if LIBGO_IS_S390 -go_reflect_makefunc_file = \ - go/reflect/makefuncgo_s390.go -go_reflect_makefunc_s_file = \ - go/reflect/makefunc_s390.c -else -if LIBGO_IS_S390X -go_reflect_makefunc_file = \ - go/reflect/makefuncgo_s390x.go \ - go/reflect/makefuncgo_s390.go -go_reflect_makefunc_s_file = \ - go/reflect/makefunc_s390.c -else -go_reflect_makefunc_file = -go_reflect_makefunc_s_file = \ - go/reflect/makefunc_dummy.c -endif -endif -endif -endif - go_reflect_files = \ go/reflect/deepequal.go \ go/reflect/makefunc.go \ go/reflect/makefunc_ffi.go \ - $(go_reflect_makefunc_file) \ go/reflect/type.go \ go/reflect/value.go go_reflect_makefunc_c_file = \ @@ -1897,7 +1863,6 @@ libgo_go_objs = \ os.lo \ path.lo \ reflect-go.lo \ - reflect/makefunc.lo \ reflect/makefunc_ffi_c.lo \ regexp.lo \ runtime-go.lo \ @@ -2316,9 +2281,6 @@ reflect-go.lo: $(go_reflect_files) $(BUILDPACKAGE) reflect/check: $(CHECK_DEPS) @$(CHECK) -reflect/makefunc.lo: $(go_reflect_makefunc_s_file) - @$(MKDIR_P) reflect - $(LTCOMPILE) -c -o $@ $< reflect/makefunc_ffi_c.lo: $(go_reflect_makefunc_c_file) @$(MKDIR_P) reflect $(LTCOMPILE) -c -o $@ $< |