[pypy-commit] stmgc c7-refactor: Tweak
arigo
noreply at buildbot.pypy.org
Sun Feb 16 15:30:14 CET 2014
Author: Armin Rigo <arigo at tunes.org>
Branch: c7-refactor
Changeset: r752:616a24c4ab3c
Date: 2014-02-16 10:35 +0100
http://bitbucket.org/pypy/stmgc/changeset/616a24c4ab3c/
Log: Tweak
diff --git a/c7/stm/pages.c b/c7/stm/pages.c
--- a/c7/stm/pages.c
+++ b/c7/stm/pages.c
@@ -87,20 +87,21 @@
assert((size & 255) == 0);
assert(size > 0);
- char *addr = REAL_ADDRESS(STM_SEGMENT->segment_base, ((uintptr_t)p) >> 8);
+ uintptr_t cmaddr = ((uintptr_t)p) >> 8;
+ LIST_APPEND(STM_PSEGMENT->creation_markers, cmaddr);
+
+ char *addr = REAL_ADDRESS(STM_SEGMENT->segment_base, cmaddr);
memset(addr, newvalue, size >> 8);
-
- LIST_APPEND(STM_PSEGMENT->creation_markers, addr);
}
static void set_single_creation_marker(stm_char *p, int newvalue)
{
assert((((uintptr_t)p) & 255) == 0);
- char *addr = REAL_ADDRESS(STM_SEGMENT->segment_base, ((uintptr_t)p) >> 8);
- addr[0] = newvalue;
+ uintptr_t cmaddr = ((uintptr_t)p) >> 8;
- LIST_APPEND(STM_PSEGMENT->creation_markers, addr);
+ ((stm_creation_marker_t *)cmaddr)->cm = newvalue;
+ LIST_APPEND(STM_PSEGMENT->creation_markers, cmaddr);
}
static void reset_all_creation_markers(void)
@@ -114,7 +115,7 @@
STM_PSEGMENT->creation_markers,
uintptr_t /*item*/,
({
- uint64_t *p = (uint64_t *)(item & ~7);
+ TLPREFIX uint64_t *p = (TLPREFIX uint64_t *)(item & ~7);
while (*p != 0)
*p++ = 0;
}));
More information about the pypy-commit
mailing list