Ignore:
Timestamp:
Jul 23, 2007, 5:25:19 AM (12 years ago)
Author:
gb
Message:

Add more stuff.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/release-notes.txt

    r6958 r6961  
    5252  may be incomplete, but it's often much better than nothing.
    5353
     54- Hashing (where some objects are hashed by address) and OpenMCL's
     55  GC (which often changes the addresses of lisp objects, possibly
     56  invalidating hash tables in which those objects are used as keys)
     57  have never interacted well; to minimize the negative effects of
     58  this interaction, most primitive functions which access hash
     59  tables has disabled the GC while performing that access, secure
     60  in the knowledge that hash table keys won't be moving around
     61  (because of GC activity in other threads) while the hash table
     62  lookup is being performed.
     63
     64  Disabling and reenabling the GC can be somewhat expensive, both
     65  directly (in terms of the primitive operations used to do so)
     66  and indirectly (in terms of the cost of - temporarily - not being
     67  able to GC when otherwise desirable.)  If the GC runs (and possibly
     68  moves a hash-table key) very rarely relative to the frequency of
     69  hash-table access - and that's probably true, much of the time -
     70  then it seems like it'd be desirable to avoid the overhead of
     71  disabling/reenabling the GC on every hash table access, and it'd
     72  be correct to do this as long as we're careful about it.
     73
     74  I was going to try to change all hash-table primitives to try
     75  to make them avoid inhibiting/enabling the GC for as long as
     76  possible, but wimped out and only did that for GETHASH.  (If
     77  another thread could GC while we're accessing a hash table, there
     78  can still be weird intercations between things like the GC's
     79  handling of weak objects and code which looks at the hash table,
     80  and that weirdness seemed easier to deal with in the GETHASH case
     81  than in some others.)
     82
     83  If GETHASH's performance has improved without loss of correctness,
     84  then it'd likely be worth trying to make similar changes to
     85  REMHASH and CCL::PUTHASH (which implements (SETF (GETHASH ...) ...).
     86  If problems are observed or performance still hasn't improved, it'd
     87  probably be worth re-thinking some of this.
     88
    5489- Leading tilde (~) characters in physical pathname namestrings
    5590  are expanded in the way that most shells do:
     
    145180  last few years will see reason to be encouraged (and that anyone
    146181  interested will submit bug reports, patches, feature requests, code ...)
     182
     183- There are now "objc-bridge" and "cocoa-ide" subdirectories; by default,
     184  REQUIRE will look in these directories for files whose name matches
     185  a module name.  Several files were moved from the "examples" directory
     186  to "objc-bridge"; other example files, the "OpenMCL.app" skeleton
     187  bundle, and the "hemlock" directory were moved to "cocoa-ide".
    147188
    148189
Note: See TracChangeset for help on using the changeset viewer.