diff options
| author | Russ Cox <rsc@golang.org> | 2013-02-21 17:01:13 -0500 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2013-02-21 17:01:13 -0500 |
| commit | 1903ad71891eb0b7b79b83145bf16b4a85dead54 (patch) | |
| tree | 227f90007ce38f2cb27a49343bb5880848856a11 /src/pkg/runtime/mfinal.c | |
| parent | 4335e69af64b96cd69fa876c5157d6caebde23a6 (diff) | |
| download | go-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/mfinal.c')
| -rw-r--r-- | src/pkg/runtime/mfinal.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/pkg/runtime/mfinal.c b/src/pkg/runtime/mfinal.c index ab450717ab..2f5e4277dd 100644 --- a/src/pkg/runtime/mfinal.c +++ b/src/pkg/runtime/mfinal.c @@ -11,7 +11,7 @@ enum { debug = 0 }; typedef struct Fin Fin; struct Fin { - void (*fn)(void*); + FuncVal *fn; uintptr nret; }; @@ -42,7 +42,7 @@ static struct { } fintab[TABSZ]; static void -addfintab(Fintab *t, void *k, void (*fn)(void*), uintptr nret) +addfintab(Fintab *t, void *k, FuncVal *fn, uintptr nret) { int32 i, j; @@ -137,7 +137,7 @@ resizefintab(Fintab *tab) } bool -runtime·addfinalizer(void *p, void (*f)(void*), uintptr nret) +runtime·addfinalizer(void *p, FuncVal *f, uintptr nret) { Fintab *tab; byte *base; @@ -175,7 +175,7 @@ runtime·addfinalizer(void *p, void (*f)(void*), uintptr nret) // get finalizer; if del, delete finalizer. // caller is responsible for updating RefHasFinalizer (special) bit. bool -runtime·getfinalizer(void *p, bool del, void (**fn)(void*), uintptr *nret) +runtime·getfinalizer(void *p, bool del, FuncVal **fn, uintptr *nret) { Fintab *tab; bool res; |
