svn: r1161
This commit is contained in:
Matthew Flatt 2005-10-25 21:38:51 +00:00
parent 5805633713
commit dd4cf2990c
3 changed files with 12 additions and 11 deletions

View File

@ -63,7 +63,7 @@ static int mark_weak_array(void *p)
for (i = a->count; i--; ) { for (i = a->count; i--; ) {
if (data[i] if (data[i]
&& (*(short *)(data[i]) != 45) && (*(short *)(data[i]) != 45)
&& (*(short *)(data[i]) != 54)) && (*(short *)(data[i]) != 55))
CRASH(1); CRASH(1);
} }
} }

View File

@ -276,6 +276,14 @@ Scheme_Env *scheme_basic_env()
} }
} }
#ifdef MZ_PRECISE_GC
scheme_register_traversers();
register_traversers();
scheme_init_hash_key_procs();
#endif
scheme_init_true_false();
REGISTER_SO(toplevels_ht); REGISTER_SO(toplevels_ht);
REGISTER_SO(locals_ht[0]); REGISTER_SO(locals_ht[0]);
REGISTER_SO(locals_ht[1]); REGISTER_SO(locals_ht[1]);
@ -289,14 +297,6 @@ Scheme_Env *scheme_basic_env()
locals_ht[1] = ht; locals_ht[1] = ht;
} }
scheme_init_true_false();
#ifdef MZ_PRECISE_GC
scheme_register_traversers();
register_traversers();
scheme_init_hash_key_procs();
#endif
#ifdef TIME_STARTUP_PROCESS #ifdef TIME_STARTUP_PROCESS
printf("pre-process @ %ld\n", scheme_get_process_milliseconds()); printf("pre-process @ %ld\n", scheme_get_process_milliseconds());
#endif #endif

View File

@ -1379,8 +1379,7 @@ long scheme_get_byte_string_unless(const char *who,
unsigned char *s; unsigned char *s;
i = ip->ungotten_count; i = ip->ungotten_count;
s = (unsigned char *)ip->ungotten; /* s will be in reverse order */
/* s is in reverse order */
if (peek) { if (peek) {
if (!SCHEME_INTP(peek_skip) || (i < SCHEME_INT_VAL(peek_skip))) { if (!SCHEME_INTP(peek_skip) || (i < SCHEME_INT_VAL(peek_skip))) {
@ -1398,9 +1397,11 @@ long scheme_get_byte_string_unless(const char *who,
l = size; l = size;
size -= l; size -= l;
s = (unsigned char *)ip->ungotten; /* Not GC-safe! */
while (l--) { while (l--) {
buffer[offset + got++] = s[--i]; buffer[offset + got++] = s[--i];
} }
s = NULL;
if (!peek) if (!peek)
ip->ungotten_count = i; ip->ungotten_count = i;