r256418 - in /trunk: gcc/go/gofrontend/MERGE li...
ian@gcc.gnu.org
ian@gcc.gnu.org
Wed Jan 10 05:17:00 GMT 2018
Author: ian
Date: Wed Jan 10 05:15:52 2018
New Revision: 256418
URL: https://gcc.gnu.org/viewcvs?rev=256418&root=gcc&view=rev
Log:
runtime: noescape some functions/variables
This is in preparation of turning on escape analysis for the
runtime.
- In gccgo, systemstack is implemented with mcall, which is not
go:noescape. Wrap the closure in noescape so the escape analysis
does not think it escapes.
- Mark some C functions go:noescape. They do not leak arguments.
- Use noescape function to make a few local variables' addresses
not escape. The escape analysis cannot figure out because they
are assigned to pointer indirections.
Reviewed-on: https://go-review.googlesource.com/86244
Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/runtime/panic.go
trunk/libgo/go/runtime/proc.go
trunk/libgo/go/runtime/signal_gccgo.go
trunk/libgo/go/runtime/stubs.go
trunk/libgo/go/runtime/traceback_gccgo.go
More information about the Gcc-cvs
mailing list