diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-06-10 21:08:42 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-06-10 21:08:42 +0000 |
commit | 35c19de69645b18eeef7dbecfcd98b19f9948c84 (patch) | |
tree | 344882ca7aca8afcf2c908ba8ab684d36c5f7413 /libgcc | |
parent | fc917b42658000f0c4dc87f6602336eef899fadf (diff) | |
download | gcc-35c19de69645b18eeef7dbecfcd98b19f9948c84.zip gcc-35c19de69645b18eeef7dbecfcd98b19f9948c84.tar.gz gcc-35c19de69645b18eeef7dbecfcd98b19f9948c84.tar.bz2 |
compiler: make heap expression's write barrier conditional
Heap_expression::do_get_backend emits an unconditional write
barrier if the type has pointers and it is not a stack allocation.
This CL changes it to use a write barrier for the assignment only
when write barriers are enabled. While here, also change it to
call gcWriteBarrier instead of typedmemmove for pointer-shaped
types.
For this to work, Function::build needs to be adjusted so that
Heap_expression::do_get_backend is called when there is a parent
block.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181540
From-SVN: r272132
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions