diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-05-03 21:45:35 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-05-03 21:45:35 +0000 |
commit | 08c8a26e9ca87ad2dd5b26d397e6107b68adfe76 (patch) | |
tree | 72997940c63241636375f8e4b4565d8f6301b724 /libgo | |
parent | e339291fc13d074bade3fd9ab3cbfacce5a21cbd (diff) | |
download | gcc-08c8a26e9ca87ad2dd5b26d397e6107b68adfe76.zip gcc-08c8a26e9ca87ad2dd5b26d397e6107b68adfe76.tar.gz gcc-08c8a26e9ca87ad2dd5b26d397e6107b68adfe76.tar.bz2 |
compiler: recognize and optimize array range clear
Recognize
for i := range a { a[i] = zero }
for array or slice a, and rewrite it to call memclr, as the gc
compiler does.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/169398
From-SVN: r270862
Diffstat (limited to 'libgo')
-rw-r--r-- | libgo/go/runtime/mbarrier.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libgo/go/runtime/mbarrier.go b/libgo/go/runtime/mbarrier.go index d3ffd3c..89febb9 100644 --- a/libgo/go/runtime/mbarrier.go +++ b/libgo/go/runtime/mbarrier.go @@ -23,6 +23,7 @@ import ( // //go:linkname typedmemmove runtime.typedmemmove //go:linkname typedslicecopy runtime.typedslicecopy +//go:linkname memclrHasPointers runtime.memclrHasPointers // Go uses a hybrid barrier that combines a Yuasa-style deletion // barrier—which shades the object whose reference is being |