• David du Colombier's avatar
    runtime: don't use FP when calling nextSample in the Plan 9 sighandler · 31430bda
    David du Colombier authored
    In the Go signal handler on Plan 9, when a signal with
    the _SigThrow flag is received, we call startpanic before
    printing the stack trace.
    
    The startpanic function calls systemstack which calls
    startpanic_m. In the startpanic_m function, we call
    allocmcache to allocate _g_.m.mcache. The problem is
    that allocmcache calls nextSample, which does a floating
    point operation to return a sampling point for heap profiling.
    
    However, Plan 9 doesn't support floating point in the
    signal handler.
    
    This change adds a new function nextSampleNoFP, only
    called when in the Plan 9 signal handler, which is
    similar to nextSample, but avoids floating point.
    
    Change-Id: Iaa30437aa0f7c8c84d40afbab7567ad3bd5ea2de
    Reviewed-on: https://go-review.googlesource.com/16307Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    31430bda
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
vendor/golang.org/x/net/http2/hpack Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...