• Keith Randall's avatar
    undo CL 101570044 / 2c57aaea79c4 · f378f300
    Keith Randall authored
    redo stack allocation.  This is mostly the same as
    the original CL with a few bug fixes.
    
    1. add racemalloc() for stack allocations
    2. fix poolalloc/poolfree to terminate free lists correctly.
    3. adjust span ref count correctly.
    4. don't use cache for sizes >= StackCacheSize.
    
    Should fix bugs and memory leaks in original changelist.
    
    ««« original CL description
    undo CL 104200047 / 318b04f28372
    
    Breaks windows and race detector.
    TBR=rsc
    
    ««« original CL description
    runtime: stack allocator, separate from mallocgc
    
    In order to move malloc to Go, we need to have a
    separate stack allocator.  If we run out of stack
    during malloc, malloc will not be available
    to allocate a new stack.
    
    Stacks are the last remaining FlagNoGC objects in the
    GC heap.  Once they are out, we can get rid of the
    distinction between the allocated/blockboundary bits.
    (This will be in a separate change.)
    
    Fixes #7468
    Fixes #7424
    
    LGTM=rsc, dvyukov
    R=golang-codereviews, dvyukov, khr, dave, rsc
    CC=golang-codereviews
    https://golang.org/cl/104200047
    »»»
    
    TBR=rsc
    CC=golang-codereviews
    https://golang.org/cl/101570044
    »»»
    
    LGTM=dvyukov
    R=dvyukov, dave, khr, alex.brainman
    CC=golang-codereviews
    https://golang.org/cl/112240044
    f378f300
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes 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...
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...