• Austin Clements's avatar
    runtime: decouple stack bounds and stack allocation size · e610c25d
    Austin Clements authored
    Currently the runtime assumes that the allocation for the stack is
    exactly [stack.lo, stack.hi). We're about to steal a small part of
    this allocation for per-stack GC metadata. To prepare for this, this
    commit adds a field to the G for the allocated size of the stack.
    With this change, stack.lo and stack.hi continue to act as the true
    bounds on the stack, but are no longer also used as the bounds on the
    stack allocation.
    
    (I also tried this the other way around, where stack.lo and stack.hi
    remained the allocation bounds and I introduced a new top of stack.
    However, there are far more places that assume stack.hi is the true
    top of the stack than there are places that assume it's the top of the
    allocation.)
    
    Change-Id: Ifa9d956753be53d286d09cbc73d47fb34a18c0c6
    Reviewed-on: https://go-review.googlesource.com/10312Reviewed-by: default avatarRuss Cox <rsc@golang.org>
    e610c25d
proc1.go 96.7 KB