bug fixes: JITted string-set! etc. didn't check for mutability, and 'format' was incorrectly registered as folding

svn: r7605
This commit is contained in:
Matthew Flatt 2007-11-01 11:49:10 +00:00
parent 3ab3a7300c
commit 426093d85c
2 changed files with 7 additions and 3 deletions

View File

@ -5361,6 +5361,10 @@ static int do_generate_common(mz_jit_state *jitter, void *_data)
}
jit_ldxi_s(JIT_R2, JIT_R0, &((Scheme_Object *)0x0)->type);
(void)jit_bnei_i(reffail, JIT_R2, ty);
if (iii) {
jit_ldxi_s(JIT_R2, JIT_R0, &(MZ_OPT_HASH_KEY((Scheme_Inclhash_Object *)0x0)));
(void)jit_bmsi_ul(reffail, JIT_R2, 0x1);
}
jit_ldxi_i(JIT_R2, JIT_R0, count_offset);
if (i) {
/* index from expression: */

View File

@ -615,9 +615,9 @@ scheme_init_string (Scheme_Env *env)
env);
scheme_add_global_constant("format",
scheme_make_folding_prim(format,
"format",
1, -1, 1),
scheme_make_noncm_prim(format,
"format",
1, -1),
env);
scheme_add_global_constant("printf",
scheme_make_noncm_prim(sch_printf,