]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/compile: fix possible invalid pointer spill in large Zero/Move on ARM
authorCherry Zhang <cherryyz@google.com>
Wed, 27 Jul 2016 16:33:08 +0000 (12:33 -0400)
committerCherry Zhang <cherryyz@google.com>
Wed, 27 Jul 2016 18:00:19 +0000 (18:00 +0000)
commit114c05962cd5a9924cd23f1263d08f0fd757bdb7
tree4eddde781bb8a0f4228f847638f1af6d37874713
parent83208504fe2bbe91dae99111593de54cca1cdca0
[dev.ssa] cmd/compile: fix possible invalid pointer spill in large Zero/Move on ARM

Instead of comparing the address of the end of the memory to zero/copy,
comparing the address of the last element, which is a valid pointer.
Also unify large and unaligned Zero/Move, by passing alignment as AuxInt.

Fixes #16515 for ARM.

Change-Id: I19a62b31c5acf5c55c16a89bea1039c926dc91e5
Reviewed-on: https://go-review.googlesource.com/25300
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/arm/ssa.go
src/cmd/compile/internal/ssa/gen/ARM.rules
src/cmd/compile/internal/ssa/gen/ARMOps.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteARM.go