diff options
Diffstat (limited to 'src/pkg/runtime/mfinal.c')
-rw-r--r-- | src/pkg/runtime/mfinal.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/pkg/runtime/mfinal.c b/src/pkg/runtime/mfinal.c index 1fa5ea401..2f5e4277d 100644 --- a/src/pkg/runtime/mfinal.c +++ b/src/pkg/runtime/mfinal.c @@ -11,8 +11,8 @@ enum { debug = 0 }; typedef struct Fin Fin; struct Fin { - void (*fn)(void*); - int32 nret; + FuncVal *fn; + uintptr nret; }; // Finalizer hash table. Direct hash, linear scan, at most 3/4 full. @@ -42,7 +42,7 @@ static struct { } fintab[TABSZ]; static void -addfintab(Fintab *t, void *k, void (*fn)(void*), int32 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*), int32 nret) +runtime·addfinalizer(void *p, FuncVal *f, uintptr nret) { Fintab *tab; byte *base; @@ -175,7 +175,7 @@ runtime·addfinalizer(void *p, void (*f)(void*), int32 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*), int32 *nret) +runtime·getfinalizer(void *p, bool del, FuncVal **fn, uintptr *nret) { Fintab *tab; bool res; |