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:
parent
1748dc34e7
commit
9b15ad8c22
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user