aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/hashmap.c
diff options
context:
space:
mode:
authorJan Ziak <0xe2.0x9a.0x9b@gmail.com>2013-05-27 08:11:59 +0200
committerJan Ziak <0xe2.0x9a.0x9b@gmail.com>2013-05-27 08:11:59 +0200
commite017e0cb24f9c5ea4c0e2b7479e4b411e4882dcf (patch)
tree73ec7950d22b460dbeeb5f3df6ebe1fa98fe8104 /src/pkg/runtime/hashmap.c
parent20c524c5e29282d3c91e8155c496865dee2c3c73 (diff)
downloadgo-e017e0cb24f9c5ea4c0e2b7479e4b411e4882dcf.tar.xz
runtime: flag static variables as no-pointers
Variables in data sections of 32-bit executables interfere with garbage collector's ability to free objects and/or unnecessarily slow down the garbage collector. This changeset moves some static variables to .noptr sections. 'files' in symtab.c is now allocated dynamically. R=golang-dev, dvyukov, minux.ma CC=golang-dev https://golang.org/cl/9786044
Diffstat (limited to 'src/pkg/runtime/hashmap.c')
-rw-r--r--src/pkg/runtime/hashmap.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/pkg/runtime/hashmap.c b/src/pkg/runtime/hashmap.c
index 959d6bc760..2e61bcfe8f 100644
--- a/src/pkg/runtime/hashmap.c
+++ b/src/pkg/runtime/hashmap.c
@@ -524,6 +524,7 @@ hash_lookup(MapType *t, Hmap *h, byte **keyp)
}
// When an item is not found, fast versions return a pointer to this zeroed memory.
+#pragma dataflag 16 // no pointers
static uint8 empty_value[MAXVALUESIZE];
// Specialized versions of mapaccess1 for specific types.