r274613 - in /trunk: gcc/go/gofrontend/MERGE gc...

ian@gcc.gnu.org ian@gcc.gnu.org
Sat Aug 17 23:43:00 GMT 2019


Author: ian
Date: Sat Aug 17 23:43:08 2019
New Revision: 274613

URL: https://gcc.gnu.org/viewcvs?rev=274613&root=gcc&view=rev
Log:
    compiler, runtime: allocate defer records on the stack
    
    When a defer is executed at most once in a function body,
    we can allocate the defer record for it on the stack instead
    of on the heap.
    
    This should make defers like this (which are very common) faster.
    
    This is a port of CL 171758 from the gc repo.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/190410

Added:
    trunk/libgo/go/runtime/stack_test.go
Modified:
    trunk/gcc/go/gofrontend/MERGE
    trunk/gcc/go/gofrontend/runtime.def
    trunk/gcc/go/gofrontend/statements.cc
    trunk/gcc/go/gofrontend/statements.h
    trunk/libgo/go/runtime/mgcmark.go
    trunk/libgo/go/runtime/panic.go
    trunk/libgo/go/runtime/runtime2.go



More information about the Gcc-cvs mailing list