Skip to content
Snippets Groups Projects
  1. Nov 07, 2006
  2. Nov 06, 2006
  3. Nov 03, 2006
    • rtoy's avatar
      assembly/ppc/assem-rtns.lisp: · 34434dfc
      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.
      34434dfc
  4. Nov 02, 2006
    • rtoy's avatar
      This set of changes removes the constraint of the READ-ONLY space · 5568e737
      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.)
      5568e737
  5. Oct 30, 2006
  6. Oct 29, 2006
  7. Oct 27, 2006
    • rtoy's avatar
      Oops. Change = to ==. · dada2e08
      rtoy authored
      Without this, hash tables were majorly broken because the hash vector
      was getting set to EQ_BASED_HASH_VALUE.
      dada2e08
  8. Oct 02, 2006
  9. Aug 21, 2006
    • rtoy's avatar
      Some very basic support for signed zeroes for DOUBLE-DOUBLE-FLOAT. We · e14ba2a5
      rtoy authored
      can now read and print -0w0.
      
      code/float.lisp:
      o Adjust float-sign so that we get the correct sign when
        double-double-floats are used.
      o Adjust FLOAT-RATIO to call %MAKE-DOUBLE-DOUBLE-FLOAT so that we
        preserve the sign of the number.  This is safe because the
        components are known to be properly scaled.
      
      compiler/float-tran.lisp:
      o Use %MAKE-DOUBLE-DOUBLE-FLOAT in %DOUBLE-DOUBLE-FLOAT to preserve
        the sign of the original float.  This is safe because the
        components are known to be properly scaled.
      o Add a FLOAT-SIGN deftransform to handle DOUBLE-DOUBLE-FLOAT.
      e14ba2a5
    • rtoy's avatar
      Print out what kind of weak hash table we have. · ff65e1c0
      rtoy authored
      ff65e1c0
    • rtoy's avatar
      o Update from logs · 333a87d3
      rtoy authored
      o Add new entry for Trac tickets, and move some entries to this
        section.
      333a87d3
    • rtoy's avatar
      Add BASE-CHAR and CHARACTER to · 8bfbe53c
      rtoy authored
      *READ-INTO-SIMPLE-ARRAY-RECOGNIZED-TYPES* so that READ-VECTOR can read
      binary data from streams of those types.  Fixes Trace ticket 7.
      8bfbe53c
  10. Aug 18, 2006
    • rtoy's avatar
      Aargh! Was filling the wrong entry in the hash_vector when freeing an · e902cf30
      rtoy authored
      entry.  Fix that.
      e902cf30
    • rtoy's avatar
      Oops. Forgot to define hash_vector. · e417b587
      rtoy authored
      e417b587
    • rtoy's avatar
      code/hash-new.lisp: · eff841d2
      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.
      eff841d2
    • rtoy's avatar
    • rtoy's avatar
      Add support for weak value, key-and-value, and key-or-value hash · e206ca4a
      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.
      e206ca4a
  11. Aug 17, 2006
  12. Aug 16, 2006
    • rtoy's avatar
      code/hash-new.lisp: · 12d78e25
      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.
      12d78e25
  13. Aug 14, 2006
  14. Aug 12, 2006
  15. Aug 11, 2006
  16. Aug 10, 2006
  17. Aug 07, 2006
  18. Aug 04, 2006
    • rtoy's avatar
      Add a new function scan_weak_objects() to can weak pointers and weak · c3b3da1f
      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.
      c3b3da1f
  19. Jul 21, 2006
  20. Jul 20, 2006
    • rtoy's avatar
      Include whether a hash-table is weak or not when describing a · 6d768c15
      rtoy authored
      hash-table.
      6d768c15
    • rtoy's avatar
      Port sbcl's changes to room to handle gencgc allocation better. · 05747b21
      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.
      05747b21
  21. Jul 19, 2006
Loading