• Clément Chigot's avatar
    cmd/compile: fix nilcheck for AIX · 9fe9853a
    Clément Chigot authored
    This commit adapts compile tool to create correct nilchecks for AIX.
    
    AIX allows to load a nil pointer. Therefore, the default nilcheck
    which issues a load must be replaced by a CMP instruction followed by a
    store at 0x0 if the value is nil. The store will trigger a SIGSEGV as on
    others OS.
    
    The nilcheck algorithm must be adapted to do not remove nilcheck if it's
    only a read. Stores are detected with v.Type.IsMemory().
    
    Tests related to nilptr must be adapted to the previous changements.
    nilptr.go cannot be used as it's because the AIX address space starts at
    1<<32.
    
    Change-Id: I9f5aaf0b7e185d736a9b119c0ed2fe4e5bd1e7af
    Reviewed-on: https://go-review.googlesource.com/c/144538
    Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    9fe9853a
Name
Last commit
Last update
..
addr2line Loading commit data...
api Loading commit data...
asm Loading commit data...
buildid Loading commit data...
cgo Loading commit data...
compile Loading commit data...
cover Loading commit data...
dist Loading commit data...
doc Loading commit data...
fix Loading commit data...
go Loading commit data...
gofmt Loading commit data...
internal Loading commit data...
link Loading commit data...
nm Loading commit data...
objdump Loading commit data...
pack Loading commit data...
pprof Loading commit data...
test2json Loading commit data...
trace Loading commit data...
vendor Loading commit data...
vet Loading commit data...