]> gitweb.factorcode.org Git - factor.git/blobdiff - vm/image.hpp
Version 4 compatible image format with reserved fields defined for forwards compatibi...
[factor.git] / vm / image.hpp
index 8006e328fb10be18a5a7adeeb9c16bfc2e4ada57..67b1b3c8bb3b16df595e953a4f2013a1c765ad71 100644 (file)
@@ -15,17 +15,17 @@ struct image_header {
   cell version;
   // base address of data heap when image was saved
   cell data_relocation_base;
-  // size of data heap
+  // <>0 : size of data heap, ==0 : version4_escape
   union { cell data_size; cell version4_escape; };
   // base address of code heap when image was saved
   cell code_relocation_base;
   // size of code heap
   cell code_size;
 
-  union { cell reserved_1; cell escaped_data_size; };
-  cell reserved_2;
-  cell reserved_3;
-  cell reserved_4;
+  union { cell reserved_1; cell escaped_data_size; }; // undefined if data_size <>0, stores size of data heap otherwise
+  cell reserved_2; // undefined if data_size <>0, 0 otherwise
+  cell reserved_3; // undefined if data_size <>0, 0 otherwise
+  cell reserved_4; // undefined if data_size <>0, 0 otherwise
 
   // Initial user environment
   cell special_objects[special_object_count];