diff options
| author | Russ Cox <rsc@golang.org> | 2013-02-15 14:27:03 -0500 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2013-02-15 14:27:03 -0500 |
| commit | 8a6ff3ab3469ea6b448d682ac7ebc3b818208634 (patch) | |
| tree | be0d4d94d611d072d7e2c615a6096b820e532dbf /src/pkg/runtime/traceback_arm.c | |
| parent | f87b7f67b232db252a527dbc000533a27ccb8cd2 (diff) | |
| download | go-8a6ff3ab3469ea6b448d682ac7ebc3b818208634.tar.xz | |
runtime: allocate heap metadata at run time
Before, the mheap structure was in the bss,
but it's quite large (today, 256 MB, much of
which is never actually paged in), and it makes
Go binaries run afoul of exec-time bss size
limits on some BSD systems.
Fixes #4447.
R=golang-dev, dave, minux.ma, remyoudompheng, iant
CC=golang-dev
https://golang.org/cl/7307122
Diffstat (limited to 'src/pkg/runtime/traceback_arm.c')
| -rw-r--r-- | src/pkg/runtime/traceback_arm.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/pkg/runtime/traceback_arm.c b/src/pkg/runtime/traceback_arm.c index e44e0f82fd..77aeb820a6 100644 --- a/src/pkg/runtime/traceback_arm.c +++ b/src/pkg/runtime/traceback_arm.c @@ -74,8 +74,8 @@ runtime·gentraceback(byte *pc0, byte *sp, byte *lr0, G *gp, int32 skip, uintptr // we have lost track of where we are. p = (byte*)pc; if((pc&3) == 0 && p < p+4 && - runtime·mheap.arena_start < p && - p+4 < runtime·mheap.arena_used) { + runtime·mheap->arena_start < p && + p+4 < runtime·mheap->arena_used) { x = *(uintptr*)p; if((x&0xfffff000) == 0xe49df000) { // End of closure: @@ -94,7 +94,7 @@ runtime·gentraceback(byte *pc0, byte *sp, byte *lr0, G *gp, int32 skip, uintptr // argument copying p += 7*4; } - if((byte*)pc < p && p < p+4 && p+4 < runtime·mheap.arena_used) { + if((byte*)pc < p && p < p+4 && p+4 < runtime·mheap->arena_used) { pc = *(uintptr*)p; fp = nil; continue; |
