runtime: rewrite panic/defer code from C to Go
commit03ac9de4704d1b54b27773764dc1ab4ed45f6d5d
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Nov 2016 17:58:04 +0000 (22 17:58 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Nov 2016 17:58:04 +0000 (22 17:58 +0000)
tree2110ef75ee2708c685482ea2ace4dfbf1461d4aa
parent57f872be401c90ad6f4d6290f327caf532861ea3
runtime: rewrite panic/defer code from C to Go

    The actual stack unwind code is still in C, but the rest of the code,
    notably all the memory allocation, is now in Go.  The names are changed
    to the names used in the Go 1.7 runtime, but the code is necessarily
    somewhat different.

    The __go_makefunc_can_recover function is dropped, as the uses of it
    were removed in https://golang.org/cl/198770044.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242715 138bc75d-0d04-0410-961f-82ee72b054a4
31 files changed:
gcc/go/ChangeLog
gcc/go/go-gcc.cc
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/backend.h
gcc/go/gofrontend/escape.cc
gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/gogo.cc
gcc/go/gofrontend/runtime.def
gcc/go/gofrontend/statements.cc
libgo/Makefile.am
libgo/Makefile.in
libgo/go/reflect/makefunc_ffi_c.c
libgo/go/runtime/error.go
libgo/go/runtime/extern.go
libgo/go/runtime/panic.go
libgo/go/runtime/runtime2.go
libgo/go/runtime/stubs.go
libgo/runtime/go-cgo.c
libgo/runtime/go-defer.c [deleted file]
libgo/runtime/go-deferred-recover.c [deleted file]
libgo/runtime/go-panic.c [deleted file]
libgo/runtime/go-panic.h [deleted file]
libgo/runtime/go-recover.c [deleted file]
libgo/runtime/go-signal.c
libgo/runtime/go-strslice.c
libgo/runtime/go-unwind.c
libgo/runtime/heapdump.c
libgo/runtime/mgc0.c
libgo/runtime/panic.c
libgo/runtime/proc.c
libgo/runtime/runtime.h