Fix save-image-and-exit bug
parent
005cdd4d3a
commit
be4915ee9c
|
@ -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
|
sequences tools.test words namespaces layouts classes
|
||||||
classes.builtin arrays quotations ;
|
classes.builtin arrays quotations ;
|
||||||
IN: memory.tests
|
IN: memory.tests
|
||||||
|
@ -19,6 +19,7 @@ TUPLE: testing x y z ;
|
||||||
[ ] [
|
[ ] [
|
||||||
num-types get [
|
num-types get [
|
||||||
type>class [
|
type>class [
|
||||||
|
dup . flush
|
||||||
"predicate" word-prop instances [
|
"predicate" word-prop instances [
|
||||||
class drop
|
class drop
|
||||||
] each
|
] each
|
||||||
|
|
|
@ -186,13 +186,16 @@ void strip_compiled_quotations(void)
|
||||||
|
|
||||||
DEFINE_PRIMITIVE(save_image_and_exit)
|
DEFINE_PRIMITIVE(save_image_and_exit)
|
||||||
{
|
{
|
||||||
/* This reduces deployed image size */
|
/* We unbox this before doing anything else. This is the only point
|
||||||
strip_compiled_quotations();
|
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();
|
F_CHAR *path = unbox_native_string();
|
||||||
|
|
||||||
REGISTER_C_STRING(path);
|
REGISTER_C_STRING(path);
|
||||||
|
|
||||||
|
/* This reduces deployed image size */
|
||||||
|
strip_compiled_quotations();
|
||||||
|
|
||||||
/* strip out userenv data which is set on startup anyway */
|
/* strip out userenv data which is set on startup anyway */
|
||||||
CELL i;
|
CELL i;
|
||||||
for(i = 0; i < FIRST_SAVE_ENV; i++)
|
for(i = 0; i < FIRST_SAVE_ENV; i++)
|
||||||
|
|
Loading…
Reference in New Issue