From 4b060b685fa38a8609f054495f8e583b31971a06 Mon Sep 17 00:00:00 2001 From: Abdulaziz Ghuloum Date: Fri, 1 Dec 2006 09:52:12 -0500 Subject: [PATCH] Added an arg_list field to the pcb which contains all command-line arguments except -b (if it was there). --- runtime/ikarus | Bin 54096 -> 54124 bytes runtime/ikarus-collect.c | 5 +++-- runtime/ikarus-main.c | 23 +++++++++++++++++------ runtime/ikarus.h | 2 +- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/runtime/ikarus b/runtime/ikarus index e179f43dc2302725a4aa2d72a3257d2cae446eb6..3b1e10f974c65113c70ca2e9a26ec7bae72e938e 100755 GIT binary patch delta 10123 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 delta 9753 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 SPAr+-JuWu3k1gi2Wd47ekrJi= diff --git a/runtime/ikarus-collect.c b/runtime/ikarus-collect.c index b140c06..409cafc 100644 --- a/runtime/ikarus-collect.c +++ b/runtime/ikarus-collect.c @@ -305,8 +305,9 @@ ik_collect(int req, ikpcb* pcb){ */ scan_dirty_pages(&gc); collect_stack(&gc, pcb->frame_pointer, pcb->frame_base - wordsize); - pcb->next_k = add_object(&gc, pcb->next_k, "main"); - pcb->oblist = add_object(&gc, pcb->oblist, "main"); + pcb->next_k = add_object(&gc, pcb->next_k, "next_k"); + pcb->oblist = add_object(&gc, pcb->oblist, "oblist"); + pcb->arg_list = add_object(&gc, pcb->arg_list, "args_list"); /* now we trace all live objects */ collect_loop(&gc); diff --git a/runtime/ikarus-main.c b/runtime/ikarus-main.c index e299b7e..8aecbae 100644 --- a/runtime/ikarus-main.c +++ b/runtime/ikarus-main.c @@ -54,12 +54,6 @@ int main(int argc, char** argv){ x = stpcpy(x, argv[0]); x = stpcpy(x, ".boot"); } - if(argc != 1){ - fprintf(stderr, - "Error ~s: unrecognized argument %s\n", - argv[0], argv[1]); - exit(-1); - } if(sizeof(mp_limb_t) != sizeof(int)){ fprintf(stderr, "ERROR: limb size\n"); @@ -68,6 +62,23 @@ int main(int argc, char** argv){ fprintf(stderr, "ERROR: bits_per_limb=%d\n", mp_bits_per_limb); } ikpcb* pcb = ik_make_pcb(); + { /* set up arg_list */ + ikp arg_list = null_object; + int i = argc-1; + while(i > 0){ + char* s = argv[i]; + int n = strlen(s); + ikp str = ik_alloc(pcb, align(n+disp_string_data+1)); + ref(str, disp_string_length) = fix(n); + strcpy((char*)str+disp_string_data, s); + ikp p = ik_alloc(pcb, pair_size); + ref(p, disp_car) = str + string_tag; + ref(p, disp_cdr) = arg_list; + arg_list = p+pair_tag; + i--; + } + pcb->arg_list = arg_list; + } ik_fasl_load(pcb, boot_file); /* fprintf(stderr, "collect time: %d.%03d utime, %d.%03d stime (%d collections)\n", diff --git a/runtime/ikarus.h b/runtime/ikarus.h index d3690e2..fa97ef5 100644 --- a/runtime/ikarus.h +++ b/runtime/ikarus.h @@ -85,7 +85,7 @@ typedef struct { ikp next_k; /* offset = 20 */ void* system_stack; /* offset = 24 */ unsigned int* dirty_vector; /* offset = 28 */ - + ikp arg_list; /* offset = 32 */ /* the rest are not used by any scheme code */ /* they only support the runtime system (gc, etc.) */ unsigned int* segment_vector;