- Dec 03, 2003
-
-
toy authored
because we might be stack-allocating something.
-
- Dec 02, 2003
-
-
toy authored
DYNAMIC-SPACE-OVERFLOW-ERROR if the :heap-overflow-check is not defined. (This was breaking sparc/non-gencgc builds.)
-
- Nov 06, 2003
- Nov 05, 2003
-
-
toy authored
imaginary part wasn't getting returned, and the real part was actually the imaginary part.
-
- Oct 27, 2003
- Oct 24, 2003
-
-
toy authored
overflow checking. Enable with :heap-overflow-check. We reserve some number of pages on the heap. When the heap reaches the reserved pages, an overflow warning is signalled. The reserved pages are set 0. This allows some additional allocation to happen during debugging, if necessary. If another overflow happens, we throw to top-level. Sparc only right now. * lisp/sparc-assem.S (_do_dynamic_space_overflow_error): New function to handle a heap overflow error. (_do_dynamic_space_overflow_warning): New function to handle heap overflow warning. * lisp/sparc-arch.c (sigill_handler): Handle the two new traps caused by heap overflows. * lisp/interrupt.c (interrupt_handle_space_overflow): New function to handle interrupt caused by heap space overflows. * lisp/gencgc.c (handle_heap_overflow): New function to handle heap overflows. (gc_alloc_new_region): Use handle_heap_overflow. (gc_alloc_large): Use handle_heap_overflow * compiler/sparc/parms.lisp (static-symbols): Add new static symbols for heap overflow checking: dynamic-space-overflow-error-hit and dynamic-space-overflow-warning-hit. * compiler/generic/new-genesis.lisp (finish-symbols): Initialize the new dynamic-space-overflow-error-hit and dynamic-space-overflow-warning-hit static symbols. * code/lispinit.lisp (:heap-overflow-check): Add heap-overflow-check to *runtime-features*, if necessary. ("reserved_heap_pages"): Access to alien variable for heap overflow. (*reserved-heap-pages*): Default number of heap pages to reserve for heap overflow. (%top-level): Set reserved-heap-pages to the default. * code/interr.lisp (dynamic-space-overflow-warning-hit): Add function to handle heap overflow warnings. (dynamic-space-overflow-error-hit): Add function to handle heap overflow error. * code/error.lisp (heap-overflow): Add new condition type for heap overflow
-
- Oct 20, 2003
- Oct 18, 2003
-
-
toy authored
pseudo-atomic flag o Add a trap-arg-printer so we can print a note about what the trap number means.
-
- Oct 16, 2003
-
-
toy authored
or/andn, so we don't inadvertently reset pseudo-atomic by adding the flag, thinking we're setting it. (Granted, this probably means we were already doing something wrong, but this will make it a bit more robust.)
-
- Oct 13, 2003
- Oct 09, 2003
- Oct 08, 2003
-
-
toy authored
with :linkage-tables: (defun foo () (bar)) * compiler/sparc/alloc.lisp ((make-fdefn)): VOP wasn't properly handling the fixup for undefined_tramp when using linkage-tables. Need to load up the address from the linkage-table. * compiler/generic/new-genesis.lisp (init-foreign-linkage): Need to register undefined_tramp so it exists early. Also did closure_tramp too, just in case.
-
- Sep 26, 2003
-
-
toy authored
some hardwired random number.
-
- Sep 22, 2003
- Sep 10, 2003
-
-
toy authored
o Add symbolic names for the predefined PREFETCH function values. o Add SIGNX (sign extend) and CLRUW (zero-extent, clear upper word) synthetic instructions.
-
- Sep 09, 2003
-
-
toy authored
V9. (Still needs work to get ASI stuff done nicely.)
-
- Sep 05, 2003
-
-
toy authored
o Use swap instruction o Turn off instruction scheduling only around the or/trap sequence, where it's really important.
-
toy authored
o Oops. We should subtract from 0, not 0d0 o Add the deftransform for - to the complex-fp-vops part too, because the vop gets that wrong. compiler/sparc/float.lisp: o Remove the vop for a real - complex because we get the sign of the imaginary part wrong.
-
- Sep 03, 2003
-
-
toy authored
-
- Aug 27, 2003
- Aug 26, 2003
-
-
toy authored
functional.
-
- Aug 22, 2003
- Aug 06, 2003
-
-
toy authored
x86.
-
gerd authored
user-settable variable and an interface function that can be used across backends. * src/compiler/globaldb.lisp (*trust-dynamic-extent-declarations*): New variable. (trust-dynamic-extent-declaration-p): New function. * src/compiler/x86/macros.lisp (allocation): Use it. * src/compiler/sparc/macros.lisp (allocation): Use it. * src/code/exports.lisp ("EXTENSIONS"): Export *trust-dynamic-extent-declarations*. * src/code/exports.lisp ("C"): Export trust-dynamic-extent-declaration-p.
-
toy authored
macro to support stack allocation.
-
- Aug 05, 2003