projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.8.9:
[sbcl.git]
/
src
/
runtime
/
gc-common.c
diff --git
a/src/runtime/gc-common.c
b/src/runtime/gc-common.c
index
0869cd9
..
cdbefd4
100644
(file)
--- a/
src/runtime/gc-common.c
+++ b/
src/runtime/gc-common.c
@@
-188,7
+188,7
@@
scavenge(lispobj *start, long n_words)
}
}
gc_assert_verbose(object_ptr == end, "Final object pointer %p, end %p\n",
}
}
gc_assert_verbose(object_ptr == end, "Final object pointer %p, end %p\n",
- object_ptr, end);
+ object_ptr, end);
}
static lispobj trans_fun_header(lispobj object); /* forward decls */
}
static lispobj trans_fun_header(lispobj object); /* forward decls */
@@
-314,9
+314,12
@@
trans_code(struct code *code)
fheaderl = fheaderp->next;
prev_pointer = &nfheaderp->next;
}
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));
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;
gencgc_apply_code_fixups(code, new_code);
#endif
return new_code;
@@
-346,7
+349,7
@@
scav_code_header(lispobj *where, lispobj object)
entry_point = function_ptr->next) {
gc_assert_verbose(is_lisp_pointer(entry_point), "Entry point %lx\n",
entry_point = function_ptr->next) {
gc_assert_verbose(is_lisp_pointer(entry_point), "Entry point %lx\n",
- (long)entry_point);
+ (long)entry_point);
function_ptr = (struct simple_fun *) native_pointer(entry_point);
gc_assert(widetag_of(function_ptr->header)==SIMPLE_FUN_HEADER_WIDETAG);
function_ptr = (struct simple_fun *) native_pointer(entry_point);
gc_assert(widetag_of(function_ptr->header)==SIMPLE_FUN_HEADER_WIDETAG);