- Apr 24, 2013
-
-
Raymond Toy authored
* Disable gencgc_debug_madvise.
-
- Apr 21, 2013
-
-
Raymond Toy authored
* Add MODE_LAZY * Rename PAGE_MADVISE flag to PAGE_MADVISE_MASK * Remove some #ifdef'ed out code. * Change default gencgc_unmap_zero to MODE_MEMSET for all OS/archs.
-
Raymond Toy authored
madvise, though. I get an error about no transport function for some object.
-
- Apr 20, 2013
-
-
Raymond Toy authored
* Actually enable call to madvise instead of doing memset.
-
Raymond Toy authored
out freed pages.
-
- Sep 01, 2012
-
-
Raymond Toy authored
* Get rid of the RCS Header stuff. They're meaningless in git. * Add public domain comment to some of the files if the only comment was the RCS header.
-
- Aug 10, 2012
-
-
Raymond Toy authored
src/lisp/gencgc.c: * Move the macros for fpu buffers from gencgc.c to here. src/lisp/x86-arch.c: * Use the new save_fpu_state instead of fpu_save. And apply to all OSes.
-
- Jul 18, 2012
-
-
Raymond Toy authored
src/lisp/gencgc.c: o Save and restore the FPU state in alloc(). src/compiler/x86/alloc.lisp src/compiler/x86/array.lisp src/compiler/x86/call.lisp src/compiler/x86/float-sse2.lisp src/compiler/x86/float.lisp src/compiler/x86/move.lisp src/compiler/x86/sap.lisp: o Don't need to use :save-p anymore because the allocation routine saves an live registers anyway. This improves code generation as well. src/general-info/release-20d.txt: o Update.
-
- Jul 05, 2012
-
-
Raymond Toy authored
-
Raymond Toy authored
-
- Jun 15, 2012
-
-
Raymond Toy authored
point operations should occur in allocation or GC now, except when printing stats.
-
- Jan 27, 2012
-
-
Raymond Toy authored
-
Raymond Toy authored
builds, though.
-
- Nov 04, 2011
-
-
Raymond Toy authored
-
- Sep 24, 2011
-
-
Raymond Toy authored
Make the size of all spaces configurable from the command line. code/commandline.lisp: o Define the switches so lisp doesn't complain. general-info/lisp.1: o Document new switches. general-info/release-20c.txt: o Update lisp/Darwin-os.c lisp/FreeBSD-os.c lisp/Linux-os.c lisp/NetBSD-os.c lisp/backtrace.c lisp/cgc.c lisp/gencgc.c lisp/os-common.c lisp/ppc-validate.h lisp/purify.c lisp/solaris-os.c lisp/sparc-arch.c lisp/sparc-validate.h lisp/x86-validate.h: lisp/validate.c o Basically rename CONTROL_STACK_SIZE, BINDING_STACK_SIZE, READ_ONLY_SPACE_SIZE, and STATIC_SPACE_SIZE to control_stack_size, binding_stack_size, read_only_space_size, and static_space_size, respectively. lisp/coreparse.c o Check the space size in the core file against the allocated size. If the allocated space is too small, print an error message and exit. lisp/globals.c o Define new variables for the allocated size of spaces. lisp/globals.h o Declare the new variables for the size of the spaces. lisp/lisp.c o Set the default values of the spaces. o Parse the new command-line flags and set the space sizes. lisp/sunos-os.c: o Added os_init0 (that we forgot last time). lisp/x86-assem.S: o Change $CONTROL_STACK_END to GNAME(control_stack_end) to get the correct end of the stack.
-
- Jan 09, 2011
-
-
rtoy authored
the resulting binary still works on 10.5. lisp/Config.x86_darwin: o Add -m32 flag to build and link a 32-bit binary. lisp/Darwin-os.h: o Include <sys/ucontext.h> instead of <ucontext.h> to get rid of the error about deprecated functions in ucontext.h. lisp/gencgc.h: o Mac OS X defines PAGE_SIZE in a header and that conflicts with our name. Rename our PAGE_SIZE to GC_PAGE_SIZE. lisp/gencgc.c: o Rename PAGE_SIZE to GC_PAGE_SIZE.
-
- Dec 22, 2010
-
-
rtoy authored
Solaris/x86. There should be no functional changes for either other x86 ports or for the sparc port.
-
- Jul 26, 2010
-
-
rtoy authored
break was missing. o Add variablle debug_static_array_p so we can disable debugging messages by default, but allow the user to enable the debugging messages. o Debugging messages for GC'ing static arrays are enabled if debug_static_array_p is true.
-
- Jul 22, 2010
-
-
rtoy authored
Bug fix from Alastair Bridgewater.
-
- Jul 19, 2010
-
-
rtoy authored
closure_tramp and undefined_tramp from the C side to the Lisp side via Lisp assembly routines. (Simplifies things quite a bit for sparc.) Also includes some GC fixes for sparc and ppc to handle moving the pc, npc, lr, and ctr registers. They need to be handled like the lip register. See bootfiles/20a/boot-2010-07-1-cross.lisp for instructions on how to bootstrap this change. A basic cross-compile with a specific cross bootstrap file is needed.
-
- Apr 01, 2010
-
-
rtoy authored
(defun testfn () (let* ((i-gc-ed-u nil) (ext:*gc-notify-before* (lambda (a) (/ a 0.34d0)))) (dotimes (i 100000) (setf i-gc-ed-u nil) (let* ((v1 (list (* 1d0 (random 10)) (* 1d0 (random 10)))) (v2 (list (* 1d0 (random 10)) (* 1d0 (random 10)))) (dot1 (reduce #'+ (mapcar #'* v1 v2))) (dot2 (reduce #'+ (mapcar #'* v1 v2)))) (when (/= dot1 dot2) (print `(gc ,i-gc-ed-u v1 ,v1 v2 ,v2 dot1 ,dot1 dot2 ,dot2))))))) Running this with sse2 would cuase dot1 and dot2 to sometimes be different. We forgot to save the SSE2 state in call_into_lisp. (This bug was mentioned on comp.lang.lisp, http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/828371aa4800272c?hl=en# x86-assem.S: o Save and restore SSE2 state when running with SSE2 core. (This might need more tweaking. Should we use cpuid instead of looking at fpu_mode?) gencgc.c: o Save the SSE2 state, along with X87 state for SSE2 cores.
-
- Dec 21, 2009
-
-
rswindells authored
-
- Dec 18, 2009
-
-
agoncharov authored
-
- Dec 17, 2009
-
-
rtoy authored
o Remove check for object < 0xf0000000 in scavenge.
-
rtoy authored
areas. For sparc, this means anything below the end of the text section (to capture undefined_tramp and closure_tramp and some weird pointer object in the middle of call_into_c). For darwin/x86, we ignore 0xffffffe9. Needs to be checked on other OSes and architectures. o Move the switch statement of allowed static arrays into its own function.
-
- Dec 05, 2009
-
-
rtoy authored
This is done by a simple mark-and-sweep GC of the static vectors. When scavenging the spaces, we mark any static vectors by setting the MSB of the header word. After GC is done, an *after-gc-hooks* function finds all of the static vectors that are not marked and frees them. For marked static vectors, we clear the mark bit. code/array.lisp: o Add *STATIC-VECTORS* to keep track of all static vectors that have been allocated. o Update MAKE-ARRAY - to allow generation of static simple unboxed arrays (1D arrays without an array header). - Push a weak pointer to the static vector onto *STATIC-VECTORS* o Add function FREE-STATIC-VECTOR o Add function FINALIZE-STATIC-VECTORS to free static vectors when they are no longer referenced. lisp/gencgc.c: o Update scavenge to check for static vectors. If we find a static vector, mark the static vector by setting the MSB of the header word.
-
- Nov 02, 2009
-
-
rtoy authored
amd64-dd-branch.
-
rtoy authored
sources. No real attempt has been made to make it work, but the cross-compile does create a kernel.core, and the C code compiles (on openSuSE 10.3). The resulting kernel.core does not yet work. Use cross-x86-amd64.lisp as the cross-compile script. This is intended to be cross-compiled using the 20a release for Linux, and only supports x87. The sse2 support has not be ported yet. tools/cross-scripts/cross-x86-amd64.lisp: o Update cross-compile with some missing constants, and frob new symbols. tools/clean-target.sh: o Remove amd64f files too. code/pred.lisp: o Define predicates for double-doubles for bootstrapping to work around recursive known function problems with these predicates. code/sap.lisp: o Define int-sap with (unsigned-byte 64) type declaration. (May not be needed?) code/unix-glibc2.lisp: o Build fails defining map_failed to (int-sap -1). Just hard-wire to 0 for now so we can build. compiler/float-tran.lisp: o Add missing conditional for %complex-double-double-float. compiler/amd64/float.lisp: o Merge double-double support for amd64. Not really tested yet. compiler/amd64/parms.lisp: o Update to match x86 build. In particular, get the space address correct and update the static symbols. compiler/amd64/type-vops.lisp: o DYLAN-FUNCTION-HEADER-TYPE no longer exists. compiler/amd64/vm.lisp: o Add double-double storage classes and register definitions. lisp/Config.amd64: o Bring in line with Config.x86 and friends. lisp/Linux-os.c: o Bring amd64 code up-to-date with x86/linux code. lisp/Linux-os.h o Need to include sys/ucontext.h to get ucontext defined. (Why?) o Also define __USE_GNU so we get the register offsets in the ucontext defined. (Why?) lisp/amd64-arch.c: o Change struct sigcontext to os_context_t. o Use SC_PC instead of context->sc_pc. o Merge some changes in from x86 version, like SC_EFLAGS. May need more work. lisp/amd64-assem.s: o Use rbx instead of ebx for jmp. lisp/amd64-lispregs.h: o Define SC_REG, SC_PC, SC_SP using the new x86 style. lisp/backtrace.c: o Remove inline assembly for now until I figure out what the amd64 version should be. lisp/gencgc.c: o Conditionalize out weak hash table support for now. lisp/gencgc.h: o Set PAGE_SIZE for amd64. (Is 4096 right?) lisp/globals.h: o Export current_dynamic_space_free_pointer and current_auto_gc_trigger like for x86.
-
- Jul 07, 2009
-
-
rtoy authored
o Fix some typos. o Clean up consecutive allocation heuristic: - Add comments to alloc_stats slots. - Removed regions_differ_count slot - Reset abandon_region_count when saved_region is updated.
-
- Jun 11, 2009
-
-
rtoy authored
unicode-utf16-extfmt-2009-06-11.
-
- Sep 16, 2008
-
-
cshapiro authored
-
- Sep 11, 2008
-
-
rtoy authored
gencgc.c: o Enable page protection Darwin-os.c: o Turn on sigbus_handler for x86/darwin. o Minor tweaks of sigbus_handler for x86/darwin. o Install the sigbus handler.
-
- Apr 11, 2008
-
-
cshapiro authored
warnings when compiling with GCC version 4.
-
- Mar 19, 2008
-
-
cshapiro authored
void keyword to specify empty parameter lists.
-
- Mar 18, 2008
- Mar 16, 2008
-
-
agoncharov authored
the next version.
-
- Mar 15, 2008
-
-
agoncharov authored
* Eliminate `printf' format string and the following arguments conflicts. * A variable may be used uninitialized. * A variable may be defined but not used.
-
- Jul 30, 2007
-
-
rtoy authored
o Initialize some static variables o page_table[].flags may not have been initialized correctly.
-
- Jul 26, 2007
-
-
rtoy authored
chars, because the assembly code declare them as functions. This gets rid of a linker warning about mismatched types. o Fix a badly indented while loop in free_oldspace. Gnu indent indents it nicely now.
-