diff --git a/include/cyclone/runtime.h b/include/cyclone/runtime.h index dd7550bd..30cbe7a1 100644 --- a/include/cyclone/runtime.h +++ b/include/cyclone/runtime.h @@ -226,8 +226,8 @@ extern const object primitive_Cyc_91get_91cvar; extern const object primitive_Cyc_91set_91cvar_67; extern const object primitive_Cyc_91cvar_127; extern const object primitive_Cyc_91has_91cycle_127; -extern const object primitive_Cyc_91spawn_91thread_127; -extern const object primitive_Cyc_91end_91thread_127; +extern const object primitive_Cyc_91spawn_91thread_67; +extern const object primitive_Cyc_91end_91thread_67; extern const object primitive__87; extern const object primitive__91; extern const object primitive__85; diff --git a/runtime.c b/runtime.c index 0a4c68e2..21bf948d 100644 --- a/runtime.c +++ b/runtime.c @@ -1702,11 +1702,11 @@ void _set_91cdr_67(void *data, object cont, object args) { void _Cyc_91has_91cycle_127(void *data, object cont, object args) { Cyc_check_num_args(data, "Cyc-has-cycle?", 1, args); return_closcall1(data, cont, Cyc_has_cycle(car(args))); } -void _Cyc_91spawn_91thread_127(void *data, object cont, object args) { +void _Cyc_91spawn_91thread_67(void *data, object cont, object args) { Cyc_check_num_args(data, "Cyc-spawn-thread!", 1, args); // TODO: validate argument type? return_closcall1(data, cont, Cyc_spawn_thread(car(args))); } -void _Cyc_91end_91thread_127(void *data, object cont, object args) { +void _Cyc_91end_91thread_67(void *data, object cont, object args) { Cyc_check_num_args(data, "Cyc-end-thread!", 0, args); Cyc_end_thread((gc_thread_data *)data); return_closcall1(data, cont, boolean_f); } @@ -2896,8 +2896,8 @@ static primitive_type Cyc_91get_91cvar_primitive = {{0}, primitive_tag, "Cyc-get static primitive_type Cyc_91set_91cvar_67_primitive = {{0}, primitive_tag, "Cyc-set-cvar!", &_Cyc_91set_91cvar_67}; static primitive_type Cyc_91cvar_127_primitive = {{0}, primitive_tag, "Cyc-cvar?", &_Cyc_91cvar_127}; static primitive_type Cyc_91has_91cycle_127_primitive = {{0}, primitive_tag, "Cyc-has-cycle?", &_Cyc_91has_91cycle_127}; -static primitive_type Cyc_91spawn_91thread_127_primitive = {{0}, primitive_tag, "Cyc-spawn-thread!", &_Cyc_91spawn_91thread_127}; -static primitive_type Cyc_91end_91thread_127_primitive = {{0}, primitive_tag, "Cyc-end-thread!", &_Cyc_91end_91thread_127}; +static primitive_type Cyc_91spawn_91thread_67_primitive = {{0}, primitive_tag, "Cyc-spawn-thread!", &_Cyc_91spawn_91thread_67}; +static primitive_type Cyc_91end_91thread_67_primitive = {{0}, primitive_tag, "Cyc-end-thread!", &_Cyc_91end_91thread_67}; static primitive_type _87_primitive = {{0}, primitive_tag, "+", &__87}; static primitive_type _91_primitive = {{0}, primitive_tag, "-", &__91}; static primitive_type _85_primitive = {{0}, primitive_tag, "*", &__85}; @@ -3015,8 +3015,8 @@ const object primitive_Cyc_91get_91cvar = &Cyc_91get_91cvar_primitive; const object primitive_Cyc_91set_91cvar_67 = &Cyc_91set_91cvar_67_primitive; const object primitive_Cyc_91cvar_127 = &Cyc_91cvar_127_primitive; const object primitive_Cyc_91has_91cycle_127 = &Cyc_91has_91cycle_127_primitive; -const object primitive_Cyc_91spawn_91thread_127 = &Cyc_91spawn_91thread_127_primitive; -const object primitive_Cyc_91end_91thread_127 = &Cyc_91end_91thread_127_primitive; +const object primitive_Cyc_91spawn_91thread_67 = &Cyc_91spawn_91thread_67_primitive; +const object primitive_Cyc_91end_91thread_67 = &Cyc_91end_91thread_67_primitive; const object primitive__87 = &_87_primitive; const object primitive__91 = &_91_primitive; const object primitive__85 = &_85_primitive; @@ -3140,7 +3140,7 @@ void *Cyc_init_thread(object thunk) gc_thread_data_init(thd, 0, (char *) &stack_start, global_stack_size); thd->gc_cont = thunk; thd->gc_num_args = 1; - thd->gc_args[0] = &Cyc_91end_91thread_127_primitive; + thd->gc_args[0] = &Cyc_91end_91thread_67_primitive; gc_add_mutator(thd); Cyc_start_thread(thd); return NULL; diff --git a/scheme/cyclone/cgen.sld b/scheme/cyclone/cgen.sld index b6bd7f43..58abed71 100644 --- a/scheme/cyclone/cgen.sld +++ b/scheme/cyclone/cgen.sld @@ -450,6 +450,8 @@ ((eq? p 'Cyc-set-cvar!) "Cyc_set_cvar") ((eq? p 'Cyc-cvar?) "Cyc_is_cvar") ((eq? p 'Cyc-has-cycle?) "Cyc_has_cycle") + ((eq? p 'Cyc-spawn-thread!) "Cyc_spawn_thread") + ((eq? p 'Cyc-end-thread!) "Cyc_end_thread") ((eq? p 'Cyc-stdout) "Cyc_stdout") ((eq? p 'Cyc-stdin) "Cyc_stdin") ((eq? p 'Cyc-stderr) "Cyc_stderr") @@ -580,6 +582,7 @@ <= apply Cyc-default-exception-handler + Cyc-end-thread! open-input-file open-output-file close-port diff --git a/scheme/cyclone/transforms.sld b/scheme/cyclone/transforms.sld index 3a5d23df..8630f6b6 100644 --- a/scheme/cyclone/transforms.sld +++ b/scheme/cyclone/transforms.sld @@ -451,6 +451,8 @@ Cyc-set-cvar! Cyc-cvar? ;; Cyclone-specific Cyc-has-cycle? + Cyc-spawn-thread! + Cyc-end-thread! Cyc-stdout Cyc-stdin Cyc-stderr diff --git a/scheme/eval.sld b/scheme/eval.sld index 45f69be6..79197b0f 100644 --- a/scheme/eval.sld +++ b/scheme/eval.sld @@ -136,6 +136,8 @@ (list 'Cyc-set-cvar! Cyc-set-cvar!) (list 'Cyc-cvar? Cyc-cvar?) (list 'Cyc-has-cycle? Cyc-has-cycle?) + (list 'Cyc-spawn-thread! Cyc-spawn-thread!) + (list 'Cyc-end-thread! Cyc-end-thread!) (list 'Cyc-default-exception-handler Cyc-default-exception-handler) (list 'Cyc-current-exception-handler Cyc-current-exception-handler) (list '+ +)