• 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
..
amd64 Loading commit data...
arm Loading commit data...
arm64 Loading commit data...
gc Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc64 Loading commit data...
s390x Loading commit data...
ssa Loading commit data...
syntax Loading commit data...
test Loading commit data...
types Loading commit data...
wasm Loading commit data...
x86 Loading commit data...