gc: implement nil map support
The spec has defined nil maps this way for months.
I'm behind.
R=ken2
CC=golang-dev
https://golang.org/cl/4901052
diff --git a/src/pkg/runtime/runtime.h b/src/pkg/runtime/runtime.h
index 3c503e4..9719c30 100644
--- a/src/pkg/runtime/runtime.h
+++ b/src/pkg/runtime/runtime.h
@@ -62,6 +62,7 @@
typedef struct Itab Itab;
typedef struct Eface Eface;
typedef struct Type Type;
+typedef struct MapType MapType;
typedef struct Defer Defer;
typedef struct Panic Panic;
typedef struct Hmap Hmap;
@@ -616,12 +617,12 @@
void runtime·procyield(uint32);
void runtime·osyield(void);
-void runtime·mapassign(Hmap*, byte*, byte*);
-void runtime·mapaccess(Hmap*, byte*, byte*, bool*);
+void runtime·mapassign(MapType*, Hmap*, byte*, byte*);
+void runtime·mapaccess(MapType*, Hmap*, byte*, byte*, bool*);
void runtime·mapiternext(struct hash_iter*);
bool runtime·mapiterkey(struct hash_iter*, void*);
void runtime·mapiterkeyvalue(struct hash_iter*, void*, void*);
-Hmap* runtime·makemap_c(Type*, Type*, int64);
+Hmap* runtime·makemap_c(MapType*, int64);
Hchan* runtime·makechan_c(Type*, int64);
void runtime·chansend(Hchan*, void*, bool*);