/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchdmp.c,v 9.45 1989/09/20 23:05:37 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchdmp.c,v 9.46 1989/10/28 15:37:50 jinx Exp $
Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology
}
#define fasdump_compiled_entry() \
-{ \
+do { \
compiled_code_present_p = true; \
Old = OBJECT_ADDRESS (Temp); \
Compiled_BH(false, continue); \
return (PRIM_INTERRUPT); \
} \
*Saved_Old = New_Address; \
- *Scan = Relocate_Compiled(Temp, OBJECT_ADDRESS (New_Address), \
- Saved_Old); \
+ Temp = RELOCATE_COMPILED(Temp, (OBJECT_ADDRESS (New_Address)), \
+ Saved_Old); \
continue; \
} \
-}
+} while (false)
#define fasdump_linked_operator() \
{ \
- Scan = OPERATOR_LINKAGE_ENTRY_ADDRESS(word_ptr); \
- Temp = *Scan; \
+ Scan = ((SCHEME_OBJECT *) (word_ptr)); \
+ EXTRACT_OPERATOR_LINKAGE_ADDRESS (Temp, Scan); \
fasdump_compiled_entry(); \
+ STORE_OPERATOR_LINKAGE_ADDRESS (Temp, Scan); \
}
#define fasdump_manifest_closure() \
{ \
- Scan = MANIFEST_CLOSURE_ENTRY_ADDRESS(word_ptr); \
- Temp = *Scan; \
+ Scan = ((SCHEME_OBJECT *) (word_ptr)); \
+ EXTRACT_CLOSURE_ENTRY_ADDRESS (Temp, Scan); \
fasdump_compiled_entry(); \
+ STORE_CLOSURE_ENTRY_ADDRESS (Temp, Scan); \
}
\f
Boolean
\f
case_compiled_entry_point:
fasdump_compiled_entry();
+ *Scan = Temp;
+ break;
case TC_LINKAGE_SECTION:
{
fast machine_word *word_ptr, *next_ptr;
long overflow;
- count = READ_OPERATOR_LINKAGE_COUNT(Temp);
- word_ptr = FIRST_OPERATOR_LINKAGE_ENTRY(Scan);
- overflow = ((END_OPERATOR_LINKAGE_AREA(Scan, count)) -
+ count = (READ_OPERATOR_LINKAGE_COUNT (Temp));
+ word_ptr = (FIRST_OPERATOR_LINKAGE_ENTRY (Scan));
+ overflow = ((END_OPERATOR_LINKAGE_AREA (Scan, count)) -
scan_buffer_top);
- for (next_ptr = NEXT_LINKAGE_OPERATOR_ENTRY(word_ptr);
+ for (next_ptr = (NEXT_LINKAGE_OPERATOR_ENTRY (word_ptr));
(--count >= 0);
word_ptr = next_ptr,
- next_ptr = NEXT_LINKAGE_OPERATOR_ENTRY(word_ptr))
+ next_ptr = (NEXT_LINKAGE_OPERATOR_ENTRY (word_ptr)))
{
if (next_ptr > ((machine_word *) scan_buffer_top))
{
- extend_scan_buffer((char *) next_ptr, To);
- ONCE_ONLY(fasdump_linked_operator());
+ extend_scan_buffer (((char *) next_ptr), To);
+ fasdump_linked_operator ();
next_ptr = ((machine_word *)
- end_scan_buffer_extension((char *) next_ptr));
+ (end_scan_buffer_extension ((char *) next_ptr)));
overflow -= GC_DISK_BUFFER_SIZE;
}
else
{
- fasdump_linked_operator();
+ fasdump_linked_operator ();
}
}
- Scan = scan_buffer_top + overflow;
+ Scan = (scan_buffer_top + overflow);
break;
}
}
\f
case TC_MANIFEST_CLOSURE:
{
- machine_word *start_ptr;
- fast machine_word *word_ptr, *next_ptr;
+ fast long count;
+ fast machine_word *word_ptr;
+ machine_word *end_ptr;
Scan += 1;
- start_ptr = FIRST_MANIFEST_CLOSURE_ENTRY(Scan);
+ /* Is there enough space to read the count? */
+ if ((((machine_word *) Scan) + 2) >
+ ((machine_word *) scan_buffer_top))
+ {
+ long dw;
+ machine_word *header_end;
+
+ header_end = (((machine_word *) Scan) + 2);
+ extend_scan_buffer (((char *) header_end), To);
+ count = (MANIFEST_CLOSURE_COUNT (Scan));
+ word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan));
+ dw = (word_ptr - header_end);
+ header_end = ((machine_word *)
+ (end_scan_buffer_extension ((char *) header_end)));
+ word_ptr = (header_end + dw);
+ Scan = ((SCHEME_OBJECT *) (header_end - 2));
+ }
+ else
+ {
+ count = (MANIFEST_CLOSURE_COUNT (Scan));
+ word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan));
+ }
+ end_ptr = ((machine_word *) (MANIFEST_CLOSURE_END (Scan, count)));
- for (word_ptr = start_ptr,
- next_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- true;
- word_ptr = next_ptr,
- next_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr))
+ for ( ; ((--count) >= 0);
+ (word_ptr = (NEXT_MANIFEST_CLOSURE_ENTRY (word_ptr))))
{
- if (!MANIFEST_CLOSURE_VALID_FITS_P(word_ptr, scan_buffer_top))
- {
- long dw, ds;
-
- dw = (word_ptr - ((machine_word *) scan_buffer_top));
- ds = (word_ptr - start_ptr);
- word_ptr = (((machine_word *)
- (dump_and_reload_scan_buffer(0, NULL))) +
- dw);
- start_ptr = word_ptr - ds;
- next_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- }
- if (!VALID_MANIFEST_CLOSURE_ENTRY(word_ptr))
- {
- break;
- }
- else if (next_ptr > ((machine_word *) scan_buffer_top))
+ if ((CLOSURE_ENTRY_END (word_ptr)) >
+ ((machine_word *) scan_buffer_top))
{
- long ds;
-
- ds = (next_ptr - start_ptr);
- extend_scan_buffer((char *) next_ptr, To);
- ONCE_ONLY(fasdump_manifest_closure());
- next_ptr = ((machine_word *)
- end_scan_buffer_extension((char *) next_ptr));
- start_ptr = next_ptr - ds;
+ machine_word *entry_end;
+ long de, dw;
+
+ entry_end = (CLOSURE_ENTRY_END (word_ptr));
+ de = (end_ptr - entry_end);
+ dw = (entry_end - word_ptr);
+ extend_scan_buffer (((char *) entry_end), To);
+ fasdump_manifest_closure ();
+ entry_end = ((machine_word *)
+ (end_scan_buffer_extension ((char *) entry_end)));
+ word_ptr = (entry_end - dw);
+ end_ptr = (entry_end + de);
}
else
{
- fasdump_manifest_closure();
+ fasdump_manifest_closure ();
}
}
- Scan = MANIFEST_CLOSURE_END(word_ptr, start_ptr);
+ Scan = ((SCHEME_OBJECT *) (end_ptr));
break;
}
\f
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchgcc.h,v 9.34 1989/09/20 23:05:41 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchgcc.h,v 9.35 1989/10/28 15:37:55 jinx Exp $
Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology
}
\f
#define relocate_compiled_entry(in_gc_p) \
-{ \
+do { \
Old = OBJECT_ADDRESS (Temp); \
if (Old >= Low_Constant) \
continue; \
New_Address = (MAKE_BROKEN_HEART (To_Address)); \
copy_vector(NULL); \
*Saved_Old = New_Address; \
- *Scan = Relocate_Compiled(Temp, \
- OBJECT_ADDRESS (New_Address), \
- Saved_Old); \
+ Temp = RELOCATE_COMPILED(Temp, \
+ OBJECT_ADDRESS (New_Address), \
+ Saved_Old); \
continue; \
} \
-}
+} while (0)
#define relocate_linked_operator(in_gc_p) \
{ \
- Scan = OPERATOR_LINKAGE_ENTRY_ADDRESS(word_ptr); \
- Temp = *Scan; \
+ Scan = ((SCHEME_OBJECT *) (word_ptr)); \
+ EXTRACT_OPERATOR_LINKAGE_ADDRESS (Temp, Scan); \
relocate_compiled_entry(in_gc_p); \
+ STORE_OPERATOR_LINKAGE_ADDRESS (Temp, Scan); \
}
#define relocate_manifest_closure(in_gc_p) \
{ \
- Scan = MANIFEST_CLOSURE_ENTRY_ADDRESS(word_ptr); \
- Temp = *Scan; \
+ Scan = ((SCHEME_OBJECT *) (word_ptr)); \
+ EXTRACT_CLOSURE_ENTRY_ADDRESS (Temp, Scan); \
relocate_compiled_entry(in_gc_p); \
+ STORE_CLOSURE_ENTRY_ADDRESS (Temp, Scan); \
}
-
-#define ONCE_ONLY(stmt) \
-do \
-{ \
- stmt; \
-} while (false)
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchgcl.c,v 9.36 1989/09/20 23:05:45 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchgcl.c,v 9.37 1989/10/28 15:37:58 jinx Exp $
Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology
/* The + & -1 are here because of the Scan++ in the for header. */
overflow = (Scan - scan_buffer_top) + 1;
- Scan = ((dump_and_reload_scan_buffer((overflow / GC_DISK_BUFFER_SIZE), NULL) +
+ Scan = ((dump_and_reload_scan_buffer
+ ((overflow / GC_DISK_BUFFER_SIZE), NULL) +
(overflow % GC_DISK_BUFFER_SIZE)) - 1);
break;
}
\f
case_compiled_entry_point:
relocate_compiled_entry(true);
+ *Scan = Temp;
+ break;
case TC_LINKAGE_SECTION:
{
fast machine_word *word_ptr, *next_ptr;
long overflow;
- count = READ_OPERATOR_LINKAGE_COUNT(Temp);
- word_ptr = FIRST_OPERATOR_LINKAGE_ENTRY(Scan);
- overflow = ((END_OPERATOR_LINKAGE_AREA(Scan, count)) -
+ count = (READ_OPERATOR_LINKAGE_COUNT (Temp));
+ word_ptr = (FIRST_OPERATOR_LINKAGE_ENTRY (Scan));
+ overflow = ((END_OPERATOR_LINKAGE_AREA (Scan, count)) -
scan_buffer_top);
- for (next_ptr = NEXT_LINKAGE_OPERATOR_ENTRY(word_ptr);
+ for (next_ptr = (NEXT_LINKAGE_OPERATOR_ENTRY (word_ptr));
(--count >= 0);
word_ptr = next_ptr,
- next_ptr = NEXT_LINKAGE_OPERATOR_ENTRY(word_ptr))
+ next_ptr = (NEXT_LINKAGE_OPERATOR_ENTRY (word_ptr)))
{
if (next_ptr > ((machine_word *) scan_buffer_top))
{
- extend_scan_buffer((char *) next_ptr, To);
- ONCE_ONLY(relocate_linked_operator(true));
+ extend_scan_buffer ((char *) next_ptr, To);
+ relocate_linked_operator (true);
next_ptr = ((machine_word *)
- end_scan_buffer_extension((char *) next_ptr));
+ (end_scan_buffer_extension ((char *) next_ptr)));
overflow -= GC_DISK_BUFFER_SIZE;
}
else
{
- relocate_linked_operator(true);
+ relocate_linked_operator (true);
}
}
- Scan = scan_buffer_top + overflow;
+ Scan = (scan_buffer_top + overflow);
break;
}
}
\f
case TC_MANIFEST_CLOSURE:
{
- machine_word *start_ptr;
- fast machine_word *word_ptr, *next_ptr;
+ fast long count;
+ fast machine_word *word_ptr;
+ machine_word *end_ptr;
Scan += 1;
- start_ptr = FIRST_MANIFEST_CLOSURE_ENTRY(Scan);
+ /* Is there enough space to read the count? */
+ if ((((machine_word *) Scan) + 2) >
+ ((machine_word *) scan_buffer_top))
+ {
+ long dw;
+ machine_word *header_end;
+
+ header_end = (((machine_word *) Scan) + 2);
+ extend_scan_buffer (((char *) header_end), To);
+ count = (MANIFEST_CLOSURE_COUNT (Scan));
+ word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan));
+ dw = (word_ptr - header_end);
+ header_end = ((machine_word *)
+ (end_scan_buffer_extension ((char *) header_end)));
+ word_ptr = (header_end + dw);
+ Scan = ((SCHEME_OBJECT *) (header_end - 2));
+ }
+ else
+ {
+ count = (MANIFEST_CLOSURE_COUNT (Scan));
+ word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan));
+ }
+ end_ptr = ((machine_word *) (MANIFEST_CLOSURE_END (Scan, count)));
- for (word_ptr = start_ptr,
- next_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- true;
- word_ptr = next_ptr,
- next_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr))
+ for ( ; ((--count) >= 0);
+ (word_ptr = (NEXT_MANIFEST_CLOSURE_ENTRY (word_ptr))))
{
- if (!MANIFEST_CLOSURE_VALID_FITS_P(word_ptr, scan_buffer_top))
+ if ((CLOSURE_ENTRY_END (word_ptr)) >
+ ((machine_word *) scan_buffer_top))
{
- long dw, ds;
-
- dw = (word_ptr - ((machine_word *) scan_buffer_top));
- ds = (word_ptr - start_ptr);
- word_ptr = (((machine_word *)
- (dump_and_reload_scan_buffer(0, NULL))) +
- dw);
- start_ptr = word_ptr - ds;
- next_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- }
- if (!VALID_MANIFEST_CLOSURE_ENTRY(word_ptr))
- {
- break;
- }
- else if (next_ptr > ((machine_word *) scan_buffer_top))
- {
- long ds;
-
- ds = (next_ptr - start_ptr);
- extend_scan_buffer((char *) next_ptr, To);
- ONCE_ONLY(relocate_manifest_closure(true));
- next_ptr = ((machine_word *)
- end_scan_buffer_extension((char *) next_ptr));
- start_ptr = next_ptr - ds;
+ machine_word *entry_end;
+ long de, dw;
+
+ entry_end = (CLOSURE_ENTRY_END (word_ptr));
+ de = (end_ptr - entry_end);
+ dw = (entry_end - word_ptr);
+ extend_scan_buffer (((char *) entry_end), To);
+ relocate_manifest_closure(true);
+ entry_end = ((machine_word *)
+ (end_scan_buffer_extension ((char *) entry_end)));
+ word_ptr = (entry_end - dw);
+ end_ptr = (entry_end + de);
}
else
{
relocate_manifest_closure(true);
}
}
- Scan = MANIFEST_CLOSURE_END(word_ptr, start_ptr);
+ Scan = ((SCHEME_OBJECT *) (end_ptr));
break;
}
\f
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchpur.c,v 9.45 1989/09/20 23:05:53 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchpur.c,v 9.46 1989/10/28 15:38:01 jinx Exp $
Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology
if (purify_mode == PURE_COPY)
break;
relocate_compiled_entry(false);
+ *Scan = Temp;
+ break;
case TC_LINKAGE_SECTION:
{
fast machine_word *word_ptr, *next_ptr;
long overflow;
- count = READ_OPERATOR_LINKAGE_COUNT(Temp);
- word_ptr = FIRST_OPERATOR_LINKAGE_ENTRY(Scan);
- overflow = ((END_OPERATOR_LINKAGE_AREA(Scan, count)) -
+ count = (READ_OPERATOR_LINKAGE_COUNT (Temp));
+ word_ptr = (FIRST_OPERATOR_LINKAGE_ENTRY (Scan));
+ overflow = ((END_OPERATOR_LINKAGE_AREA (Scan, count)) -
scan_buffer_top);
- for (next_ptr = NEXT_LINKAGE_OPERATOR_ENTRY(word_ptr);
+ for (next_ptr = (NEXT_LINKAGE_OPERATOR_ENTRY (word_ptr));
(--count >= 0);
word_ptr = next_ptr,
- next_ptr = NEXT_LINKAGE_OPERATOR_ENTRY(word_ptr))
+ next_ptr = (NEXT_LINKAGE_OPERATOR_ENTRY (word_ptr)))
{
if (next_ptr > ((machine_word *) scan_buffer_top))
{
- extend_scan_buffer((char *) next_ptr, To);
- ONCE_ONLY(relocate_linked_operator(false));
+ extend_scan_buffer (((char *) next_ptr), To);
+ relocate_linked_operator (false);
next_ptr = ((machine_word *)
- end_scan_buffer_extension((char *) next_ptr));
+ (end_scan_buffer_extension ((char *) next_ptr)));
overflow -= GC_DISK_BUFFER_SIZE;
}
else
{
- relocate_linked_operator(false);
+ relocate_linked_operator (false);
}
}
- Scan = scan_buffer_top + overflow;
+ Scan = (scan_buffer_top + overflow);
break;
}
}
}
}
{
- machine_word *start_ptr;
- fast machine_word *word_ptr, *next_ptr;
+ fast long count;
+ fast machine_word *word_ptr;
+ machine_word *end_ptr;
Scan += 1;
- start_ptr = FIRST_MANIFEST_CLOSURE_ENTRY(Scan);
+ /* Is there enough space to read the count? */
+ if ((((machine_word *) Scan) + 2) >
+ ((machine_word *) scan_buffer_top))
+ {
+ long dw;
+ machine_word *header_end;
+
+ header_end = (((machine_word *) Scan) + 2);
+ extend_scan_buffer (((char *) header_end), To);
+ count = (MANIFEST_CLOSURE_COUNT (Scan));
+ word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan));
+ dw = (word_ptr - header_end);
+ header_end = ((machine_word *)
+ (end_scan_buffer_extension ((char *) header_end)));
+ word_ptr = (header_end + dw);
+ Scan = ((SCHEME_OBJECT *) (header_end - 2));
+ }
+ else
+ {
+ count = (MANIFEST_CLOSURE_COUNT (Scan));
+ word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan));
+ }
+ end_ptr = ((machine_word *) (MANIFEST_CLOSURE_END (Scan, count)));
- for (word_ptr = start_ptr,
- next_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- true;
- word_ptr = next_ptr,
- next_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr))
+ for ( ; ((--count) >= 0);
+ (word_ptr = (NEXT_MANIFEST_CLOSURE_ENTRY (word_ptr))))
{
- if (!MANIFEST_CLOSURE_VALID_FITS_P(word_ptr, scan_buffer_top))
- {
- long dw, ds;
-
- dw = (word_ptr - ((machine_word *) scan_buffer_top));
- ds = (word_ptr - start_ptr);
- word_ptr = (((machine_word *)
- (dump_and_reload_scan_buffer(0, NULL))) +
- dw);
- start_ptr = word_ptr - ds;
- next_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- }
- if (!VALID_MANIFEST_CLOSURE_ENTRY(word_ptr))
- {
- break;
- }
- else if (next_ptr > ((machine_word *) scan_buffer_top))
+ if ((CLOSURE_ENTRY_END(word_ptr)) >
+ ((machine_word *) scan_buffer_top))
{
- long ds;
-
- ds = (next_ptr - start_ptr);
- extend_scan_buffer((char *) next_ptr, To);
- ONCE_ONLY(relocate_manifest_closure(false));
- next_ptr = ((machine_word *)
- end_scan_buffer_extension((char *) next_ptr));
- start_ptr = next_ptr - ds;
+ machine_word *entry_end;
+ long de, dw;
+
+ entry_end = (CLOSURE_ENTRY_END(word_ptr));
+ de = (end_ptr - entry_end);
+ dw = (entry_end - word_ptr);
+ extend_scan_buffer(((char *) entry_end), To);
+ relocate_manifest_closure (false);
+ entry_end = ((machine_word *)
+ (end_scan_buffer_extension((char *) entry_end)));
+ word_ptr = (entry_end - dw);
+ end_ptr = (entry_end + de);
}
else
{
relocate_manifest_closure(false);
}
}
- Scan = MANIFEST_CLOSURE_END(word_ptr, start_ptr);
+ Scan = ((SCHEME_OBJECT *) (end_ptr));
break;
}
\f
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bintopsb.c,v 9.40 1989/09/20 23:04:28 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bintopsb.c,v 9.41 1989/10/28 15:37:45 jinx Exp $
Copyright (c) 1987, 1989 Massachusetts Institute of Technology
} \
}
\f
-#ifdef CMPGCFILE
+#ifdef HAS_COMPILER_SUPPORT
#define Do_Compiled_Entry(Code, Rel, Fre, Scn, Obj, FObj) \
{ \
} \
}
-#else /* no CMPGCFILE */
+#else /* no HAS_COMPILER_SUPPORT */
#define Do_Compiled_Entry(Code, Rel, Fre, Scn, Obj, FObj) \
{ \
quit (1); \
}
-#endif /* CMPGCFILE */
+#endif /* HAS_COMPILER_SUPPORT */
\f
/* Common Pointer Code */
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasdump.c,v 9.43 1989/09/20 23:07:54 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasdump.c,v 9.44 1989/10/28 15:38:18 jinx Exp $
Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology
Old = OBJECT_ADDRESS (Temp); \
Code
-#define Dump_Compiled_Entry() \
+#define Dump_Compiled_Entry(label) \
{ \
Dump_Pointer(Fasdump_Setup_Pointer(Transport_Compiled(), \
- Compiled_BH(false, continue))); \
+ Compiled_BH(false, goto label))); \
}
/* Dump_Mode is currently a fossil. It should be resurrected. */
case_compiled_entry_point:
compiled_code_present_p = true;
- Dump_Compiled_Entry();
+ Dump_Compiled_Entry(after_entry);
+ after_entry:
+ *Scan = Temp;
break;
case TC_MANIFEST_CLOSURE:
{
- machine_word *start_ptr;
+ fast long count;
fast machine_word *word_ptr;
+ SCHEME_OBJECT *area_end;
compiled_code_present_p = true;
Scan += 1;
- word_ptr = FIRST_MANIFEST_CLOSURE_ENTRY(Scan);
- start_ptr = word_ptr;
+ count = (MANIFEST_CLOSURE_COUNT (Scan));
+ word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan));
+ area_end = (MANIFEST_CLOSURE_END (Scan, count));
- while (VALID_MANIFEST_CLOSURE_ENTRY(word_ptr))
+ while ((--count) >= 0)
{
- Scan = MANIFEST_CLOSURE_ENTRY_ADDRESS(word_ptr);
- word_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- Temp = *Scan;
- Dump_Compiled_Entry();
+ Scan = ((SCHEME_OBJECT *) (word_ptr));
+ word_ptr = (NEXT_MANIFEST_CLOSURE_ENTRY (word_ptr));
+ EXTRACT_CLOSURE_ENTRY_ADDRESS (Temp, Scan);
+ Dump_Compiled_Entry (after_closure);
+ after_closure:
+ STORE_CLOSURE_ENTRY_ADDRESS (Temp, Scan);
}
- Scan = MANIFEST_CLOSURE_END(word_ptr, start_ptr);
+ Scan = area_end;
break;
}
\f
while(--count >= 0)
{
- Scan = OPERATOR_LINKAGE_ENTRY_ADDRESS(word_ptr);
+ Scan = ((SCHEME_OBJECT *) (word_ptr));
word_ptr = NEXT_LINKAGE_OPERATOR_ENTRY(word_ptr);
- Temp = *Scan;
- Dump_Compiled_Entry();
+ EXTRACT_OPERATOR_LINKAGE_ADDRESS(Temp, Scan);
+ Dump_Compiled_Entry(after_operator);
+ after_operator:
+ STORE_OPERATOR_LINKAGE_ADDRESS(Temp, Scan);
}
Scan = end_scan;
break;
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasload.c,v 9.43 1989/09/20 23:08:02 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasload.c,v 9.44 1989/10/28 15:38:21 jinx Exp $
Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology
while(--count >= 0)
{
- Scan = OPERATOR_LINKAGE_ENTRY_ADDRESS(word_ptr);
+ Scan = ((SCHEME_OBJECT *) (word_ptr));
word_ptr = NEXT_LINKAGE_OPERATOR_ENTRY(word_ptr);
- address = ((long) *Scan);
- *Scan = ((SCHEME_OBJECT) Relocate(address));
+ EXTRACT_OPERATOR_LINKAGE_ADDRESS(address, Scan);
+ address = ((long) (Relocate(address)));
+ STORE_OPERATOR_LINKAGE_ADDRESS(address, Scan);
}
Scan = &end_scan[1];
break;
\f
case TC_MANIFEST_CLOSURE:
{
- machine_word *start_ptr;
+ fast long count;
fast machine_word *word_ptr;
+ SCHEME_OBJECT *area_end;
Scan += 1;
- word_ptr = FIRST_MANIFEST_CLOSURE_ENTRY(Scan);
- start_ptr = word_ptr;
+ count = (MANIFEST_CLOSURE_COUNT (Scan));
+ word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan));
+ area_end = ((MANIFEST_CLOSURE_END (Scan, count)) + 1);
- while (VALID_MANIFEST_CLOSURE_ENTRY(word_ptr))
+ while ((--count) >= 0)
{
- Scan = MANIFEST_CLOSURE_ENTRY_ADDRESS(word_ptr);
- word_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- address = ((long) *Scan);
- *Scan = ((SCHEME_OBJECT) Relocate(address));
+ Scan = ((SCHEME_OBJECT *) (word_ptr));
+ word_ptr = (NEXT_MANIFEST_CLOSURE_ENTRY (word_ptr));
+ EXTRACT_CLOSURE_ENTRY_ADDRESS (address, Scan);
+ address = ((long) (Relocate (address)));
+ STORE_CLOSURE_ENTRY_ADDRESS (address, Scan);
}
- Scan = &((MANIFEST_CLOSURE_END(word_ptr, start_ptr))[1]);
+ Scan = area_end;
break;
}
\f
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/gc.h,v 9.29 1989/09/20 23:08:43 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/gc.h,v 9.30 1989/10/28 15:38:26 jinx Rel $
*
* Garbage collection related macros of sufficient utility to be
* included in all compilations.
\f
/* GC Types. */
-#ifdef CMPGCFILE
+#ifdef HAS_COMPILER_SUPPORT
#ifndef BAD_TYPES_LETHAL
#ifndef BAD_TYPES_INNOCUOUS
#define BAD_TYPES_INNOCUOUS
#endif /* BAD_TYPES_INNOCUOUS */
#endif /* BAD_TYPES_LETHAL */
-#endif /* CMPGCFILE */
+#endif /* HAS_COMPILER_SUPPORT */
#ifdef BAD_TYPES_INNOCUOUS
#ifdef BAD_TYPES_LETHAL
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/gccode.h,v 9.41 1989/09/20 23:08:46 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/gccode.h,v 9.42 1989/10/28 15:38:29 jinx Rel $
Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology
(*To++) = SHARP_F; \
Pointer_End (); \
}
-\f
-/* Compiled Code Relocation Utilities */
-
-#ifdef CMPGCFILE
-/* Bug in bsd cpp */
-#ifdef vax
-#include "cmpvaxgc.h"
-#else
-#include CMPGCFILE
-#endif
-#else
-
-typedef unsigned long machine_word;
-
-/* Is there anything else that can be done here? */
-
-#define GC_NO_COMPILER_STMT() \
- gc_death \
- (TERM_COMPILER_DEATH, \
- "relocate_compiled: No compiler support!", \
- 0, 0)
-
-#define GC_NO_COMPILER_EXPR(value_type) \
- ((GC_NO_COMPILER_STMT ()), (value_type 0))
-
-
-#define Relocate_Compiled(obj, nb, ob) (GC_NO_COMPILER_EXPR ((SCHEME_OBJECT)))
-
-#define Transport_Compiled() (GC_NO_COMPILER_STMT ())
-#define Compiled_BH(flag, then_what) (GC_NO_COMPILER_STMT ())
-#define Get_Compiled_Block(var, address) (GC_NO_COMPILER_STMT ())
-
-#define FIRST_MANIFEST_CLOSURE_ENTRY(scan) \
- (GC_NO_COMPILER_EXPR ((machine_word *)))
-#define VALID_MANIFEST_CLOSURE_ENTRY(word_ptr) (GC_NO_COMPILER_EXPR ((int)))
-
-#define NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr) \
- (GC_NO_COMPILER_EXPR ((machine_word *)))
-
-#define MANIFEST_CLOSURE_ENTRY_ADDRESS(ptr) \
- (GC_NO_COMPILER_EXPR ((SCHEME_OBJECT *)))
-
-#define MANIFEST_CLOSURE_END(end, start) \
- (GC_NO_COMPILER_EXPR ((SCHEME_OBJECT *)))
-
-#define MANIFEST_CLOSURE_VALID_FITS_P(end, st) \
- (GC_NO_COMPILER_EXPR ((int)))
-
-#define READ_LINKAGE_KIND(header) \
- (GC_NO_COMPILER_EXPR ((int)))
-
-#define OPERATOR_LINKAGE_KIND 0
-
-#define READ_CACHE_LINKAGE_COUNT(header) \
- (GC_NO_COMPILER_EXPR ((int)))
-
-#define READ_OPERATOR_LINKAGE_COUNT(header) \
- (GC_NO_COMPILER_EXPR ((int)))
-
-#define END_OPERATOR_LINKAGE_AREA(scan, count) \
- (GC_NO_COMPILER_EXPR ((SCHEME_OBJECT *)))
-
-#define FIRST_OPERATOR_LINKAGE_ENTRY(scan) \
- (GC_NO_COMPILER_EXPR ((machine_word *)))
-
-#define NEXT_LINKAGE_OPERATOR_ENTRY(ptr) \
- (GC_NO_COMPILER_EXPR ((machine_word *)))
-
-#define OPERATOR_LINKAGE_ENTRY_ADDRESS(ptr) \
- (GC_NO_COMPILER_EXPR ((SCHEME_OBJECT *)))
+/* Compiled Code Relocation Utilities */
-#endif
+#include "cmpgc.h"
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/gcloop.c,v 9.31 1989/09/20 23:08:50 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/gcloop.c,v 9.32 1989/10/28 15:38:33 jinx Exp $
*
* This file contains the code for the most primitive part
* of garbage collection.
while(--count >= 0)
{
- Scan = OPERATOR_LINKAGE_ENTRY_ADDRESS(word_ptr);
+ Scan = ((SCHEME_OBJECT *) word_ptr);
word_ptr = NEXT_LINKAGE_OPERATOR_ENTRY(word_ptr);
- Temp = *Scan;
+ EXTRACT_OPERATOR_LINKAGE_ADDRESS(Temp, Scan);
GC_Pointer(Setup_Internal(true,
Transport_Compiled(),
- Compiled_BH(true, continue)));
+ Compiled_BH(true, goto next_operator)));
+ next_operator:
+ STORE_OPERATOR_LINKAGE_ADDRESS(Temp, Scan);
}
Scan = end_scan;
break;
\f
case TC_MANIFEST_CLOSURE:
{
- machine_word *start_ptr;
+ fast long count;
fast machine_word *word_ptr;
+ SCHEME_OBJECT *area_end;
Scan += 1;
- word_ptr = FIRST_MANIFEST_CLOSURE_ENTRY(Scan);
- start_ptr = word_ptr;
+ count = (MANIFEST_CLOSURE_COUNT (Scan));
+ word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan));
+ area_end = (MANIFEST_CLOSURE_END (Scan, count));
- while (VALID_MANIFEST_CLOSURE_ENTRY(word_ptr))
+ while ((--count) >= 0)
{
- Scan = MANIFEST_CLOSURE_ENTRY_ADDRESS(word_ptr);
- word_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- Temp = *Scan;
+ Scan = ((SCHEME_OBJECT *) (word_ptr));
+ word_ptr = (NEXT_MANIFEST_CLOSURE_ENTRY (word_ptr));
+ EXTRACT_CLOSURE_ENTRY_ADDRESS (Temp, Scan);
GC_Pointer(Setup_Internal(true,
Transport_Compiled(),
- Compiled_BH(true, continue)));
+ Compiled_BH(true, goto next_closure)));
+ next_closure:
+ STORE_CLOSURE_ENTRY_ADDRESS (Temp, Scan);
}
- Scan = MANIFEST_CLOSURE_END(word_ptr, start_ptr);
+
+ Scan = area_end;
break;
}
case_compiled_entry_point:
GC_Pointer(Setup_Internal(true,
Transport_Compiled(),
- Compiled_BH(true, continue)));
+ Compiled_BH(true, goto after_entry)));
+ after_entry:
+ *Scan = Temp;
break;
case_Cell:
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/interp.c,v 9.52 1989/09/20 23:09:32 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/interp.c,v 9.53 1989/10/28 15:38:37 jinx Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
Interrupt(PENDING_INTERRUPTS());
}
-
case PRIM_APPLY_INTERRUPT:
{
apply_compiled_backout();
Interrupt(PENDING_INTERRUPTS());
}
+ /* The assembly language interfaces return errors
+ here. The portable version does not.
+ */
case ERR_COMPILED_CODE_ERROR:
{
/* The compiled code is signalling a microcode error. */
\f
case ERR_INAPPLICABLE_OBJECT:
/* This error code means that apply_compiled_procedure
- was called on an object which is not a compiled procedure.
+ was called on an object which is not a compiled procedure,
+ or it was called in a system without compiler support.
Fall through...
*/
Apply_Error( Which_Way);
}
- case ERR_UNIMPLEMENTED_PRIMITIVE:
- {
- /* This error code means that compiled code
- attempted to call an unimplemented primitive.
- */
-
- BACK_OUT_AFTER_PRIMITIVE();
- Pop_Return_Error( ERR_UNIMPLEMENTED_PRIMITIVE);
- }
-\f
case ERR_EXECUTE_MANIFEST_VECTOR:
{
/* This error code means that enter_compiled_expression
was called in a system without compiler support.
+ This is a kludge!
*/
execute_compiled_backout();
Pop_Return_Error( Which_Way);
}
- case ERR_BAD_COMBINATION:
- {
- /* This error code means that apply_compiled_procedure
- was called in a system without compiler support.
- */
-
- apply_compiled_backout();
- Apply_Error( Which_Way);
- }
-
case ERR_INAPPLICABLE_CONTINUATION:
{
/* This error code means that return_to_compiled_code
- or some other compiler continuation was called in a
- system without compiler support.
+ saw a non-continuation on the stack, or was called
+ in a system without compiler support.
*/
Store_Expression(SHARP_F);
}
default:
- Microcode_Termination( TERM_COMPILER_DEATH);
+ compiled_error_backout();
+ Pop_Return_Error(Which_Way);
}
}
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/memmag.c,v 9.40 1989/09/20 23:10:15 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/memmag.c,v 9.41 1989/10/28 15:38:44 jinx Exp $
Copyright (c) 1987, 1988, 1989 Massachusetts Institute of Technology
*Scan = Temp;
continue;
}
- Compiled_BH(false, continue);
+ Compiled_BH(false, { *Scan = Temp; continue; });
*Scan = SHARP_F;
continue;
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/purify.c,v 9.40 1989/09/20 23:10:54 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/purify.c,v 9.41 1989/10/28 15:38:48 jinx Exp $
*
* This file contains the code that copies objects into pure
* and constant space.
while(--count >= 0)
{
- Scan = OPERATOR_LINKAGE_ENTRY_ADDRESS(word_ptr);
+ Scan = ((SCHEME_OBJECT *) word_ptr);
word_ptr = NEXT_LINKAGE_OPERATOR_ENTRY(word_ptr);
- Temp = *Scan;
+ EXTRACT_OPERATOR_LINKAGE_ADDRESS(Temp, Scan);
Purify_Pointer(Setup_Internal(false,
Transport_Compiled(),
- Compiled_BH(false, continue)));
+ Compiled_BH(false,
+ goto next_operator)));
+ next_operator:
+ STORE_OPERATOR_LINKAGE_ADDRESS(Temp, Scan);
}
Scan = end_scan;
break;
\f
case TC_MANIFEST_CLOSURE:
{
- machine_word *start_ptr;
+ fast long count;
fast machine_word *word_ptr;
+ SCHEME_OBJECT *area_end;
if (GC_Mode == PURE_COPY)
{
}
Scan += 1;
- word_ptr = FIRST_MANIFEST_CLOSURE_ENTRY(Scan);
- start_ptr = word_ptr;
+ count = (MANIFEST_CLOSURE_COUNT (Scan));
+ word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan));
+ area_end = (MANIFEST_CLOSURE_END (Scan, count));
- while (VALID_MANIFEST_CLOSURE_ENTRY(word_ptr))
+ while ((--count) >= 0)
{
- Scan = MANIFEST_CLOSURE_ENTRY_ADDRESS(word_ptr);
- word_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- Temp = *Scan;
+ Scan = ((SCHEME_OBJECT *) (word_ptr));
+ word_ptr = (NEXT_MANIFEST_CLOSURE_ENTRY (word_ptr));
+ EXTRACT_CLOSURE_ENTRY_ADDRESS (Temp, Scan);
Purify_Pointer(Setup_Internal(false,
Transport_Compiled(),
- Compiled_BH(false, continue)));
+ Compiled_BH(false,
+ goto next_closure)));
+ next_closure:
+ STORE_CLOSURE_ENTRY_ADDRESS(Temp, Scan);
}
- Scan = MANIFEST_CLOSURE_END(word_ptr, start_ptr);
+ Scan = area_end;
break;
}
{
Purify_Pointer(Setup_Internal(false,
Transport_Compiled(),
- Compiled_BH(false, continue)));
+ Compiled_BH(false, goto after_entry)));
+ after_entry:
+ *Scan = Temp;
}
break;
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/purutl.c,v 9.37 1989/09/20 23:10:58 cph Exp $ */
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/purutl.c,v 9.38 1989/10/28 15:38:53 jinx Exp $ */
/* Pure/Constant space utilities. */
\f
case TC_MANIFEST_CLOSURE:
{
- machine_word *start_ptr;
- fast machine_word *word_ptr;
+ fast long count;
From += 1;
- word_ptr = FIRST_MANIFEST_CLOSURE_ENTRY(From);
- start_ptr = word_ptr;
-
- while (VALID_MANIFEST_CLOSURE_ENTRY(word_ptr))
- {
- word_ptr = NEXT_MANIFEST_CLOSURE_ENTRY(word_ptr);
- }
- From = MANIFEST_CLOSURE_END(word_ptr, start_ptr);
-
+ count = (MANIFEST_CLOSURE_COUNT (From));
+ From = (MANIFEST_CLOSURE_END (From, count));
continue;
}
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/unxutl/Attic/ymkfile,v 1.14 1989/09/24 15:25:19 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/unxutl/Attic/ymkfile,v 1.15 1989/10/28 15:39:09 jinx Exp $
Copyright (c) 1989 Massachusetts Institute of Technology
#if (PROC_TYPE == PROC_TYPE_68020)
-MACHINE_SWITCHES = -DMC68020 -DCMPGCFILE=\"cmp68kgc.h\"
+MACHINE_SWITCHES = -DMC68020 -DHAS_COMPILER_SUPPORT
MACHINE_SOURCES = cmp68020.m4
MACHINE_OBJECTS = cmp68020.o
GC_HEAD_FILES = gccode.h cmp68kgc.h
#else
#if (PROC_TYPE == PROC_TYPE_VAX)
-MACHINE_SWITCHES = -DCMPGCFILE=\"cmpvaxgc.h\"
+MACHINE_SWITCHES = -DHAS_COMPILER_SUPPORT
MACHINE_SOURCES = cmpvax.m4
MACHINE_OBJECTS = cmpvax.o
GC_HEAD_FILES = gccode.h cmpvaxgc.h
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/version.h,v 11.6 1989/10/26 07:50:01 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/version.h,v 11.7 1989/10/28 15:39:06 jinx Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
#define VERSION 11
#endif
#ifndef SUBVERSION
-#define SUBVERSION 6
+#define SUBVERSION 7
#endif
#ifndef UCODE_TABLES_FILENAME
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/bintopsb.c,v 9.40 1989/09/20 23:04:28 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/bintopsb.c,v 9.41 1989/10/28 15:37:45 jinx Exp $
Copyright (c) 1987, 1989 Massachusetts Institute of Technology
} \
}
\f
-#ifdef CMPGCFILE
+#ifdef HAS_COMPILER_SUPPORT
#define Do_Compiled_Entry(Code, Rel, Fre, Scn, Obj, FObj) \
{ \
} \
}
-#else /* no CMPGCFILE */
+#else /* no HAS_COMPILER_SUPPORT */
#define Do_Compiled_Entry(Code, Rel, Fre, Scn, Obj, FObj) \
{ \
quit (1); \
}
-#endif /* CMPGCFILE */
+#endif /* HAS_COMPILER_SUPPORT */
\f
/* Common Pointer Code */
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/interp.c,v 9.52 1989/09/20 23:09:32 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/interp.c,v 9.53 1989/10/28 15:38:37 jinx Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
Interrupt(PENDING_INTERRUPTS());
}
-
case PRIM_APPLY_INTERRUPT:
{
apply_compiled_backout();
Interrupt(PENDING_INTERRUPTS());
}
+ /* The assembly language interfaces return errors
+ here. The portable version does not.
+ */
case ERR_COMPILED_CODE_ERROR:
{
/* The compiled code is signalling a microcode error. */
\f
case ERR_INAPPLICABLE_OBJECT:
/* This error code means that apply_compiled_procedure
- was called on an object which is not a compiled procedure.
+ was called on an object which is not a compiled procedure,
+ or it was called in a system without compiler support.
Fall through...
*/
Apply_Error( Which_Way);
}
- case ERR_UNIMPLEMENTED_PRIMITIVE:
- {
- /* This error code means that compiled code
- attempted to call an unimplemented primitive.
- */
-
- BACK_OUT_AFTER_PRIMITIVE();
- Pop_Return_Error( ERR_UNIMPLEMENTED_PRIMITIVE);
- }
-\f
case ERR_EXECUTE_MANIFEST_VECTOR:
{
/* This error code means that enter_compiled_expression
was called in a system without compiler support.
+ This is a kludge!
*/
execute_compiled_backout();
Pop_Return_Error( Which_Way);
}
- case ERR_BAD_COMBINATION:
- {
- /* This error code means that apply_compiled_procedure
- was called in a system without compiler support.
- */
-
- apply_compiled_backout();
- Apply_Error( Which_Way);
- }
-
case ERR_INAPPLICABLE_CONTINUATION:
{
/* This error code means that return_to_compiled_code
- or some other compiler continuation was called in a
- system without compiler support.
+ saw a non-continuation on the stack, or was called
+ in a system without compiler support.
*/
Store_Expression(SHARP_F);
}
default:
- Microcode_Termination( TERM_COMPILER_DEATH);
+ compiled_error_backout();
+ Pop_Return_Error(Which_Way);
}
}
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/version.h,v 11.6 1989/10/26 07:50:01 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/version.h,v 11.7 1989/10/28 15:39:06 jinx Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
#define VERSION 11
#endif
#ifndef SUBVERSION
-#define SUBVERSION 6
+#define SUBVERSION 7
#endif
#ifndef UCODE_TABLES_FILENAME