enable bitmap gc only if available
This commit is contained in:
parent
c124a17a15
commit
9e0dd2cff9
|
@ -7,10 +7,6 @@
|
||||||
#include "picrin/private/khash.h"
|
#include "picrin/private/khash.h"
|
||||||
#include "picrin/private/state.h"
|
#include "picrin/private/state.h"
|
||||||
|
|
||||||
#ifndef PIC_MEMALIGN
|
|
||||||
# error "bitmapgc requires PIC_MEMALIGN"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
union header {
|
union header {
|
||||||
struct {
|
struct {
|
||||||
union header *ptr;
|
union header *ptr;
|
||||||
|
@ -294,7 +290,7 @@ heap_morecore(pic_state *pic)
|
||||||
|
|
||||||
assert(2 <= HEADER_SIZE);
|
assert(2 <= HEADER_SIZE);
|
||||||
|
|
||||||
if(PIC_MEMALIGN(pic, (void **)&page, PIC_HEAP_PAGE_SIZE, PIC_HEAP_PAGE_SIZE) != 0)
|
if (PIC_MEMALIGN(pic, (void **)&page, PIC_HEAP_PAGE_SIZE, PIC_HEAP_PAGE_SIZE) != 0)
|
||||||
pic_panic(pic, "memory exhausted");
|
pic_panic(pic, "memory exhausted");
|
||||||
|
|
||||||
memset(page->bitmap, 0, sizeof(page->bitmap));
|
memset(page->bitmap, 0, sizeof(page->bitmap));
|
||||||
|
|
|
@ -165,14 +165,6 @@ typedef unsigned long uint32_t;
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
# ifndef PIC_MEMALIGN
|
|
||||||
# include <unistd.h>
|
|
||||||
# define PIC_MEMALIGN(pic, buf, alignment, size) posix_memalign(buf, alignment, size)
|
|
||||||
# endif
|
|
||||||
# ifndef PIC_USE_BITMAPGC
|
|
||||||
# define PIC_USE_BITMAPGC
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
# define assert(v) (void)0
|
# define assert(v) (void)0
|
||||||
|
@ -468,3 +460,10 @@ double PIC_CSTRING_TO_DOUBLE(const char *);
|
||||||
#else
|
#else
|
||||||
# define PIC_NAN_BOXING 0
|
# define PIC_NAN_BOXING 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if PIC_USE_LIBC && (defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)))
|
||||||
|
# include <unistd.h>
|
||||||
|
# define PIC_MEMALIGN(pic, buf, alignment, size) posix_memalign(buf, alignment, size)
|
||||||
|
# define PIC_USE_BITMAPGC 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue