Skip to content
Snippets Groups Projects
  1. Dec 03, 2003
  2. Dec 02, 2003
  3. Nov 06, 2003
  4. Nov 05, 2003
  5. Oct 27, 2003
  6. Oct 24, 2003
    • toy's avatar
      Add support for catching heap overflows, similar to the control stack · 3e309c44
      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
      3e309c44
  7. Oct 20, 2003
  8. Oct 18, 2003
  9. Oct 16, 2003
  10. Oct 13, 2003
  11. Oct 09, 2003
  12. Oct 08, 2003
    • toy's avatar
      Fix the bug where undefined functions would cause bus errors on Sparc · 20c04637
      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.
      20c04637
  13. Sep 26, 2003
  14. Sep 22, 2003
  15. Sep 10, 2003
  16. Sep 09, 2003
  17. Sep 05, 2003
    • toy's avatar
      o Fill branch delay slots · 90492109
      toy authored
      o Use swap instruction
      o Turn off instruction scheduling only around the or/trap sequence,
        where it's really important.
      90492109
    • toy's avatar
      compiler/float-tran.lisp: · c640d0f2
      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.
      c640d0f2
  18. Sep 03, 2003
  19. Aug 27, 2003
  20. Aug 26, 2003
  21. Aug 22, 2003
  22. Aug 06, 2003
  23. Aug 05, 2003
Loading