1
0
mirror of https://github.com/golang/go synced 2024-11-23 22:00:11 -07:00

cmd/compile: fix ARM64 build

Write barrier unsafe-point analysis needs to flow through
OpARM64MOVWUload in c-shared mode.

Change-Id: I4f06f54d9e74a739a1b4fcb9ab0a1ae9b7b88a95
Reviewed-on: https://go-review.googlesource.com/114077
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
Austin Clements 2018-05-22 11:35:03 -04:00
parent 97bea97065
commit 4f765b18f8

View File

@ -530,10 +530,11 @@ func (lv *Liveness) markUnsafePoints() {
v = v.Args[0]
continue
}
case ssa.OpPPC64MOVWZload, ssa.Op386MOVLload:
case ssa.Op386MOVLload, ssa.OpARM64MOVWUload, ssa.OpPPC64MOVWZload:
// Args[0] is the address of the write
// barrier control. Ignore Args[1],
// which is the mem operand.
// TODO: Just ignore mem operands?
v = v.Args[0]
continue
}