place patches from Kevin

svn: r11273
This commit is contained in:
Matthew Flatt 2008-08-15 15:59:39 +00:00
parent b58081fe3a
commit 9ecece65d7
5 changed files with 18 additions and 6 deletions

7
collects/scheme/place.ss Normal file
View File

@ -0,0 +1,7 @@
(module place '#%kernel
(#%require '#%place)
(#%provide place
place_sleep
place_wait
place?))

View File

@ -319,6 +319,7 @@ Scheme_Env *scheme_engine_instance_init() {
place_instance_init_pre_kernel(stack_base);
make_kernel_env();
scheme_init_parameterization_readonly_globals();
env = place_instance_init_post_kernel();
return env;
@ -348,6 +349,8 @@ static void place_instance_init_pre_kernel(void *stack_base) {
scheme_make_thread(stack_base);
scheme_init_module_resolver();
#ifdef TIME_STARTUP_PROCESS
printf("process @ %ld\n", scheme_get_process_milliseconds());
#endif

View File

@ -319,8 +319,6 @@ void scheme_init_module(Scheme_Env *env)
scheme_install_type_writer(scheme_module_type, write_module);
scheme_install_type_reader(scheme_module_type, read_module);
scheme_init_module_resolver();
GLOBAL_PARAMETER("current-module-name-resolver", current_module_name_resolver, MZCONFIG_CURRENT_MODULE_RESOLVER, env);
GLOBAL_PARAMETER("current-module-declare-name", current_module_name_prefix, MZCONFIG_CURRENT_MODULE_NAME, env);

View File

@ -201,6 +201,7 @@ void scheme_init_dynamic_extension(Scheme_Env *env);
extern void scheme_regexp_initialize(Scheme_Env *env);
#endif
void scheme_init_memtrace(Scheme_Env *env);
void scheme_init_parameterization_readonly_globals();
void scheme_init_parameterization(Scheme_Env *env);
void scheme_init_getenv(void);

View File

@ -815,17 +815,20 @@ void scheme_init_memtrace(Scheme_Env *env)
scheme_finish_primitive_module(newenv);
}
void scheme_init_parameterization(Scheme_Env *env)
void scheme_init_parameterization_readonly_globals()
{
Scheme_Object *v;
Scheme_Env *newenv;
REGISTER_SO(scheme_exn_handler_key);
REGISTER_SO(scheme_parameterization_key);
REGISTER_SO(scheme_break_enabled_key);
scheme_exn_handler_key = scheme_make_symbol("exnh");
scheme_parameterization_key = scheme_make_symbol("paramz");
scheme_break_enabled_key = scheme_make_symbol("break-on?");
}
void scheme_init_parameterization(Scheme_Env *env)
{
Scheme_Object *v;
Scheme_Env *newenv;
REGISTER_SO(recycle_cell);
REGISTER_SO(maybe_recycle_cell);