From f3d0195d352f98ac17fbe4f8fe0f74c735eea58b Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Mon, 12 Dec 2022 20:16:42 +0100 Subject: [PATCH] runtime: move KeepAlive/SetFinalizer to common code We don't support these yet so let's just put them in a central location. Once these functions are supported we can think about how to structure the code again. --- src/runtime/gc_conservative.go | 8 -------- src/runtime/gc_leaking.go | 8 -------- src/runtime/gc_none.go | 8 -------- src/runtime/runtime.go | 8 ++++++++ 4 files changed, 8 insertions(+), 24 deletions(-) diff --git a/src/runtime/gc_conservative.go b/src/runtime/gc_conservative.go index bd89319a..205003f3 100644 --- a/src/runtime/gc_conservative.go +++ b/src/runtime/gc_conservative.go @@ -640,11 +640,3 @@ func dumpHeap() { } } } - -func KeepAlive(x interface{}) { - // Unimplemented. Only required with SetFinalizer(). -} - -func SetFinalizer(obj interface{}, finalizer interface{}) { - // Unimplemented. -} diff --git a/src/runtime/gc_leaking.go b/src/runtime/gc_leaking.go index e9352076..4f5fa34e 100644 --- a/src/runtime/gc_leaking.go +++ b/src/runtime/gc_leaking.go @@ -69,14 +69,6 @@ func GC() { // No-op. } -func KeepAlive(x interface{}) { - // Unimplemented. Only required with SetFinalizer(). -} - -func SetFinalizer(obj interface{}, finalizer interface{}) { - // Unimplemented. -} - func initHeap() { // preinit() may have moved heapStart; reset heapptr heapptr = heapStart diff --git a/src/runtime/gc_none.go b/src/runtime/gc_none.go index 0ae61607..e80083bb 100644 --- a/src/runtime/gc_none.go +++ b/src/runtime/gc_none.go @@ -27,14 +27,6 @@ func GC() { // Unimplemented. } -func KeepAlive(x interface{}) { - // Unimplemented. Only required with SetFinalizer(). -} - -func SetFinalizer(obj interface{}, finalizer interface{}) { - // Unimplemented. -} - func initHeap() { // Nothing to initialize. } diff --git a/src/runtime/runtime.go b/src/runtime/runtime.go index 4e24b923..eecedee2 100644 --- a/src/runtime/runtime.go +++ b/src/runtime/runtime.go @@ -87,3 +87,11 @@ func LockOSThread() { // Stub for now func UnlockOSThread() { } + +func KeepAlive(x interface{}) { + // Unimplemented. Only required with SetFinalizer(). +} + +func SetFinalizer(obj interface{}, finalizer interface{}) { + // Unimplemented. +}