Alpha mods.
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Sat, 29 Aug 1992 12:45:42 +0000 (12:45 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Sat, 29 Aug 1992 12:45:42 +0000 (12:45 +0000)
v7/src/microcode/cmpint.c
v8/src/microcode/cmpint.c

index fedf3374741cac63c431decb2b97608a5fd68f3c..305cd6172bfe504704ed80136a97cfa2633e0035 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/cmpint.c,v 1.47 1992/07/29 19:54:49 cph Exp $
+$Id: cmpint.c,v 1.48 1992/08/29 12:45:42 jinx Exp $
 
 Copyright (c) 1989-92 Massachusetts Institute of Technology
 
@@ -948,6 +948,11 @@ DEFUN (comutil_link,
 {
   long offset;
 
+#ifdef AUTOCLOBBER_BUG
+  block_address[OBJECT_DATUM(*block_address)] =
+    Registers[REGBLOCK_ENV];
+#endif
+
   offset = (constant_address - block_address);
 
   RETURN_UNLESS_EXCEPTION
@@ -2266,6 +2271,11 @@ DEFUN (store_uuo_link,
  */
 
 #define TRAMPOLINE_SIZE        (TRAMPOLINE_ENTRY_SIZE + 2)
+#ifdef AUTOCLOBBER_BUG
+#  define TC_TRAMPOLINE_HEADER TC_FIXNUM
+#else
+#  define TC_TRAMPOLINE_HEADER TC_MANIFEST_VECTOR
+#endif
 
 static long
 DEFUN (make_trampoline,
@@ -2288,7 +2298,7 @@ DEFUN (make_trampoline,
   local_free = Free;
   Free += (TRAMPOLINE_SIZE + size);
   block = local_free;
-  local_free[0] = (MAKE_OBJECT (TC_MANIFEST_VECTOR,
+  local_free[0] = (MAKE_OBJECT (TC_TRAMPOLINE_HEADER,
                                ((TRAMPOLINE_SIZE - 1) + size)));
   local_free[1] = (MAKE_OBJECT (TC_MANIFEST_NM_VECTOR,
                                TRAMPOLINE_ENTRY_SIZE));
index baea32f9f131c9ec2983a40770dcfee30b94b00a..305cd6172bfe504704ed80136a97cfa2633e0035 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/cmpint.c,v 1.47 1992/07/29 19:54:49 cph Exp $
+$Id: cmpint.c,v 1.48 1992/08/29 12:45:42 jinx Exp $
 
 Copyright (c) 1989-92 Massachusetts Institute of Technology
 
@@ -948,6 +948,11 @@ DEFUN (comutil_link,
 {
   long offset;
 
+#ifdef AUTOCLOBBER_BUG
+  block_address[OBJECT_DATUM(*block_address)] =
+    Registers[REGBLOCK_ENV];
+#endif
+
   offset = (constant_address - block_address);
 
   RETURN_UNLESS_EXCEPTION
@@ -2266,6 +2271,11 @@ DEFUN (store_uuo_link,
  */
 
 #define TRAMPOLINE_SIZE        (TRAMPOLINE_ENTRY_SIZE + 2)
+#ifdef AUTOCLOBBER_BUG
+#  define TC_TRAMPOLINE_HEADER TC_FIXNUM
+#else
+#  define TC_TRAMPOLINE_HEADER TC_MANIFEST_VECTOR
+#endif
 
 static long
 DEFUN (make_trampoline,
@@ -2288,7 +2298,7 @@ DEFUN (make_trampoline,
   local_free = Free;
   Free += (TRAMPOLINE_SIZE + size);
   block = local_free;
-  local_free[0] = (MAKE_OBJECT (TC_MANIFEST_VECTOR,
+  local_free[0] = (MAKE_OBJECT (TC_TRAMPOLINE_HEADER,
                                ((TRAMPOLINE_SIZE - 1) + size)));
   local_free[1] = (MAKE_OBJECT (TC_MANIFEST_NM_VECTOR,
                                TRAMPOLINE_ENTRY_SIZE));