0.9.7.24:
authorThiemo Seufer <ths@networkno.de>
Sat, 10 Dec 2005 22:27:59 +0000 (22:27 +0000)
committerThiemo Seufer <ths@networkno.de>
Sat, 10 Dec 2005 22:27:59 +0000 (22:27 +0000)
Don't flush icaches for each moved code vector when using
cheneygc, it is more efficient to do that once for the whole
dynamic space.

src/runtime/gc-common.c
version.lisp-expr

index abd1eae..cdbefd4 100644 (file)
@@ -314,9 +314,12 @@ trans_code(struct code *code)
         fheaderl = fheaderp->next;
         prev_pointer = &nfheaderp->next;
     }
+#ifdef LISP_FEATURE_GENCGC
+    /* Cheneygc doesn't need this os_flush_icache, it flushes the whole
+       spaces once when all copying is done. */
     os_flush_icache((os_vm_address_t) (((long *)new_code) + nheader_words),
                     ncode_words * sizeof(long));
-#ifdef LISP_FEATURE_GENCGC
+
     gencgc_apply_code_fixups(code, new_code);
 #endif
     return new_code;
index a246e19..4ea1704 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.7.23"
+"0.9.7.24"