aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/stack.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2013-02-21 17:01:13 -0500
committerRuss Cox <rsc@golang.org>2013-02-21 17:01:13 -0500
commit1903ad71891eb0b7b79b83145bf16b4a85dead54 (patch)
tree227f90007ce38f2cb27a49343bb5880848856a11 /src/pkg/runtime/stack.c
parent4335e69af64b96cd69fa876c5157d6caebde23a6 (diff)
downloadgo-1903ad71891eb0b7b79b83145bf16b4a85dead54.tar.xz
cmd/gc, reflect, runtime: switch to indirect func value representation
Step 1 of http://golang.org/s/go11func. R=golang-dev, r, daniel.morsing, remyoudompheng CC=golang-dev https://golang.org/cl/7393045
Diffstat (limited to 'src/pkg/runtime/stack.c')
-rw-r--r--src/pkg/runtime/stack.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pkg/runtime/stack.c b/src/pkg/runtime/stack.c
index ac00e53765..d1d5c8f3f9 100644
--- a/src/pkg/runtime/stack.c
+++ b/src/pkg/runtime/stack.c
@@ -273,7 +273,10 @@ runtime·newstack(void)
label.sp = (uintptr)sp;
label.pc = (byte*)runtime·lessstack;
label.g = m->curg;
- runtime·gogocall(&label, m->morepc);
+ if(reflectcall)
+ runtime·gogocallfn(&label, (FuncVal*)m->morepc);
+ else
+ runtime·gogocall(&label, m->morepc);
*(int32*)345 = 123; // never return
}