Print is less badly broken. Read is less badly broken. GC is too aggressive.

This commit is contained in:
Simon Brooke 2026-04-24 21:20:23 +01:00
parent 22b0160a26
commit 63906fe817
19 changed files with 489 additions and 303 deletions

View file

@ -62,8 +62,8 @@ struct pso_pointer make_frame( int arg_count, struct pso_pointer previous,
} else {
new_frame->payload.stack_frame.depth = 0;
}
new_frame->payload.stack_frame.previous = inc_ref( previous);
new_frame->payload.stack_frame.previous = inc_ref( previous );
debug_printf( DEBUG_ALLOC, 1, L"depth is %d...\n",
new_frame->payload.stack_frame.depth );
@ -129,7 +129,7 @@ struct pso_pointer make_frame_with_env( int arg_count,
arg_count, new_pointer.page, new_pointer.offset );
#endif
prev_frame->payload.stack_frame.previous = inc_ref(previous);
prev_frame->payload.stack_frame.previous = inc_ref( previous );
if ( stackp( previous ) ) {
new_frame->payload.stack_frame.depth =
@ -203,7 +203,7 @@ struct pso_pointer make_frame_with_arglist_and_env( struct pso_pointer
arg_count, new_pointer.page, new_pointer.offset );
#endif
prev_frame->payload.stack_frame.previous = inc_ref( previous);
prev_frame->payload.stack_frame.previous = inc_ref( previous );
if ( stackp( previous ) ) {
new_frame->payload.stack_frame.depth =
@ -279,12 +279,12 @@ struct pso_pointer destroy_stack_frame( struct pso_pointer fp,
dec_ref( frame->payload.stack_frame.arg[i] );
}
frame->payload.stack_frame.previous = nil;
frame->payload.stack_frame.function = nil;
frame->payload.stack_frame.more = nil;
frame->payload.stack_frame.locals = nil;
frame->payload.stack_frame.env = nil;
frame->payload.stack_frame.previous = nil;
frame->payload.stack_frame.function = nil;
frame->payload.stack_frame.more = nil;
frame->payload.stack_frame.locals = nil;
frame->payload.stack_frame.env = nil;
frame->payload.stack_frame.args = 0;
frame->payload.stack_frame.depth = 0;
}