aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-08-17 04:35:37 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-08-17 04:35:37 +0000
commit777c02825229f14cf91c6044827ea42a77ded4a3 (patch)
tree3dd9baeb70c0752889ee56008eb3642fc4d3e76a /gcc/go/gofrontend
parent7aad42b91897c6b9fa3047efdd8d966a2788c159 (diff)
downloadgcc-777c02825229f14cf91c6044827ea42a77ded4a3.zip
gcc-777c02825229f14cf91c6044827ea42a77ded4a3.tar.gz
gcc-777c02825229f14cf91c6044827ea42a77ded4a3.tar.bz2
runtime: scan write barrier buffer conservatively
In gccgo, we insert the write barriers in the frontend, and so we cannot completely prevent write barriers on stack writes. So it is possible for a bad pointer appearing in the write barrier buffer. When flushing the write barrier, treat it the same as sacnning the stack. In particular, don't mark a pointer if it does not point to an allocated object. We already have similar logic in greyobject. With this, hopefully, we can prevent an unallocated object from being marked completely. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/190599 From-SVN: r274598
Diffstat (limited to 'gcc/go/gofrontend')
-rw-r--r--gcc/go/gofrontend/MERGE2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index 48b4249..78597da 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-0f6d673d5b1a3474c3424cb6994ae8ff9baed255
+838f926c93898767f0337122725a4f52a1335186
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.