diff --git a/src/mzscheme/src/cstartup.inc b/src/mzscheme/src/cstartup.inc index f422a40277..68d02bfaf7 100644 --- a/src/mzscheme/src/cstartup.inc +++ b/src/mzscheme/src/cstartup.inc @@ -1,24 +1,24 @@ { static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,49,50,0,0,0,1,0,0,6,0,9,0, -14,0,18,0,23,0,28,0,32,0,39,0,42,0,55,0,62,0,69,0,78, +16,0,20,0,25,0,28,0,33,0,40,0,47,0,60,0,64,0,69,0,78, 0,84,0,98,0,112,0,115,0,119,0,121,0,132,0,134,0,148,0,155,0, 177,0,179,0,193,0,253,0,23,1,32,1,41,1,51,1,68,1,107,1,146, 1,215,1,4,2,92,2,137,2,142,2,162,2,53,3,73,3,124,3,190,3, 75,4,233,4,20,5,31,5,110,5,0,0,118,7,0,0,65,98,101,103,105, -110,29,11,11,64,108,101,116,42,63,108,101,116,64,119,104,101,110,64,99,111, -110,100,63,97,110,100,66,108,101,116,114,101,99,62,111,114,72,112,97,114,97, -109,101,116,101,114,105,122,101,66,100,101,102,105,110,101,66,117,110,108,101,115, -115,68,104,101,114,101,45,115,116,120,65,113,117,111,116,101,29,94,2,14,68, +110,29,11,11,66,100,101,102,105,110,101,63,97,110,100,64,108,101,116,42,62, +111,114,64,99,111,110,100,66,108,101,116,114,101,99,66,117,110,108,101,115,115, +72,112,97,114,97,109,101,116,101,114,105,122,101,63,108,101,116,64,119,104,101, +110,68,104,101,114,101,45,115,116,120,65,113,117,111,116,101,29,94,2,14,68, 35,37,107,101,114,110,101,108,11,29,94,2,14,68,35,37,112,97,114,97,109, 122,11,62,105,102,63,115,116,120,61,115,70,108,101,116,45,118,97,108,117,101, 115,61,120,73,108,101,116,114,101,99,45,118,97,108,117,101,115,66,108,97,109, 98,100,97,1,20,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,110, 45,107,101,121,61,118,73,100,101,102,105,110,101,45,118,97,108,117,101,115,98, -10,35,11,8,180,219,94,159,2,16,35,35,159,2,15,35,35,16,20,2,9, -2,2,2,3,2,2,2,4,2,2,2,5,2,2,2,6,2,2,2,7,2, -2,2,8,2,2,2,10,2,2,2,11,2,2,2,12,2,2,97,36,11,8, -180,219,93,159,2,15,35,36,16,2,2,13,161,2,2,36,2,13,2,2,2, -13,97,10,11,11,8,180,219,16,0,97,10,37,11,8,180,219,16,0,13,16, +10,35,11,8,181,219,94,159,2,16,35,35,159,2,15,35,35,16,20,2,3, +2,2,2,6,2,2,2,4,2,2,2,5,2,2,2,8,2,2,2,7,2, +2,2,9,2,2,2,10,2,2,2,11,2,2,2,12,2,2,97,36,11,8, +181,219,93,159,2,15,35,36,16,2,2,13,161,2,2,36,2,13,2,2,2, +13,97,10,11,11,8,181,219,16,0,97,10,37,11,8,181,219,16,0,13,16, 4,35,29,11,11,2,2,11,18,98,64,104,101,114,101,8,31,8,30,8,29, 8,28,8,27,27,248,22,190,3,23,196,1,249,22,183,3,80,158,38,35,251, 22,73,2,17,248,22,88,23,200,2,12,249,22,63,2,1,248,22,90,23,202, @@ -26,14 +26,14 @@ 17,248,22,88,23,200,2,249,22,63,2,1,248,22,90,23,202,1,12,27,248, 22,65,248,22,190,3,23,197,1,28,248,22,71,23,194,2,20,15,159,36,35, 36,28,248,22,71,248,22,65,23,195,2,248,22,64,193,249,22,183,3,80,158, -38,35,251,22,73,2,17,248,22,64,23,200,2,249,22,63,2,7,248,22,65, +38,35,251,22,73,2,17,248,22,64,23,200,2,249,22,63,2,4,248,22,65, 23,202,1,11,18,100,10,8,31,8,30,8,29,8,28,8,27,16,4,11,11, 2,18,3,1,7,101,110,118,56,49,54,51,16,4,11,11,2,19,3,1,7, 101,110,118,56,49,54,52,27,248,22,65,248,22,190,3,23,197,1,28,248,22, 71,23,194,2,20,15,159,36,35,36,28,248,22,71,248,22,65,23,195,2,248, 22,64,193,249,22,183,3,80,158,38,35,250,22,73,2,20,248,22,73,249,22, 73,248,22,73,2,21,248,22,64,23,202,2,251,22,73,2,17,2,21,2,21, -249,22,63,2,9,248,22,65,23,205,1,18,100,11,8,31,8,30,8,29,8, +249,22,63,2,6,248,22,65,23,205,1,18,100,11,8,31,8,30,8,29,8, 28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,56,49,54,54,16,4, 11,11,2,19,3,1,7,101,110,118,56,49,54,55,248,22,190,3,193,27,248, 22,190,3,194,249,22,63,248,22,73,248,22,64,196,248,22,65,195,27,248,22, @@ -49,7 +49,7 @@ 22,2,32,0,89,162,8,44,36,46,9,222,33,42,248,22,190,3,248,22,64, 201,248,22,65,198,27,248,22,65,248,22,190,3,196,27,248,22,190,3,248,22, 64,195,249,22,183,3,80,158,39,35,28,248,22,71,195,250,22,74,2,20,9, -248,22,65,199,250,22,73,2,4,248,22,73,248,22,64,199,250,22,74,2,3, +248,22,65,199,250,22,73,2,11,248,22,73,248,22,64,199,250,22,74,2,5, 248,22,65,201,248,22,65,202,27,248,22,65,248,22,190,3,23,197,1,27,249, 22,1,22,77,249,22,2,22,190,3,248,22,190,3,248,22,64,199,249,22,183, 3,80,158,39,35,251,22,73,1,22,119,105,116,104,45,99,111,110,116,105,110, @@ -61,10 +61,10 @@ 15,159,36,35,36,249,22,183,3,80,158,38,35,27,248,22,190,3,248,22,64, 23,198,2,28,249,22,151,8,62,61,62,248,22,184,3,248,22,88,23,197,2, 250,22,73,2,20,248,22,73,249,22,73,21,93,2,25,248,22,64,199,250,22, -74,2,6,249,22,73,2,25,249,22,73,248,22,97,203,2,25,248,22,65,202, +74,2,7,249,22,73,2,25,249,22,73,248,22,97,203,2,25,248,22,65,202, 251,22,73,2,17,28,249,22,151,8,248,22,184,3,248,22,64,23,201,2,64, 101,108,115,101,10,248,22,64,23,198,2,250,22,74,2,20,9,248,22,65,23, -201,1,249,22,63,2,6,248,22,65,23,203,1,99,8,31,8,30,8,29,8, +201,1,249,22,63,2,7,248,22,65,23,203,1,99,8,31,8,30,8,29,8, 28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,56,49,56,57,16,4, 11,11,2,19,3,1,7,101,110,118,56,49,57,48,18,158,94,10,64,118,111, 105,100,8,47,27,248,22,65,248,22,190,3,196,249,22,183,3,80,158,38,35, @@ -78,22 +78,22 @@ 11,11,11,11,11,16,10,2,3,2,4,2,5,2,6,2,7,2,8,2,9, 2,10,2,11,2,12,35,45,36,11,11,16,0,16,0,16,0,35,35,11,11, 11,16,0,16,0,16,0,35,35,16,11,16,5,93,2,13,20,15,159,35,35, -35,35,20,103,159,35,16,0,16,1,33,32,10,16,5,93,2,12,89,162,8, +35,35,20,103,159,35,16,0,16,1,33,32,10,16,5,93,2,9,89,162,8, 44,36,52,9,223,0,33,33,35,20,103,159,35,16,1,20,25,159,36,2,2, -2,13,16,0,11,16,5,93,2,5,89,162,8,44,36,52,9,223,0,33,34, +2,13,16,0,11,16,5,93,2,12,89,162,8,44,36,52,9,223,0,33,34, 35,20,103,159,35,16,1,20,25,159,36,2,2,2,13,16,0,11,16,5,93, -2,7,89,162,8,44,36,52,9,223,0,33,35,35,20,103,159,35,16,1,20, -25,159,36,2,2,2,13,16,1,33,36,11,16,5,93,2,9,89,162,8,44, +2,4,89,162,8,44,36,52,9,223,0,33,35,35,20,103,159,35,16,1,20, +25,159,36,2,2,2,13,16,1,33,36,11,16,5,93,2,6,89,162,8,44, 36,55,9,223,0,33,37,35,20,103,159,35,16,1,20,25,159,36,2,2,2, -13,16,1,33,38,11,16,5,93,2,4,89,162,8,44,36,57,9,223,0,33, +13,16,1,33,38,11,16,5,93,2,11,89,162,8,44,36,57,9,223,0,33, 41,35,20,103,159,35,16,1,20,25,159,36,2,2,2,13,16,0,11,16,5, 93,2,8,89,162,8,44,36,52,9,223,0,33,43,35,20,103,159,35,16,1, -20,25,159,36,2,2,2,13,16,0,11,16,5,93,2,3,89,162,8,44,36, +20,25,159,36,2,2,2,13,16,0,11,16,5,93,2,5,89,162,8,44,36, 53,9,223,0,33,44,35,20,103,159,35,16,1,20,25,159,36,2,2,2,13, 16,0,11,16,5,93,2,10,89,162,8,44,36,54,9,223,0,33,45,35,20, -103,159,35,16,1,20,25,159,36,2,2,2,13,16,0,11,16,5,93,2,6, +103,159,35,16,1,20,25,159,36,2,2,2,13,16,0,11,16,5,93,2,7, 89,162,8,44,36,57,9,223,0,33,46,35,20,103,159,35,16,1,20,25,159, -36,2,2,2,13,16,1,33,48,11,16,5,93,2,11,89,162,8,44,36,53, +36,2,2,2,13,16,1,33,48,11,16,5,93,2,3,89,162,8,44,36,53, 9,223,0,33,49,35,20,103,159,35,16,1,20,25,159,36,2,2,2,13,16, 0,11,16,0,94,2,15,2,16,93,2,15,9,9,35,0}; EVAL_ONE_SIZED_STR((char *)expr, 2031); @@ -344,20 +344,20 @@ } { static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,49,8,0,0,0,1,0,0,6,0,19,0, -34,0,48,0,62,0,76,0,111,0,0,0,241,0,0,0,65,113,117,111,116, +34,0,48,0,62,0,76,0,111,0,0,0,254,0,0,0,65,113,117,111,116, 101,29,94,2,1,67,35,37,117,116,105,108,115,11,29,94,2,1,69,35,37, 110,101,116,119,111,114,107,11,29,94,2,1,68,35,37,112,97,114,97,109,122, 11,29,94,2,1,68,35,37,101,120,112,111,98,115,11,29,94,2,1,68,35, -37,107,101,114,110,101,108,11,98,10,35,11,8,182,221,97,159,2,2,35,35, +37,107,101,114,110,101,108,11,98,10,35,11,8,183,221,97,159,2,2,35,35, 159,2,3,35,35,159,2,4,35,35,159,2,5,35,35,159,2,6,35,35,16, 0,159,35,20,103,159,35,16,1,65,98,101,103,105,110,16,0,83,158,41,20, 100,137,69,35,37,98,117,105,108,116,105,110,29,11,11,10,10,18,96,11,42, 42,42,35,80,158,35,35,20,103,159,35,16,0,16,0,11,11,16,0,35,11, 38,35,11,11,16,0,16,0,16,0,35,35,36,11,11,16,0,16,0,16,0, -35,35,11,11,11,16,0,16,0,16,0,35,35,16,0,16,0,98,2,6,2, +35,35,11,11,11,16,0,16,0,16,0,35,35,16,0,16,0,99,2,6,2, 5,29,94,2,1,69,35,37,102,111,114,101,105,103,110,11,2,4,2,3,2, -2,9,9,9,35,0}; - EVAL_ONE_SIZED_STR((char *)expr, 278); +2,29,94,2,1,67,35,37,112,108,97,99,101,11,9,9,9,35,0}; + EVAL_ONE_SIZED_STR((char *)expr, 291); } { static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,48,46,49,52,0,0,0,1,0,0,3,0,14,0, diff --git a/src/mzscheme/src/env.c b/src/mzscheme/src/env.c index 70224a31a7..1b9d124366 100644 --- a/src/mzscheme/src/env.c +++ b/src/mzscheme/src/env.c @@ -365,6 +365,7 @@ static Scheme_Env *place_instance_init_post_kernel() { #endif scheme_init_parameterization(env); scheme_init_expand_observe(env); + scheme_init_place(env); #ifndef DONT_USE_FOREIGN scheme_init_foreign(env); @@ -463,9 +464,6 @@ static void make_kernel_env(void) #ifndef NO_REGEXP_UTILS MZTIMEIT(regexp, scheme_regexp_initialize(env)); #endif -#ifdef MZ_USE_PLACES - MZTIMEIT(places, scheme_init_place(env)); -#endif MARK_START_TIME(); diff --git a/src/mzscheme/src/places.c b/src/mzscheme/src/places.c index e800266ea4..67d3161ec9 100644 --- a/src/mzscheme/src/places.c +++ b/src/mzscheme/src/places.c @@ -3,10 +3,6 @@ #ifdef MZ_USE_PLACES -/************************************************************************/ -/************************************************************************/ -/************************************************************************/ - #include "mzrt.h" Scheme_Object *scheme_place(int argc, Scheme_Object *args[]); @@ -16,12 +12,29 @@ static Scheme_Object *scheme_place_p(int argc, Scheme_Object *args[]); static void load_namespace(char *namespace_name); static void load_namespace_utf8(Scheme_Object *namespace_name); -#ifdef MZ_PRECISE_GC +# ifdef MZ_PRECISE_GC static void register_traversers(void); -#endif +# endif static void *place_start_proc(void *arg); +# define PLACE_PRIM_W_ARITY(name, func, a1, a2, env) GLOBAL_PRIM_W_ARITY(name, func, a1, a2, env) + +#else + +# define PLACE_PRIM_W_ARITY(name, func, a1, a2, env) GLOBAL_PRIM_W_ARITY(name, not_implemented, a1, a2, env) + +static Scheme_Object *not_implemented(int argc, Scheme_Object **argv) +{ + scheme_raise_exn(MZEXN_FAIL_UNSUPPORTED, "not supported"); + return NULL; +} + +# ifdef MZ_PRECISE_GC +static void register_traversers(void) { } +# endif + +#endif /*========================================================================*/ /* initialization */ @@ -36,20 +49,20 @@ void scheme_init_place(Scheme_Env *env) plenv = scheme_primitive_module(scheme_intern_symbol("#%place"), env); - scheme_add_global_constant("place", scheme_make_prim_w_arity(scheme_place, "place", 1, 1), plenv); - scheme_add_global_constant("place_sleep", scheme_make_prim_w_arity(scheme_place_sleep, "place_sleep", 1, 1), plenv); - scheme_add_global_constant("place_wait", scheme_make_prim_w_arity(scheme_place_wait, "place_wait", 1, 1), plenv); - scheme_add_global_constant("place?", scheme_make_prim_w_arity(scheme_place_p, "place?", 1, 1), plenv); - scheme_add_global_constant("place6", scheme_make_prim_w_arity(scheme_place, "place6", 1, 1), plenv); - scheme_add_global_constant("place5", scheme_make_prim_w_arity(scheme_place, "place5", 1, 1), plenv); - scheme_add_global_constant("place4", scheme_make_prim_w_arity(scheme_place, "place4", 1, 1), plenv); - scheme_add_global_constant("place3", scheme_make_prim_w_arity(scheme_place, "place3", 1, 1), plenv); - scheme_add_global_constant("place2", scheme_make_prim_w_arity(scheme_place, "place2", 1, 1), plenv); - scheme_add_global_constant("place1", scheme_make_prim_w_arity(scheme_place, "place1", 1, 1), plenv); + PLACE_PRIM_W_ARITY("place", scheme_place, 1, 1, plenv); + PLACE_PRIM_W_ARITY("place_sleep", scheme_place_sleep, 1, 1, plenv); + PLACE_PRIM_W_ARITY("place_wait", scheme_place_wait, 1, 1, plenv); + PLACE_PRIM_W_ARITY("place?", scheme_place_p, 1, 1, plenv); scheme_finish_primitive_module(plenv); } +#ifdef MZ_USE_PLACES + +/************************************************************************/ +/************************************************************************/ +/************************************************************************/ + typedef struct Place_Start_Data { Scheme_Object *thunk; } Place_Start_Data; diff --git a/src/mzscheme/src/schpriv.h b/src/mzscheme/src/schpriv.h index 3742dc35ea..f095c94305 100644 --- a/src/mzscheme/src/schpriv.h +++ b/src/mzscheme/src/schpriv.h @@ -2600,11 +2600,11 @@ void scheme_add_global_keyword_symbol(Scheme_Object *name, Scheme_Object *v, Sch void scheme_add_global_constant(const char *name, Scheme_Object *v, Scheme_Env *env); void scheme_add_global_constant_symbol(Scheme_Object *name, Scheme_Object *v, Scheme_Env *env); -#define GLOBAL_FOLDING_PRIM(name, func, a1, a2, a3, env) scheme_add_global_constant(name, scheme_make_folding_prim(func, name, a1, a2, a3), env); -#define GLOBAL_IMMED_PRIM(name, func, a1, a2, env) scheme_add_global_constant(name, scheme_make_immed_prim(func, name, a1, a2), env); -#define GLOBAL_PARAMETER(name, func, constant, env) scheme_add_global_constant(name, scheme_register_parameter(func, name, constant), env); -#define GLOBAL_PRIM_W_ARITY(name, func, a1, a2, env) scheme_add_global_constant(name, scheme_make_prim_w_arity(func, name, a1, a2), env); -#define GLOBAL_PRIM_W_ARITY2(name, func, a1, a2, a3, a4, env) scheme_add_global_constant(name, scheme_make_prim_w_arity2(func, name, a1, a2, a3, a4), env); +#define GLOBAL_FOLDING_PRIM(name, func, a1, a2, a3, env) scheme_add_global_constant(name, scheme_make_folding_prim(func, name, a1, a2, a3), env) +#define GLOBAL_IMMED_PRIM(name, func, a1, a2, env) scheme_add_global_constant(name, scheme_make_immed_prim(func, name, a1, a2), env) +#define GLOBAL_PARAMETER(name, func, constant, env) scheme_add_global_constant(name, scheme_register_parameter(func, name, constant), env) +#define GLOBAL_PRIM_W_ARITY(name, func, a1, a2, env) scheme_add_global_constant(name, scheme_make_prim_w_arity(func, name, a1, a2), env) +#define GLOBAL_PRIM_W_ARITY2(name, func, a1, a2, a3, a4, env) scheme_add_global_constant(name, scheme_make_prim_w_arity2(func, name, a1, a2, a3, a4), env) Scheme_Object *scheme_tl_id_sym(Scheme_Env *env, Scheme_Object *id, Scheme_Object *bdg, int is_def, Scheme_Object *phase); diff --git a/src/mzscheme/src/startup.inc b/src/mzscheme/src/startup.inc index ef261ace36..0defa286e3 100644 --- a/src/mzscheme/src/startup.inc +++ b/src/mzscheme/src/startup.inc @@ -391,7 +391,8 @@ "(only '#%foreign) " " '#%paramz" " '#%network" -" '#%utils))" +" '#%utils" +"(only '#%place)))" ); EVAL_ONE_STR( "(module #%boot '#%kernel" diff --git a/src/mzscheme/src/startup.ss b/src/mzscheme/src/startup.ss index ae3bad163e..10d5b14772 100644 --- a/src/mzscheme/src/startup.ss +++ b/src/mzscheme/src/startup.ss @@ -463,7 +463,8 @@ (only '#%foreign) ; so it's attached, but doesn't depend on any exports '#%paramz '#%network - '#%utils)) + '#%utils + (only '#%place))) ;; ---------------------------------------- ;; Handlers to install on startup diff --git a/src/worksp/gc2/make.ss b/src/worksp/gc2/make.ss index 7345d6e609..a6a60f8e09 100644 --- a/src/worksp/gc2/make.ss +++ b/src/worksp/gc2/make.ss @@ -39,11 +39,13 @@ "jit" "list" "module" + "mzrt" "network" "numarith" "number" "numcomp" "numstr" + "places" "port" "portfun" "print" diff --git a/src/worksp/libmzsch/libmzsch.vcproj b/src/worksp/libmzsch/libmzsch.vcproj index 3d926172d8..a754bb7e7e 100644 --- a/src/worksp/libmzsch/libmzsch.vcproj +++ b/src/worksp/libmzsch/libmzsch.vcproj @@ -266,6 +266,10 @@ RelativePath="..\..\Mzscheme\Src\module.c" > + + @@ -290,6 +294,10 @@ RelativePath="..\..\Mzscheme\Src\numstr.c" > + +