aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/traceback_arm.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2013-02-15 14:27:03 -0500
committerRuss Cox <rsc@golang.org>2013-02-15 14:27:03 -0500
commit8a6ff3ab3469ea6b448d682ac7ebc3b818208634 (patch)
treebe0d4d94d611d072d7e2c615a6096b820e532dbf /src/pkg/runtime/traceback_arm.c
parentf87b7f67b232db252a527dbc000533a27ccb8cd2 (diff)
downloadgo-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.c6
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;