- 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.
-
rtoy authored
-
rtoy authored
-
rtoy authored
lisp/Config.ppc_darwin o Compile e_rem_pio2.c and k_rem_pio2.c code/irrat.lisp: o Update the arg reduction code to support ppc. We call out to the C sin, cos, and tan functions, after the argument has been accurately reduced.
-
rtoy authored
accurately reduce the arg and therefore compute the value of trig functions accurately. lisp/Config.linux_gencgc: o Compile e_rem_pio2.c and k_rem_pio2.c code/irrat.lisp: o Disable %sin, %cos, %tan functions. o Implement %sin, %cos, and %tan to call the fdlibm routine __ieee754_rem_pio2 to do argument reduction before calling the sin, cos, tan vops. compiler/x86/float.lisp: o Disable the vops for %sin, %cos, and %tan, so the Lisp code in irrat.lisp is used.
-
rtoy authored
-
- Jul 18, 2006
-
-
rtoy authored
-
- Jul 17, 2006
-
-
rtoy authored
interrupt_handle_now directly. (For debugging purposes.)
-
- Jul 14, 2006
-
-
rtoy authored
-
- Jul 12, 2006
-
-
rtoy authored
closure_function_header and the following entries were not correct. Also, rename unused function header 1 and 2 to be "byte code function" and "byte code closure", respectively, since that's what internals.h says. We really need to generate this list during genesis or something instead of having to do this by hand!
-
- Jun 30, 2006
-
-
rtoy authored
The merge is from the tag "double-double-irrat-end". The double-double branch is now obsolete. The code should build without double-double support (tested on sparc) as well as build with double-double support (tested also on sparc).
-
- May 30, 2006
-
-
fgilham authored
executable.
-
- Mar 17, 2006
-
-
rtoy authored
o Add function get_h_errno to extract h_errno. code/internet.lisp: o On Linux, call the get_h_errno function to get h_errno instead of calling __h_errno_location ourselves since that's not part of the public API.
-
- Feb 25, 2006
-
-
rtoy authored
foreign symbol error trap.
-
- Feb 19, 2006
-
-
rtoy authored
need is in the DAR register.
-