diff options
| author | Russ Cox <rsc@golang.org> | 2014-09-05 16:51:45 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2014-09-05 16:51:45 -0400 |
| commit | f8f630f5ecb5e30c9feadab5277f393c58da71f6 (patch) | |
| tree | aa4b7ec09ae38d6fff0c7c0e9e85cccfc6b5a96c /src/pkg/runtime/runtime.h | |
| parent | fcbe51c9e3ecbb1cb5d8d50f64b0bc42a6a0c7f5 (diff) | |
| download | go-f8f630f5ecb5e30c9feadab5277f393c58da71f6.tar.xz | |
runtime: use reflect.call during panic instead of newstackcall
newstackcall creates a new stack segment, and we want to
be able to throw away all that code.
LGTM=khr
R=khr, iant
CC=dvyukov, golang-codereviews, r
https://golang.org/cl/139270043
Diffstat (limited to 'src/pkg/runtime/runtime.h')
| -rw-r--r-- | src/pkg/runtime/runtime.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/pkg/runtime/runtime.h b/src/pkg/runtime/runtime.h index b3d1a94221..4f279db3fb 100644 --- a/src/pkg/runtime/runtime.h +++ b/src/pkg/runtime/runtime.h @@ -452,7 +452,6 @@ struct Stktop uint32 panicwrap; uint8* argp; // pointer to arguments in old frame - bool panic; // is this frame the top of a panic? }; struct SigTab { @@ -658,6 +657,8 @@ struct Panic Eface arg; // argument to panic Panic* link; // link to earlier panic Defer* defer; // current executing defer + uintptr argp; // pointer to arguments of deferred call, for recover + uint32 outerwrap; // outer gp->panicwrap bool recovered; // whether this panic is over bool aborted; // the panic was aborted }; @@ -1015,8 +1016,6 @@ void runtime·printcomplex(Complex128); /* * runtime go-called */ -void runtime·newstackcall(FuncVal*, byte*, uint32); -void reflect·call(FuncVal*, byte*, uint32, uint32); void runtime·gopanic(Eface); void runtime·panicindex(void); void runtime·panicslice(void); |
