Fix save-image-and-exit bug

db4
Slava Pestov 2008-09-19 14:44:58 -05:00
parent 005cdd4d3a
commit be4915ee9c
2 changed files with 8 additions and 4 deletions

View File

@ -1,4 +1,4 @@
USING: generic kernel kernel.private math memory prettyprint
USING: generic kernel kernel.private math memory prettyprint io
sequences tools.test words namespaces layouts classes
classes.builtin arrays quotations ;
IN: memory.tests
@ -19,6 +19,7 @@ TUPLE: testing x y z ;
[ ] [
num-types get [
type>class [
dup . flush
"predicate" word-prop instances [
class drop
] each

View File

@ -186,13 +186,16 @@ void strip_compiled_quotations(void)
DEFINE_PRIMITIVE(save_image_and_exit)
{
/* This reduces deployed image size */
strip_compiled_quotations();
/* We unbox this before doing anything else. This is the only point
where we might throw an error, so we have to throw an error here since
later steps destroy the current image. */
F_CHAR *path = unbox_native_string();
REGISTER_C_STRING(path);
/* This reduces deployed image size */
strip_compiled_quotations();
/* strip out userenv data which is set on startup anyway */
CELL i;
for(i = 0; i < FIRST_SAVE_ENV; i++)