|
potion
0.2
|
non-API GC internals More...
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Macros | |
| #define | POTION_BIRTH_SIZE (PN_SIZE_T << 21) |
| #define | POTION_MIN_BIRTH_SIZE (PN_SIZE_T << 15) |
| #define | POTION_MAX_BIRTH_SIZE (16 * POTION_BIRTH_SIZE) |
| #define | POTION_GC_THRESHOLD (3 * POTION_BIRTH_SIZE) |
| #define | POTION_GC_PERIOD 256 |
| #define | POTION_NB_ROOTS 64 |
| #define | SET_GEN(t, p, s) |
| #define | SET_STOREPTR(n) M->birth_storeptr = (void *)(((void **)M->birth_hi) - (n)) |
| #define | GC_KEEP(p) *(M->birth_storeptr--) = (void *)p |
| #define | DEL_BIRTH_REGION() |
| #define | IS_GC_PROTECTED(p) ((_PN)(p) >= (_PN)M && (_PN)(p) < (_PN)M->protect) |
| #define | IN_BIRTH_REGION(p) ((_PN)(p) > (_PN)M->birth_lo && (_PN)(p) < (_PN)M->birth_hi) |
| #define | IN_OLDER_REGION(p) ((_PN)(p) > (_PN)M->old_lo && (_PN)(p) < (_PN)M->old_hi) |
| #define | IS_NEW_PTR(p) (PN_IS_PTR(p) && IN_BIRTH_REGION(p) && !IS_GC_PROTECTED(p)) |
| #define | GC_FORWARD(p, v) |
| #define | GC_MINOR_UPDATE(p) |
| #define | GC_MAJOR_UPDATE(p) |
| #define | GC_MINOR_UPDATE_TABLE(name, kh, is_map) |
| #define | GC_MAJOR_UPDATE_TABLE(name, kh, is_map) |
| #define | GC_MINOR_STRINGS() |
| #define | GC_MAJOR_STRINGS() |
Functions | |
| static int | potion_birth_suggest (int need, volatile void *oldlo, volatile void *oldhi) |
| PN_SIZE | potion_stack_len (Potion *, _PN **) |
| PN_SIZE | potion_mark_stack (Potion *, int) |
| void * | potion_gc_copy (Potion *, struct PNObject *) |
| void * | pngc_page_new (int *, const char) |
| void * | potion_mark_minor (Potion *, const struct PNObject *) |
| void * | potion_mark_major (Potion *, const struct PNObject *) |
| void | potion_gc_release (Potion *) |
| #define POTION_MAX_BIRTH_SIZE (16 * POTION_BIRTH_SIZE) |
| #define POTION_GC_THRESHOLD (3 * POTION_BIRTH_SIZE) |
| #define SET_GEN | ( | t, | |
| p, | |||
| s | |||
| ) |
| #define DEL_BIRTH_REGION | ( | ) |
| #define IS_NEW_PTR | ( | p | ) | (PN_IS_PTR(p) && IN_BIRTH_REGION(p) && !IS_GC_PROTECTED(p)) |
| #define GC_FORWARD | ( | p, | |
| v | |||
| ) |
| #define GC_MINOR_UPDATE | ( | p | ) |
| #define GC_MAJOR_UPDATE | ( | p | ) |
| #define GC_MINOR_UPDATE_TABLE | ( | name, | |
| kh, | |||
| is_map | |||
| ) |
| #define GC_MAJOR_UPDATE_TABLE | ( | name, | |
| kh, | |||
| is_map | |||
| ) |
| #define GC_MINOR_STRINGS | ( | ) |
| #define GC_MAJOR_STRINGS | ( | ) |
|
inlinestatic |