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