r249561 - in /trunk: gcc/go/gofrontend/MERGE li...

ian@gcc.gnu.org ian@gcc.gnu.org
Thu Jun 22 14:44:00 GMT 2017


Author: ian
Date: Thu Jun 22 14:44:30 2017
New Revision: 249561

URL: https://gcc.gnu.org/viewcvs?rev=249561&root=gcc&view=rev
Log:
    runtime: change some stack fields to uintptr
    
    Because of how gccgo implements cgo calls, the code in dropm may not
    have any write barriers.  As a step toward implementing that, change
    the gcstack, gcnextsegment, and gcnextsp fields of the g struct to
    uintptr, so that assignments to them do not require write barriers.
    The gcinitialsp field remains unsafe.Pointer, as on 32-bit systems
    that do not support split stack it points to a heap allocated space
    used for the goroutine stack.
    
    The test for this is runtime tests like TestCgoCallbackGC, which are
    not run today but will be run with a future gotools patch.
    
    Reviewed-on: https://go-review.googlesource.com/46396

Modified:
    trunk/gcc/go/gofrontend/MERGE
    trunk/libgo/go/runtime/proc.go
    trunk/libgo/go/runtime/runtime2.go
    trunk/libgo/runtime/proc.c
    trunk/libgo/runtime/stack.c



More information about the Gcc-cvs mailing list