promotional, or sales literature without prior written consent from
MIT in each case. */
-/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bintopsb.c,v 9.38 1989/07/02 05:12:25 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bintopsb.c,v 9.39 1989/07/25 08:46:06 cph Rel $
*
* This File contains the code to translate internal format binary
* files to portable format.
NFlonums += 1; \
*Old_Address++ = Make_Non_Pointer(TC_BROKEN_HEART, (Obj)); \
(Obj) += 1; \
+ Align_Float(FObj); \
*(FObj)++ = Make_Non_Pointer(TC_BIG_FLONUM, 0); \
*((double *) (FObj)) = *((double *) Old_Address); \
(FObj) += float_to_pointer; \
} \
}
\f
+#ifdef CMPGCFILE
+
#define Do_Compiled_Entry(Code, Rel, Fre, Scn, Obj, FObj) \
{ \
long offset; \
Copy_Vector(Scn, Fre); \
} \
}
+
+#else /* no CMPGCFILE */
+
+#define Do_Compiled_Entry(Code, Rel, Fre, Scn, Obj, FObj) \
+{ \
+ fprintf(stderr, \
+ "%s: Invoking Do_Compiled_Entry with no compiler support!\n", \
+ program_name); \
+ quit(1); \
+}
+
+#endif /* CMPGCFILE */
\f
/* Common Pointer Code */
from += 1;
break;
+#ifdef FLOATING_ALIGNMENT
+
+ case TC_MANIFEST_NM_VECTOR:
+ if ((OBJECT_DATUM(*from)) == 0)
+ {
+ from += 1;
+ count += 1;
+ break;
+ }
+ /* fall through */
+
+#endif /* FLOATING_ALIGNMENT */
+
default:
fprintf(stderr,
"%s: Bad Object to print externally %lx\n",
promotional, or sales literature without prior written consent from
MIT in each case. */
-/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasload.c,v 9.41 1989/06/16 09:41:53 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasload.c,v 9.42 1989/07/25 08:45:49 cph Rel $
The "fast loader" which reads in and relocates binary files and then
interns symbols. It is called with one argument: the (character
{
Pointer *table;
-#if false
- /* Aligning Free here confuses the counters. */
-
- Align_Float(Free);
-#endif
-
if ((Load_Data(Heap_Count, ((char *) Free))) != Heap_Count)
{
Close_Dump_File();
NORMALIZE_REGION(((char *) table), Primitive_Table_Size);
Free += Primitive_Table_Size;
-#if false
- /* Same */
-
- Align_Float(Free);
-#endif
-
if (Close_Dump_File())
{
return (table);
load_renumber_table = Free;
Free += Primitive_Table_Length;
+ Align_Float(Free);
Orig_Heap = Free;
Orig_Constant = Free_Constant;
primitive_table = read_file_end();
promotional, or sales literature without prior written consent from
MIT in each case. */
-/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/bintopsb.c,v 9.38 1989/07/02 05:12:25 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/bintopsb.c,v 9.39 1989/07/25 08:46:06 cph Rel $
*
* This File contains the code to translate internal format binary
* files to portable format.
NFlonums += 1; \
*Old_Address++ = Make_Non_Pointer(TC_BROKEN_HEART, (Obj)); \
(Obj) += 1; \
+ Align_Float(FObj); \
*(FObj)++ = Make_Non_Pointer(TC_BIG_FLONUM, 0); \
*((double *) (FObj)) = *((double *) Old_Address); \
(FObj) += float_to_pointer; \
} \
}
\f
+#ifdef CMPGCFILE
+
#define Do_Compiled_Entry(Code, Rel, Fre, Scn, Obj, FObj) \
{ \
long offset; \
Copy_Vector(Scn, Fre); \
} \
}
+
+#else /* no CMPGCFILE */
+
+#define Do_Compiled_Entry(Code, Rel, Fre, Scn, Obj, FObj) \
+{ \
+ fprintf(stderr, \
+ "%s: Invoking Do_Compiled_Entry with no compiler support!\n", \
+ program_name); \
+ quit(1); \
+}
+
+#endif /* CMPGCFILE */
\f
/* Common Pointer Code */
from += 1;
break;
+#ifdef FLOATING_ALIGNMENT
+
+ case TC_MANIFEST_NM_VECTOR:
+ if ((OBJECT_DATUM(*from)) == 0)
+ {
+ from += 1;
+ count += 1;
+ break;
+ }
+ /* fall through */
+
+#endif /* FLOATING_ALIGNMENT */
+
default:
fprintf(stderr,
"%s: Bad Object to print externally %lx\n",