diff options
| author | Keith Randall <khr@golang.org> | 2013-08-02 13:03:14 -0700 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2013-08-02 13:03:14 -0700 |
| commit | 9cd570680bd1d6ea23e4f5da1fe3a50c6927d6d5 (patch) | |
| tree | b8c604701f76eb63048e9011bf0e17aa5a27a5e5 /src/pkg/runtime/panic.c | |
| parent | b8c8cb85092aba7dda9b5f27b1a6c940aaf3c985 (diff) | |
| download | go-9cd570680bd1d6ea23e4f5da1fe3a50c6927d6d5.tar.xz | |
runtime: reimplement reflect.call to not use stack splitting.
R=golang-dev, r, khr, rsc
CC=golang-dev
https://golang.org/cl/12053043
Diffstat (limited to 'src/pkg/runtime/panic.c')
| -rw-r--r-- | src/pkg/runtime/panic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/pkg/runtime/panic.c b/src/pkg/runtime/panic.c index 5692c537a0..36a3c41ba7 100644 --- a/src/pkg/runtime/panic.c +++ b/src/pkg/runtime/panic.c @@ -241,10 +241,10 @@ runtime·panic(Eface e) break; // take defer off list in case of recursive panic popdefer(); - g->ispanic = true; // rock for newstack, where reflect.call ends up + g->ispanic = true; // rock for newstack, where reflect.newstackcall ends up argp = d->argp; pc = d->pc; - reflect·call(d->fn, (byte*)d->args, d->siz); + runtime·newstackcall(d->fn, (byte*)d->args, d->siz); freedefer(d); if(p->recovered) { g->panic = p->link; |
