summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2012-03-25 08:32:05 +0200
committerIvan Maidanski <ivmai@mail.ru>2012-03-25 09:29:19 +0200
commitc1d271b8c1ea4dce12ecdf3ff0caece68be0ddf8 (patch)
tree4b6e2a209333caad7456ab239ad9f1f2e8e37c24 /include
parente5ff6961fc86e00daf32edb8eb6edd3e12435e5e (diff)
Fix visibility of some GC internal symbols used by GCJ
(Includes reverting part of commits 68b9f27, 91d5df5, b2345fb) * allchblk.c (GC_hblkfreelist, GC_free_bytes): Do not define array as STATIC again but only if GC_GCJ_SUPPORT (for GNU GCJ client). * blacklst.c (GC_is_black_listed): Do not define as GC_INNER again (for GNU GCJ client). * include/private/gc_priv.h (GC_is_black_listed): Likewise. * include/private/gc_priv.h (GC_hblkfreelist): Restore removed declaration (but only if GC_GCJ_SUPPORT). * reclaim.c (GC_n_set_marks): Do not define as STATIC again (for GCJ); update the comment.
Diffstat (limited to 'include')
-rw-r--r--include/private/gc_priv.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h
index ef2650c..b42910e 100644
--- a/include/private/gc_priv.h
+++ b/include/private/gc_priv.h
@@ -1278,6 +1278,11 @@ GC_EXTERN word GC_black_list_spacing;
/* "stack-blacklisted", i.e. that are */
/* problematic in the interior of an object. */
+#ifdef GC_GCJ_SUPPORT
+ extern struct hblk * GC_hblkfreelist[];
+ /* Remains visible to GNU GCJ. */
+#endif
+
#ifdef GC_DISABLE_INCREMENTAL
# define GC_incremental FALSE
/* Hopefully allow optimizer to remove some code. */
@@ -1564,12 +1569,14 @@ void GC_register_data_segments(void);
GC_add_to_black_list_stack((word)(bits))
#endif /* PRINT_BLACK_LIST */
-GC_INNER struct hblk * GC_is_black_listed(struct hblk * h, word len);
+struct hblk * GC_is_black_listed(struct hblk * h, word len);
/* If there are likely to be false references */
/* to a block starting at h of the indicated */
/* length, then return the next plausible */
/* starting location for h that might avoid */
- /* these false references. */
+ /* these false references. Remains externally */
+ /* visible as used by GNU GCJ currently. */
+
GC_INNER void GC_promote_black_lists(void);
/* Declare an end to a black listing phase. */
GC_INNER void GC_unpromote_black_lists(void);