projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.13.1: Various cleanups and touchups in tests/
[sbcl.git]
/
src
/
runtime
/
gencgc.c
diff --git
a/src/runtime/gencgc.c
b/src/runtime/gencgc.c
index
250ccee
..
a43d374
100644
(file)
--- a/
src/runtime/gencgc.c
+++ b/
src/runtime/gencgc.c
@@
-1097,7
+1097,7
@@
gc_heap_exhausted_error_or_lose (long available, long requested)
else {
/* FIXME: assert free_pages_lock held */
(void)thread_mutex_unlock(&free_pages_lock);
else {
/* FIXME: assert free_pages_lock held */
(void)thread_mutex_unlock(&free_pages_lock);
- funcall2(SymbolFunction(HEAP_EXHAUSTED_ERROR),
+ funcall2(StaticSymbolFunction(HEAP_EXHAUSTED_ERROR),
alloc_number(available), alloc_number(requested));
lose("HEAP-EXHAUSTED-ERROR fell through");
}
alloc_number(available), alloc_number(requested));
lose("HEAP-EXHAUSTED-ERROR fell through");
}
@@
-1817,7
+1817,9
@@
gencgc_apply_code_fixups(struct code *old_code, struct code *new_code)
old_value - displacement;
}
} else {
old_value - displacement;
}
} else {
- fprintf(stderr, "widetag of fixup vector is %d\n", widetag_of(fixups_vector->header));
+ /* This used to just print a note to stderr, but a bogus fixup seems to
+ * indicate real heap corruption, so a hard hailure is in order. */
+ lose("fixup vector %p has a bad widetag: %d\n", fixups_vector, widetag_of(fixups_vector->header));
}
/* Check for possible errors. */
}
/* Check for possible errors. */