runtime: rewrite interface code into Go
authorIan Lance Taylor <ian@gcc.gnu.org>
Thu, 20 Oct 2016 18:51:35 +0000 (18:51 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Thu, 20 Oct 2016 18:51:35 +0000 (18:51 +0000)
commit6b752cfac4ecf8b620726bfcd703844ebfaca6ea
tree458f96322bb64b331d71a3304f09cd7c032efa9c
parentfceabe505cf0dc7030602e582fadadcce73dd6de
runtime: rewrite interface code into Go

    I started to copy the Go 1.7 interface code, but the gc and gccgo
    representations of interfaces are too different.  So instead I rewrote
    the gccgo interface code from C to Go.  The code is largely the same as
    it was, but the names are more like those used in the gc runtime.

    I also copied over the string comparison functions, and tweaked the
    compiler to use eqstring when comparing strings for equality.

    Reviewed-on: https://go-review.googlesource.com/31591

From-SVN: r241384
42 files changed:
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/escape.cc
gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/runtime.def
gcc/go/gofrontend/statements.cc
gcc/go/gofrontend/types.cc
libgo/Makefile.am
libgo/Makefile.in
libgo/go/runtime/alg.go [new file with mode: 0644]
libgo/go/runtime/iface.go [new file with mode: 0644]
libgo/go/runtime/runtime2.go
libgo/go/runtime/stubs.go
libgo/go/runtime/type.go
libgo/runtime/go-assert-interface.c [deleted file]
libgo/runtime/go-can-convert-interface.c [deleted file]
libgo/runtime/go-cgo.c
libgo/runtime/go-check-interface.c [deleted file]
libgo/runtime/go-convert-interface.c [deleted file]
libgo/runtime/go-deferred-recover.c
libgo/runtime/go-eface-compare.c [deleted file]
libgo/runtime/go-eface-val-compare.c [deleted file]
libgo/runtime/go-iface.goc [deleted file]
libgo/runtime/go-interface-compare.c [deleted file]
libgo/runtime/go-interface-eface-compare.c [deleted file]
libgo/runtime/go-interface-val-compare.c [deleted file]
libgo/runtime/go-panic.c
libgo/runtime/go-panic.h
libgo/runtime/go-recover.c
libgo/runtime/go-strcmp.c [deleted file]
libgo/runtime/go-strslice.c
libgo/runtime/go-type-eface.c [deleted file]
libgo/runtime/go-type-interface.c [deleted file]
libgo/runtime/go-unsafe-new.c
libgo/runtime/go-unsafe-newarray.c
libgo/runtime/go-unwind.c
libgo/runtime/heapdump.c
libgo/runtime/interface.h [deleted file]
libgo/runtime/malloc.goc
libgo/runtime/mgc0.c
libgo/runtime/reflect.goc [deleted file]
libgo/runtime/runtime.h
libgo/runtime/runtime1.goc