- 27 Aug, 2020 1 commit
-
-
Raymond Toy authored
In alloc(), save the fpu state on entry to the function and restore it just before returning. While we're at it, use the __attribute__ option to get a 16-byte aligned area where we can save the fpu state. And also set optimization to -O2 for linux.
-
- 22 Sep, 2018 1 commit
-
-
Raymond Toy authored
-
- 04 Oct, 2015 3 commits
-
-
Raymond Toy authored
confusion with the global control_stack_size.
-
Raymond Toy authored
-
Raymond Toy authored
-
- 24 Jun, 2014 1 commit
-
-
Raymond Toy authored
* lisp/gencgc.c * Set number of generations to GC to 3 instead of NUM_GENERATIONS - 1. * Add simple interface to allow user to set the number of generations and return the old value. * code/gc.lisp: * Add Lisp interface to set the number of generations to GC.
-
- 12 Jan, 2014 1 commit
-
-
Raymond Toy authored
It's been several months without any issue after adding the lazy zeroing of heap pages, so it's probably safe to remove the zero checking of the heap pages. It can still be enabled by setting the appropriate variables.
-
- 22 Nov, 2013 1 commit
-
-
Raymond Toy authored
-
- 10 Nov, 2013 1 commit
-
-
Raymond Toy authored
-
- 02 Jul, 2013 1 commit
-
-
Raymond Toy authored
are set but never used.
-
- 04 May, 2013 1 commit
-
-
Raymond Toy authored
-
- 03 May, 2013 2 commits
-
-
Raymond Toy authored
-
Raymond Toy authored
In gc_free_heap, the check that unallocated pages are zero can only be done if gencgc_unmap_zero is MODE_MAP or MODE_MEMSET. The other modes are known not to zero memory. Also, don't limit the check to the first 16K pages, and also check the entire page of GC_PAGE_SIZE bytes, not just the first 1024 words.
-
- 27 Apr, 2013 1 commit
-
-
Raymond Toy authored
* Remove PAGE_MADVISE_MASK * Remove code using PAGE_MADVISE_MASK * Move some #defines from gencgc.c to gencgc.h * Add new or better comments
-
- 26 Apr, 2013 1 commit
-
-
Raymond Toy authored
This should only be temporary so we can get some testing with lazy mode.
-
- 24 Apr, 2013 1 commit
-
-
Raymond Toy authored
* Disable gencgc_debug_madvise.
-
- 21 Apr, 2013 2 commits
-
-
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.
-
- 20 Apr, 2013 2 commits
-
-
Raymond Toy authored
* Actually enable call to madvise instead of doing memset.
-
Raymond Toy authored
out freed pages.
-
- 01 Sep, 2012 1 commit
-
-
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.
-
- 10 Aug, 2012 1 commit
-
-
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.
-
- 18 Jul, 2012 1 commit
-
-
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.
-
- 05 Jul, 2012 2 commits
-
-
Raymond Toy authored
-
Raymond Toy authored
-
- 15 Jun, 2012 1 commit
-
-
Raymond Toy authored
point operations should occur in allocation or GC now, except when printing stats.
-
- 27 Jan, 2012 2 commits
-
-
Raymond Toy authored
-
Raymond Toy authored
builds, though.
-
- 04 Nov, 2011 1 commit
-
-
Raymond Toy authored
-
- 24 Sep, 2011 1 commit
-
-
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.
-
- 09 Jan, 2011 1 commit
-
-
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.
-
- 22 Dec, 2010 1 commit
-
-
rtoy authored
Solaris/x86. There should be no functional changes for either other x86 ports or for the sparc port.
-
- 26 Jul, 2010 1 commit
-
-
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.
-
- 22 Jul, 2010 1 commit
-
-
rtoy authored
Bug fix from Alastair Bridgewater.
-
- 19 Jul, 2010 1 commit
-
-
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.
-
- 01 Apr, 2010 1 commit
-
-
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.
-
- 21 Dec, 2009 1 commit
-
-
rswindells authored
-
- 18 Dec, 2009 1 commit
-
-
agoncharov authored
-
- 17 Dec, 2009 2 commits
-
-
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.
-