Commit 64e04165 authored by Anthony Martin's avatar Anthony Martin

runtime: call symtabinit earlier

Otherwise, we won't get a stack trace in some of the early init.

Here's one example:

        http://build.golang.org/log/a96d10f6aee1fa3e3ae51f41da46d414a7ab02de

After walking the stack by hand in acid, I was able to determine
that the stackalloc inside mpreinit was causing the throw.

LGTM=rsc
R=rsc, dvyukov
CC=golang-codereviews
https://golang.org/cl/72450044
parent b53d2f5b
...@@ -146,6 +146,7 @@ runtime·schedinit(void) ...@@ -146,6 +146,7 @@ runtime·schedinit(void)
runtime·sched.maxmcount = 10000; runtime·sched.maxmcount = 10000;
runtime·precisestack = true; // haveexperiment("precisestack"); runtime·precisestack = true; // haveexperiment("precisestack");
runtime·symtabinit();
runtime·mallocinit(); runtime·mallocinit();
mcommoninit(m); mcommoninit(m);
...@@ -159,9 +160,6 @@ runtime·schedinit(void) ...@@ -159,9 +160,6 @@ runtime·schedinit(void)
runtime·goenvs(); runtime·goenvs();
runtime·parsedebugvars(); runtime·parsedebugvars();
// Allocate internal symbol table representation now, we need it for GC anyway.
runtime·symtabinit();
runtime·sched.lastpoll = runtime·nanotime(); runtime·sched.lastpoll = runtime·nanotime();
procs = 1; procs = 1;
p = runtime·getenv("GOMAXPROCS"); p = runtime·getenv("GOMAXPROCS");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment