Descriptionundo CL 101570044 / 2c57aaea79c4
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 issue 7468
Fixes issue 7424
LGTM=rsc, dvyukov
R=golang-codereviews, dvyukov, khr, dave, rsc
CC=golang-codereviews
https://codereview.appspot.com/104200047
»»»
TBR=rsc
CC=golang-codereviews
https://codereview.appspot.com/101570044
»»»
Patch Set 1 #Patch Set 2 : diff -r fa761009af4c https://khr%40golang.org@code.google.com/p/go/ #Patch Set 3 : diff -r fa761009af4c https://khr%40golang.org@code.google.com/p/go/ #Patch Set 4 : diff -r fa761009af4c https://khr%40golang.org@code.google.com/p/go/ #
Total comments: 3
Patch Set 5 : diff -r 8e05add24c7e https://khr%40golang.org@code.google.com/p/go/ #Patch Set 6 : diff -r 8e05add24c7e https://khr%40golang.org@code.google.com/p/go/ #Patch Set 7 : diff -r 3d945b26139b https://khr%40golang.org@code.google.com/p/go/ #
MessagesTotal messages: 11
|