mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-27 21:40:34 +02:00
Add large object space to mark-sweep collector
This will let us partition the mark space into chunks of 32 or 64 kB, as we won't need to allocate chunk-spanning objects. This will improve sweeping parallelism and is a step on the way to immix.
This commit is contained in:
parent
3ee2009de9
commit
adc4a7a269
4 changed files with 88 additions and 12 deletions
1
assert.h
1
assert.h
|
@ -4,6 +4,7 @@
|
|||
#define STATIC_ASSERT_EQ(a, b) _Static_assert((a) == (b), "eq")
|
||||
|
||||
#define UNLIKELY(e) __builtin_expect(e, 0)
|
||||
#define LIKELY(e) __builtin_expect(e, 1)
|
||||
|
||||
#ifndef NDEBUG
|
||||
#define ASSERT(x) do { if (UNLIKELY(!(x))) __builtin_trap(); } while (0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue