aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrustyx <me@rustyx.org>2016-04-12 09:50:54 +0200
committerJason Evans <jasone@canonware.com>2016-04-12 09:34:09 -0700
commit00432331b83526e3bb82f7c2aba493bf254cb9c0 (patch)
tree13fb9d34b3d2fbda42ca5ba58b0eaf407ea9f482 /src
parentbc26d7d99b3d3dc7633a28da622087ed3daa9a94 (diff)
downloadjemalloc-00432331b83526e3bb82f7c2aba493bf254cb9c0.tar.gz
Fix 64-to-32 conversion warnings in 32-bit mode
Diffstat (limited to 'src')
-rw-r--r--src/arena.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/arena.c b/src/arena.c
index 3373e1d..a9566af 100644
--- a/src/arena.c
+++ b/src/arena.c
@@ -1268,7 +1268,7 @@ arena_decay_backlog_npages_limit(const arena_t *arena)
sum = 0;
for (i = 0; i < SMOOTHSTEP_NSTEPS; i++)
sum += arena->decay_backlog[i] * h_steps[i];
- npages_limit_backlog = (sum >> SMOOTHSTEP_BFP);
+ npages_limit_backlog = (size_t)(sum >> SMOOTHSTEP_BFP);
return (npages_limit_backlog);
}
@@ -1276,7 +1276,7 @@ arena_decay_backlog_npages_limit(const arena_t *arena)
static void
arena_decay_epoch_advance(arena_t *arena, const nstime_t *time)
{
- uint64_t nadvance;
+ uint64_t nadvance_u64;
nstime_t delta;
size_t ndirty_delta;
@@ -1285,27 +1285,31 @@ arena_decay_epoch_advance(arena_t *arena, const nstime_t *time)
nstime_copy(&delta, time);
nstime_subtract(&delta, &arena->decay_epoch);
- nadvance = nstime_divide(&delta, &arena->decay_interval);
- assert(nadvance > 0);
+ nadvance_u64 = nstime_divide(&delta, &arena->decay_interval);
+ assert(nadvance_u64 > 0);
- /* Add nadvance decay intervals to epoch. */
+ /* Add nadvance_u64 decay intervals to epoch. */
nstime_copy(&delta, &arena->decay_interval);
- nstime_imultiply(&delta, nadvance);
+ nstime_imultiply(&delta, nadvance_u64);
nstime_add(&arena->decay_epoch, &delta);
/* Set a new deadline. */
arena_decay_deadline_init(arena);
/* Update the backlog. */
- if (nadvance >= SMOOTHSTEP_NSTEPS) {
+ if (nadvance_u64 >= SMOOTHSTEP_NSTEPS) {
memset(arena->decay_backlog, 0, (SMOOTHSTEP_NSTEPS-1) *
sizeof(size_t));
} else {
- memmove(arena->decay_backlog, &arena->decay_backlog[nadvance],
- (SMOOTHSTEP_NSTEPS - nadvance) * sizeof(size_t));
- if (nadvance > 1) {
+ size_t nadvance_z = (size_t)nadvance_u64;
+
+ assert((uint64_t)nadvance_z == nadvance_u64);
+
+ memmove(arena->decay_backlog, &arena->decay_backlog[nadvance_z],
+ (SMOOTHSTEP_NSTEPS - nadvance_z) * sizeof(size_t));
+ if (nadvance_z > 1) {
memset(&arena->decay_backlog[SMOOTHSTEP_NSTEPS -
- nadvance], 0, (nadvance-1) * sizeof(size_t));
+ nadvance_z], 0, (nadvance_z-1) * sizeof(size_t));
}
}
ndirty_delta = (arena->ndirty > arena->decay_ndirty) ? arena->ndirty -