mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-19 11:10:25 +02:00
Rework options interface
Users will want to set options from an environment variable or something like that. Particular GC implementations will want to expose an expanded set of options. For these reasons we make the options interface a bit more generalized and include parsing.
This commit is contained in:
parent
499ff1fe76
commit
4cb26e0144
14 changed files with 411 additions and 257 deletions
10
quads.c
10
quads.c
|
@ -128,12 +128,14 @@ int main(int argc, char *argv[]) {
|
|||
printf("Allocating heap of %.3fGB (%.2f multiplier of live data).\n",
|
||||
heap_size / 1e9, multiplier);
|
||||
|
||||
struct gc_option options[] = { { GC_OPTION_FIXED_HEAP_SIZE, heap_size },
|
||||
{ GC_OPTION_PARALLELISM, parallelism } };
|
||||
struct gc_options *options = gc_allocate_options();
|
||||
gc_options_set_int(options, GC_OPTION_HEAP_SIZE_POLICY, GC_HEAP_SIZE_FIXED);
|
||||
gc_options_set_size(options, GC_OPTION_HEAP_SIZE, heap_size);
|
||||
gc_options_set_int(options, GC_OPTION_PARALLELISM, 1);
|
||||
|
||||
struct gc_heap *heap;
|
||||
struct gc_mutator *mut;
|
||||
if (!gc_init(sizeof options / sizeof options[0], options, NULL, &heap,
|
||||
&mut)) {
|
||||
if (!gc_init(options, NULL, &heap, &mut)) {
|
||||
fprintf(stderr, "Failed to initialize GC with heap size %zu bytes\n",
|
||||
heap_size);
|
||||
return 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue