5 if(TAG(*cell) != FIXNUM_TYPE)
6 *cell += (active->base - relocation_base);
12 size = untagged_object_size(relocating);
13 switch(untag_header(get(relocating)))
16 fixup_array((ARRAY*)relocating);
19 fixup_vector((VECTOR*)relocating);
22 fixup_sbuf((SBUF*)relocating);
25 fixup_handle((HANDLE*)relocating);
33 switch(TAG(get(relocating)))
36 fixup_word((WORD*)relocating);
37 relocating += sizeof(WORD);
43 fixup((CELL*)relocating);
53 fixup(&env.user[GLOBAL_ENV]);
55 relocating = active->base;
57 /* The first three objects in the image must always be
59 if(untag_header(get(relocating)) != EMPTY_TYPE)
60 fatal_error("Not empty",get(relocating));
61 empty = tag_object(relocating);
64 if(untag_header(get(relocating)) != F_TYPE)
65 fatal_error("Not F",get(relocating));
66 F = tag_object(relocating);
69 if(untag_header(get(relocating)) != T_TYPE)
70 fatal_error("Not T",get(relocating));
71 T = tag_object(relocating);
76 if(relocating >= active->here)