Commit 9b15ad8c authored by Russ Cox's avatar Russ Cox

arm: adjust recover for new reflect.call

R=ken2
CC=golang-dev
https://golang.org/cl/2471043
parent 1748dc34
...@@ -3,6 +3,7 @@ ...@@ -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,7 +1002,10 @@ void ...@@ -1001,7 +1002,10 @@ 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
reflect·call(d->fn, d->args, d->siz); 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);
if(p->recovered) { if(p->recovered) {
g->panic = p->link; g->panic = p->link;
free(p); free(p);
......
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