PKGBUILDs/extra/gc/gc-7.4.2-Export-GC-push-all-eager.patch
2015-08-29 00:01:44 +00:00

39 lines
1.6 KiB
Diff

From e2a14481796cd4b073298a9c895b03015c72e02c Mon Sep 17 00:00:00 2001
From: Ivan Maidanski <ivmai@mail.ru>
Date: Tue, 23 Jun 2015 15:17:27 +0300
Subject: [PATCH] Export GC_push_all_eager
* include/gc_mark.h (GC_push_all_eager): New API function declaration.
* mark.c (GC_push_all_eager): Add GC_API, GC_CALL; change arguments
type from ptr_t to char*.
---
include/gc_mark.h | 1 +
mark.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/gc_mark.h b/include/gc_mark.h
index dcadf42..0b19ea9 100644
--- a/include/gc_mark.h
+++ b/include/gc_mark.h
@@ -276,6 +276,7 @@ GC_API void GC_CALL GC_set_mark_bit(const void *) GC_ATTR_NONNULL(1);
/* (GC_push_conditional pushes either all or only dirty pages depending */
/* on the third argument.) */
GC_API void GC_CALL GC_push_all(char * /* bottom */, char * /* top */);
+GC_API void GC_CALL GC_push_all_eager(char * /* bottom */, char * /* top */);
GC_API void GC_CALL GC_push_conditional(char * /* bottom */, char * /* top */,
int /* bool all */);
diff --git a/mark.c b/mark.c
index 80d09cf..89f64cc 100644
--- a/mark.c
+++ b/mark.c
@@ -1488,7 +1488,7 @@ void GC_print_trace(word gc_no)
* and scans the entire region immediately, in case the contents
* change.
*/
-GC_INNER void GC_push_all_eager(ptr_t bottom, ptr_t top)
+GC_API void GC_CALL GC_push_all_eager(char *bottom, char *top)
{
word * b = (word *)(((word) bottom + ALIGNMENT-1) & ~(ALIGNMENT-1));
word * t = (word *)(((word) top) & ~(ALIGNMENT-1));