summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÖmer Sinan Ağacan <omer@well-typed.com>2019-02-05 12:11:29 -0500
committerBen Gamari <ben@smart-cactus.org>2019-02-22 11:26:40 -0500
commitec948e097a5f0903bd0489c5a7da27f4c059e358 (patch)
treec14b2a897159459e72ae72f8ad568bd43993b51d
parent78ab4f2f7381d68f8766e9743e28a9474974af71 (diff)
downloadhaskell-ec948e097a5f0903bd0489c5a7da27f4c059e358.tar.gz
rts/Evac: Expose evacuate_static_object?
-rw-r--r--rts/sm/Evac.c3
-rw-r--r--rts/sm/Evac.h3
2 files changed, 5 insertions, 1 deletions
diff --git a/rts/sm/Evac.c b/rts/sm/Evac.c
index 45431fe1d7..991ed3ae0e 100644
--- a/rts/sm/Evac.c
+++ b/rts/sm/Evac.c
@@ -31,6 +31,7 @@
#if defined(THREADED_RTS) && !defined(PARALLEL_GC)
#define evacuate(p) evacuate1(p)
#define evacuate_BLACKHOLE(p) evacuate_BLACKHOLE1(p)
+#define evacuate_static_object(p, q) evacuate_static_object1(p, q)
#define HEAP_ALLOCED_GC(p) HEAP_ALLOCED(p)
#endif
@@ -339,7 +340,7 @@ evacuate_large(StgPtr p)
- link_field must be STATIC_LINK(q)
------------------------------------------------------------------------- */
-STATIC_INLINE void
+void
evacuate_static_object (StgClosure **link_field, StgClosure *q)
{
StgWord link = (StgWord)*link_field;
diff --git a/rts/sm/Evac.h b/rts/sm/Evac.h
index 11f505c526..e340cfc19c 100644
--- a/rts/sm/Evac.h
+++ b/rts/sm/Evac.h
@@ -34,6 +34,9 @@
REGPARM1 void evacuate (StgClosure **p);
REGPARM1 void evacuate1 (StgClosure **p);
+void evacuate_static_object(StgClosure **link_field, StgClosure *q);
+void evacuate_static_object1(StgClosure **link_field, StgClosure *q);
+
void evacuate_BLACKHOLE(StgClosure **p);
void evacuate_BLACKHOLE1(StgClosure **p);