#pragma dataflag 16 /* mark mheap as 'no pointers', hiding from garbage collector */
MHeap runtime·mheap;
+int32 runtime·checking;
+
extern MStats mstats; // defined in zruntime_def_$GOOS_$GOARCH.go
extern volatile intgo runtime·MemProfileRate;
void runtime·checkallocated(void *v, uintptr n);
void runtime·markfreed(void *v, uintptr n);
void runtime·checkfreed(void *v, uintptr n);
-int32 runtime·checking;
+extern int32 runtime·checking;
void runtime·markspan(void *v, uintptr size, uintptr n, bool leftover);
void runtime·unmarkspan(void *v, uintptr size);
bool runtime·blockspecial(void*);
int32 runtime·gcwaiting;
+G* runtime·allg;
+G* runtime·lastg;
+M* runtime·allm;
+
+int8* runtime·goos;
+int32 runtime·ncpu;
+
// Go scheduler
//
// The go scheduler's job is to match ready-to-run goroutines (`g's)
*/
extern String runtime·emptystring;
extern uintptr runtime·zerobase;
-G* runtime·allg;
-G* runtime·lastg;
-M* runtime·allm;
+extern G* runtime·allg;
+extern G* runtime·lastg;
+extern M* runtime·allm;
extern int32 runtime·gomaxprocs;
extern bool runtime·singleproc;
extern uint32 runtime·panicking;
extern int32 runtime·gcwaiting; // gc is waiting to run
-int8* runtime·goos;
-int32 runtime·ncpu;
+extern int8* runtime·goos;
+extern int32 runtime·ncpu;
extern bool runtime·iscgo;
extern void (*runtime·sysargs)(int32, uint8**);
extern uint32 runtime·maxstring;