From 8a6ff3ab3469ea6b448d682ac7ebc3b818208634 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 15 Feb 2013 14:27:03 -0500 Subject: 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 --- src/pkg/runtime/traceback_arm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/pkg/runtime/traceback_arm.c') 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; -- cgit v1.3-5-g9baa