• 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
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...