- Jul 07, 2007
- Jul 06, 2007
-
-
cshapiro authored
-
- Jun 27, 2007
-
-
cshapiro authored
pre-processor macros. Also, use the more compatible .globl rather than .global and enliminate the unused eight byte alignment macro.
-
- Jun 25, 2007
- Jun 12, 2007
- Jun 10, 2007
- May 30, 2007
-
-
rtoy authored
issue and also works around the heap corruption. These are enabled if DEBUG_BAD_HEAP is #defined. gencgc.c: o Make print_ptr and verify_gc non-static so they can be used elsewhere. lisp.c: o Call verify_gc at startup (if enabled) so we can see the heap corruption. save.c: o Add debugging prints and stuff to see what's going on, if enabled. o The workaround is to skip over the call to update_dynamic_space_free_pointer in save(). See the comments there for more info.
-
- May 02, 2007
-
-
rtoy authored
undefined_tramp addresses, just in case, for sparc and ppc. o Don't make verify_space a static function.
-
rtoy authored
<. Print out an error message if the loop is exited with clean != static_free. This prevents infinite loops that were sometimes seen on x86. However, the infinite loops appear to be caused by some kind of heap corruption. This change just makes the corruption more apparent.
-
- May 01, 2007
-
-
rtoy authored
start have changed in compiler/x86/parms.lisp.
-
- Mar 28, 2007
-
-
fgilham authored
-
- Jan 01, 2007
-
-
cshapiro authored
-
- Nov 30, 2006
-
-
rtoy authored
-
- Nov 08, 2006
-
-
rtoy authored
These are in global registers and might be trashed. This makes heap overflow checking work better on solaris. There are still bugs.
-
- Nov 07, 2006
- Nov 06, 2006
-
-
cshapiro authored
exist. This situation is normal.
-
- Nov 03, 2006
-
-
rtoy authored
assembly/ppc/support.lisp: compiler/ppc/call.lisp: o Remove old code using BA and BLA instructions. lisp/Config.ppc_darwin: o Don't run adjustlisp target o Don't compile darwin-lispadjuster.
-
- Nov 02, 2006
-
-
rtoy authored
having to be in low memory. This is done be replacing the absolute branch instructions with equivalents that can branch anywhere. This adds a few extra instructions everywhere. Oh well. We also move the READ-ONLY space to a different location so we don't need the linker hacks and the darwinadjuster hacks. A basic cross-compile is necessary. Use boot-2006-11-1-cross-ppc.lisp for this. assembly/ppc/assem-rtns.lisp: compiler/ppc/call.lisp: o Replace BA instruction with BCTR. assembly/ppc/support.lisp: o Replace BLA instruction with BCTRL. o Replace BA instruction with BCTR. compiler/ppc/parms.lisp: lisp/ppc-validate.h: o Move the read-only space to #x04000000 instead of #x01000000. (This address appears to be free.) lisp/Config.ppc_darwin: o Comment out the linker flags for the CMUCLRO space. o Don't run the darwin-lispadjuster program. (We still build darwin-lispadjuster for now, but that should be removed eventually.)
-
- Oct 27, 2006
-
-
rtoy authored
Without this, hash tables were majorly broken because the hash vector was getting set to EQ_BASED_HASH_VALUE.
-
- Aug 18, 2006
-
-
rtoy authored
entry. Fix that.
-
rtoy authored
-
rtoy authored
o Replace the magic value #x80000000 with +eq-based-hash-value+. lisp/gencgc.c: o Replace the magic value 0x80000000 with EQ_BASED_HASH_VALUE. o When freeing the hash entry, we forgot to reset the hash-vector entry to EQ_BASED_HASH_VALUE.
-
rtoy authored
tables. Use boot-2006-08-1-cross to cross-compile. During worldload, you'll get a restart. Choose the CLOBBER-IT restart. bootfiles/19c/boot-2006-08-1-cross.lisp: o Cross-compile script to mark that a cross-compile is needed. Nothing fancy, just load up the example scripts. code/hash-new.lisp: o Update the allowed values for the weak-p slot of a hash table. o Change hash table printer to print out the test and weak style. o Update MAKE-HASH-TABLE to allow other values for :weak-p keyword arg and set the weak-p slot appropriately. o Produce an error if a weak key, key-and-value, or key-or-value table is created but the test is not EQ or EQL. compiler/ppc/parms.lisp: compiler/sparc/parms.lisp: o Add :KEY, :VALUE, :KEY-AND-VALUE, and :KEY-OR-VALUE symbols to the static symbols because C code needs them. lisp/gencgc.c: o Add necessary support to handle the new hash types.
-
- Aug 16, 2006
-
-
rtoy authored
o Add a new slot to the hash-table structure for GC to use for linking weak tables together. (Previously we used the weak-p slot for this. Let's make it explicit, now. Plus, this allows us to use weak-p to indicate other types of weak tables, should they be implemented.) lisp/gencgc.c: o Update defstruct appropriately. o Use the new next-weak-table slot to chain the weak tables together. o Previously we scanned the weak tables in several places in the code. However, this scanning also removed entries. I don't think we want that because later scans could make a key valid. Thus: - Change scav_hash_entries so that it doesn't remove a hash-table entry unless told to. - Add new function to scavenge weak tables without removing a weak entry. - Adjust scan_weak_tables to remove weak entries. NOTE: When building, you'll be asked twice about the hash-table structure changing size. Just select the CLOBBER-IT restart in both cases.
-
- Aug 12, 2006
-
-
rtoy authored
the table could change the reachability of some weak pointer values. (Mentioned by Gabor Melis in #lisp).
-
- Aug 11, 2006
- Aug 04, 2006
-
-
rtoy authored
(key) hash tables. Then use it in several places where we need to scan the weak objects before closing the region. This fixes all of the problems with weak pointers and weak hash tables reported by Lynn Quam, cmucl-imp, 2006/07/04. Not 100% sure the solution is all correct, but it seems to be working.
-
- Jul 21, 2006
-
-
rtoy authored
don't maphash and with-hash-table-iterator won't know the slot is empty. Plus the key and/or value may contain random garbage.
-
- Jul 20, 2006
-
-
rtoy authored
lisp/gencgc.c: o Make last_free_page non-static so Lisp can see it. o Add get_page_table_info so Lisp can easily get at the flags and bytes_used slots of a page table entry. code/room.lisp: o Add gencgc-page-size constant. o Fix SPACE-BOUNDS for sparc and ppc with gencgc. The dynamic-space-free-pointer is something different, and we really wanted the last_free_page. o Update MAP-ALLOCATED-OBJECTS to handle gencgc (from sbcl). Unallocated pages are skipped, as well as anything at the end of a page that is not in use.
-
- Jul 19, 2006
-
-
rtoy authored
Someone running FreeBSD and NetBSD should verify this is correct.
-