• Austin Clements's avatar
    runtime: simplify and cleanup mallocinit · 1cc24690
    Austin Clements authored
    mallocinit has evolved organically. Make a pass to clean it up in
    various ways:
    
    1. Merge the computation of spansSize and bitmapSize. These were
       computed on every loop iteration of two different loops, but always
       have the same value, which can be derived directly from _MaxMem.
       This also avoids over-reserving these on MIPS, were _MaxArena32 is
       larger than _MaxMem.
    
    2. Remove the ulimit -v logic. It's been disabled for many releases
       and the dead code paths to support it are even more wrong now than
       they were when it was first disabled, since now we *must* reserve
       spans and bitmaps for the full address space.
    
    3. Make it clear that we're using a simple linear allocation to lay
       out the spans, bitmap, and arena spaces. Previously there were a
       lot of redundant pointer computations. Now we just bump p1 up as we
       reserve the spaces.
    
    In preparation for #18651.
    
    Updates #5049 (respect ulimit).
    
    Change-Id: Icbe66570d3a7a17bea227dc54fb3c4978b52a3af
    Reviewed-on: https://go-review.googlesource.com/35252Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    1cc24690
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...
context 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...
plugin 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 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...
cmp.bash Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
naclmake.bash 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...