gcc/libgo/go/runtime
Ian Lance Taylor cec07c4759 compiler, runtime: call gcWriteBarrier instead of writebarrierptr
In 1.11 writebarrierptr is going away, so change the compiler to call
    gcWriteBarrier instead.  We weren't using gcWriteBarrier before;
    adjust the implementation to use the putFast method.
    
    This revealed a problem in the kickoff function.  When using cgo,
    kickoff can be called on the g0 of an m allocated by newExtraM.  In
    that case the m will generally have a p, but systemstack may be called
    by wbBufFlush as part of flushing the write barrier buffer.  At that
    point the buffer is full, so we can not do a write barrier.  So adjust
    the existing code in kickoff so that in the case where we are g0,
    don't do any write barrier at all.
    
    Reviewed-on: https://go-review.googlesource.com/131395

From-SVN: r264295
2018-09-13 22:25:58 +00:00
..
debug libgo: update to go1.9 2017-09-14 17:11:35 +00:00
internal libgo: update to Go1.10beta2 release 2018-01-17 14:20:29 +00:00
msan libgo: Update to go1.6rc1. 2016-02-03 21:58:02 +00:00
pprof libgo: prune sighandler frames in runtime.sigprof 2018-07-27 18:43:34 +00:00
testdata runtime: get missing function name from symbol table 2018-02-08 15:37:43 +00:00
trace libgo: update to Go1.10beta2 release 2018-01-17 14:20:29 +00:00
alg.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
append_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
atomic_pointer.go re PR go/84215 (Random results in go/libgo tests) 2018-02-12 18:50:16 +00:00
callers_test.go libgo: update to go1.7rc3 2016-07-22 18:15:38 +00:00
cgo_gccgo.go runtime: remove the dummy arg of getcallersp 2018-08-24 18:15:04 +00:00
cgocall.go libgo: build roots index to speed up bulkBarrierPreWrite 2018-09-13 16:44:43 +00:00
cgocheck.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
chan.go runtime: add some more preemption checks 2018-02-16 16:42:53 +00:00
chan_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
chanbarrier_test.go libgo: update to go1.7rc3 2016-07-22 18:15:38 +00:00
closure_test.go
compiler.go libgo: update to go1.7rc3 2016-07-22 18:15:38 +00:00
complex_test.go
cpuprof.go runtime: don't call funcPC from a function 2018-02-07 22:04:55 +00:00
cputicks.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
crash_cgo_test.go libgo: update to Go1.10rc2 2018-02-08 15:30:22 +00:00
crash_gccgo_test.go runtime: get missing function name from symbol table 2018-02-08 15:37:43 +00:00
crash_nonunix_test.go libgo: update to go1.7rc3 2016-07-22 18:15:38 +00:00
crash_test.go runtime: don't check for stale runtime 2018-03-26 19:29:27 +00:00
crash_unix_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
debug.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
env_posix.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
env_test.go
error.go libgo: update to Go 1.10.2 release 2018-05-31 21:42:53 +00:00
example_test.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
export_arm_test.go libgo: update to go1.7rc3 2016-07-22 18:15:38 +00:00
export_linux_test.go libgo: update to go1.7rc3 2016-07-22 18:15:38 +00:00
export_mmap_test.go libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
export_test.go runtime: work around escaping closure in export_test.go 2018-01-10 05:26:29 +00:00
export_unix_test.go internal,net,os,runtime,syscall: fixes for AIX following update to go1.9 2017-09-20 14:59:39 +00:00
export_windows_test.go libgo: update to go1.7rc3 2016-07-22 18:15:38 +00:00
extern.go compiler: error on func declaration/definition 2018-02-12 19:29:52 +00:00
fastlog2.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
fastlog2_test.go Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
fastlog2table.go Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
ffi.go runtime: skip zero-sized fields in structs when converting to FFI 2018-07-13 20:39:02 +00:00
float.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
gc_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
gcinfo_test.go libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
hash32.go libgo: add support for the Nios II architecture 2018-05-02 22:28:46 +00:00
hash64.go re PR go/84484 (libgo configure tests fail to find -latomic) 2018-02-22 19:49:04 +00:00
hash_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
hashmap.go compiler, runtime: remove hmap field from maptypes 2018-08-29 00:20:25 +00:00
hashmap_fast.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
heapdump.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
iface.go libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
iface_test.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
lfstack.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
lfstack_32bit.go libgo: add support for the Nios II architecture 2018-05-02 22:28:46 +00:00
lfstack_64bit.go re PR go/84484 (libgo configure tests fail to find -latomic) 2018-02-22 19:49:04 +00:00
lfstack_test.go
lock_futex.go runtime: remove the dummy arg of getcallersp 2018-08-24 18:15:04 +00:00
lock_sema.go runtime: remove the dummy arg of getcallersp 2018-08-24 18:15:04 +00:00
malloc.go runtime: remove the dummy arg of getcallersp 2018-08-24 18:15:04 +00:00
malloc_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
map_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mapspeed_test.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
mbarrier.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mbitmap.go libgo: build roots index to speed up bulkBarrierPreWrite 2018-09-13 16:44:43 +00:00
mcache.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mcentral.go runtime: correct counters in sweep 2018-09-13 22:06:16 +00:00
mem_gccgo.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
memmove_linux_amd64_test.go Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
memmove_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mfinal.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mfinal_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mfixalloc.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
mgc.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mgc_gccgo.go compiler, runtime: call gcWriteBarrier instead of writebarrierptr 2018-09-13 22:25:58 +00:00
mgclarge.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mgcmark.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mgcsweep.go runtime: correct counters in sweep 2018-09-13 22:06:16 +00:00
mgcsweepbuf.go Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
mgcwork.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mheap.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mkfastlog2table.go libgo: Update to go1.6rc1. 2016-02-03 21:58:02 +00:00
mksizeclasses.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mprof.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
msan0.go compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
msize.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
mstats.go libgo: update to Go1.10beta2 release 2018-01-17 14:20:29 +00:00
mwbbuf.go libgo: update to Go1.10beta2 release 2018-01-17 14:20:29 +00:00
net_plan9.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
netpoll.go runtime: use poll rather than pollset for netpoll on AIX 2018-08-07 17:29:50 +00:00
netpoll_aix.go runtime: use poll rather than pollset for netpoll on AIX 2018-08-07 17:29:50 +00:00
netpoll_epoll.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
netpoll_kqueue.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
netpoll_nacl.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
netpoll_solaris.go runtime: add go:noescape declaration for Solaris 2018-01-19 04:09:55 +00:00
netpoll_stub.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
netpoll_windows.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
norace_test.go runtime: remove the dummy arg of getcallersp 2018-08-24 18:15:04 +00:00
numcpu_freebsd_test.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
os_aix.go Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
os_darwin.go libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
os_dragonfly.go runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
os_freebsd.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
os_gccgo.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
os_linux.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
os_linux_ppc64x.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
os_netbsd.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
os_openbsd.go runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
os_solaris.go runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
panic.go libgo: update to Go 1.10.2 release 2018-05-31 21:42:53 +00:00
print.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
proc.go compiler, runtime: call gcWriteBarrier instead of writebarrierptr 2018-09-13 22:25:58 +00:00
proc_runtime_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
proc_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
profbuf.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
profbuf_test.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
proflabel.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
race0.go compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
rand_test.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
rdebug.go runtime: copy rdebug code from Go 1.7 runtime 2016-10-17 16:54:25 +00:00
relax_stub.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
runtime-lldb_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
runtime.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
runtime1.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
runtime2.go runtime: avoid write barriers with traceback info 2018-09-13 17:30:00 +00:00
runtime_mmap_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
runtime_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
runtime_unix_test.go Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
rwmutex.go libgo: update to Go1.10rc1 2018-01-27 23:44:29 +00:00
rwmutex_test.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
select.go compiler, runtime: open code select 2018-09-13 21:32:24 +00:00
sema.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
signal_gccgo.go runtime: noescape some functions/variables 2018-01-10 05:15:52 +00:00
signal_sighandler.go libgo: update to Go1.10rc1 2018-01-27 23:44:29 +00:00
signal_unix.go runtime: don't call funcPC from a function 2018-02-07 22:04:55 +00:00
sigqueue.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
sizeclasses.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
slice.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
string.go libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
string_test.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
stubs.go runtime: remove the dummy arg of getcallersp 2018-08-24 18:15:04 +00:00
stubs2.go runtime: no escape for some functions on AIX 2018-01-19 04:48:51 +00:00
stubs_linux.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
stubs_nonlinux.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
symtab.go libgo: update to Go 1.10.2 release 2018-05-31 21:42:53 +00:00
symtab_test.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
time.go libgo: update to Go1.10rc1 2018-01-27 23:44:29 +00:00
timeasm.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
timestub.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00
trace.go runtime: avoid write barriers with traceback info 2018-09-13 17:30:00 +00:00
traceback_gccgo.go runtime: avoid write barriers with traceback info 2018-09-13 17:30:00 +00:00
type.go compiler, runtime: remove hmap field from maptypes 2018-08-29 00:20:25 +00:00
typekind.go compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
unaligned1.go re PR go/84484 (libgo configure tests fail to find -latomic) 2018-02-22 19:49:04 +00:00
unaligned2.go libgo: add support for the Nios II architecture 2018-05-02 22:28:46 +00:00
utf8.go libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
vdso_none.go libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
write_err.go Accidentally failed to commit these earlier, as part of: 2016-10-11 00:08:35 +00:00
write_err_android.go libgo: update to go1.9 2017-09-14 17:11:35 +00:00