1
0
mirror of https://github.com/golang/go synced 2024-11-20 04:54:44 -07:00

arm: adjust recover for new reflect.call

R=ken2
CC=golang-dev
https://golang.org/cl/2471043
This commit is contained in:
Russ Cox 2010-10-14 10:45:32 -04:00
parent 1748dc34e7
commit 9b15ad8c22

View File

@ -3,6 +3,7 @@
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
#include "runtime.h" #include "runtime.h"
#include "arch.h"
#include "defs.h" #include "defs.h"
#include "malloc.h" #include "malloc.h"
#include "os.h" #include "os.h"
@ -1001,6 +1002,9 @@ void
// take defer off list in case of recursive panic // take defer off list in case of recursive panic
g->defer = d->link; g->defer = d->link;
g->ispanic = true; // rock for newstack, where reflect.call ends up g->ispanic = true; // rock for newstack, where reflect.call ends up
if(thechar == '5')
reflect·call(d->fn, d->args+4, d->siz-4); // reflect.call does not expect LR
else
reflect·call(d->fn, d->args, d->siz); reflect·call(d->fn, d->args, d->siz);
if(p->recovered) { if(p->recovered) {
g->panic = p->link; g->panic = p->link;