struct ao_scheme_frame_vals *vals = ao_scheme_poly_frame_vals(frame->vals);
MDBG_MOVE("frame mark %d\n", MDBG_OFFSET(frame));
- if (!AO_SCHEME_IS_POOL(frame))
- break;
if (!ao_scheme_mark_memory(&ao_scheme_frame_vals_type, vals))
frame_vals_mark(vals);
frame = ao_scheme_poly_frame(frame->prev);
int ret;
MDBG_MOVE("frame move %d\n", MDBG_OFFSET(frame));
- if (!AO_SCHEME_IS_POOL(frame))
- break;
-
vals = ao_scheme_poly_frame_vals(frame->vals);
if (!ao_scheme_move_memory(&ao_scheme_frame_vals_type, (void **) &vals))
frame_vals_move(vals);
{
struct ao_scheme_frame *frame = ao_scheme_poly_frame(p);
struct ao_scheme_frame *clear = frame;
- struct ao_scheme_frame_vals *vals = ao_scheme_poly_frame_vals(frame->vals);
int f;
int written = 0;
ao_scheme_print_start();
while (frame) {
+ struct ao_scheme_frame_vals *vals = ao_scheme_poly_frame_vals(frame->vals);
+
if (written != 0)
printf(", ");
if (ao_scheme_print_mark_addr(frame)) {
frame->num = 0;
frame->prev = AO_SCHEME_NIL;
frame->vals = AO_SCHEME_NIL;
- ao_scheme_frame_stash(0, frame);
+ ao_scheme_frame_stash(frame);
vals = ao_scheme_frame_vals_new(num);
- frame = ao_scheme_frame_fetch(0);
+ frame = ao_scheme_frame_fetch();
if (!vals)
return NULL;
frame->vals = ao_scheme_frame_vals_poly(vals);
if (new_num == frame->num)
return frame;
- ao_scheme_frame_stash(0, frame);
+ ao_scheme_frame_stash(frame);
new_vals = ao_scheme_frame_vals_new(new_num);
- frame = ao_scheme_frame_fetch(0);
+ frame = ao_scheme_frame_fetch();
if (!new_vals)
return NULL;
vals = ao_scheme_poly_frame_vals(frame->vals);
if (!ref) {
int f = frame->num;
- ao_scheme_poly_stash(0, atom);
- ao_scheme_poly_stash(1, val);
+ ao_scheme_poly_stash(atom);
+ ao_scheme_poly_stash(val);
frame = ao_scheme_frame_realloc(frame, f + 1);
- val = ao_scheme_poly_fetch(1);
- atom = ao_scheme_poly_fetch(0);
+ val = ao_scheme_poly_fetch();
+ atom = ao_scheme_poly_fetch();
if (!frame)
return AO_SCHEME_NIL;
ao_scheme_frame_bind(frame, frame->num - 1, atom, val);