runtime: rewrite panic/defer code from C to Go
authorIan Lance Taylor <iant@google.com>
Tue, 22 Nov 2016 17:58:04 +0000 (17:58 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 22 Nov 2016 17:58:04 +0000 (17:58 +0000)
commit9d1e3afb5484c71eaaea23fc3a4b86fe35418d43
tree2110ef75ee2708c685482ea2ace4dfbf1461d4aa
parent6c7509bc070b29293ca9874518b89227ce05361c
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

From-SVN: r242715
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