summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/private/gc_priv.h4
-rw-r--r--obj_map.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h
index a84536e7..d2f69be3 100644
--- a/include/private/gc_priv.h
+++ b/include/private/gc_priv.h
@@ -953,7 +953,7 @@ struct hblkhdr {
word hb_descr; /* object descriptor for marking. See */
/* mark.h. */
# ifdef MARK_BIT_PER_GRANULE
- short * hb_map; /* Essentially a table of remainders */
+ unsigned short * hb_map; /* Essentially a table of remainders */
/* mod BYTES_TO_GRANULES(hb_sz), except */
/* for large blocks. See GC_obj_map. */
# endif
@@ -1240,7 +1240,7 @@ struct _GC_arrays {
/* number of bytes. */
# ifdef MARK_BIT_PER_GRANULE
# define GC_obj_map GC_arrays._obj_map
- short * _obj_map[MAXOBJGRANULES+1];
+ unsigned short * _obj_map[MAXOBJGRANULES + 1];
/* If not NULL, then a pointer to a map of valid */
/* object addresses. */
/* _obj_map[sz_in_granules][i] is */
diff --git a/obj_map.c b/obj_map.c
index c935bf3f..9fdeb0af 100644
--- a/obj_map.c
+++ b/obj_map.c
@@ -51,13 +51,13 @@ GC_INNER void GC_register_displacement_inner(size_t offset)
GC_INNER GC_bool GC_add_map_entry(size_t granules)
{
unsigned displ;
- short * new_map;
+ unsigned short * new_map;
if (granules > BYTES_TO_GRANULES(MAXOBJBYTES)) granules = 0;
if (GC_obj_map[granules] != 0) {
return(TRUE);
}
- new_map = (short *)GC_scratch_alloc(MAP_LEN * sizeof(short));
+ new_map = (unsigned short *)GC_scratch_alloc(MAP_LEN * sizeof(short));
if (new_map == 0) return(FALSE);
GC_COND_LOG_PRINTF(
"Adding block map for size of %u granules (%u bytes)\n",
@@ -68,7 +68,7 @@ GC_INNER void GC_register_displacement_inner(size_t offset)
}
} else {
for (displ = 0; displ < BYTES_TO_GRANULES(HBLKSIZE); displ++) {
- new_map[displ] = (short)(displ % granules);
+ new_map[displ] = (unsigned short)(displ % granules);
}
}
GC_obj_map[granules] = new_map;