Changeset 13980 for trunk/source/level-1


Ignore:
Timestamp:
Jul 18, 2010, 8:53:50 PM (9 years ago)
Author:
gb
Message:

Make the hash table used by INTERN-EQL-SPECIALIZER weak on value.
Don't call RECORD-SOURCE-FILE in ENSURE-METHOD; do call it from the
expansion of DEFMETHOD. (Could do so more concisely, but that involves
a little bit of bootstrapping.)
Fixes ticket:704.

Location:
trunk/source/level-1
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/l1-clos-boot.lisp

    r13647 r13980  
    745745        (when (and doc-p *save-doc-strings*)
    746746          (set-documentation method t documentation))
    747         (record-source-file method 'method)
    748747        (when old-method (%move-method-encapsulations-maybe old-method method))
    749748        method))))
    750        
     749
    751750
    752751(defun %anonymous-method (function specializers qualifiers  lambda-list &optional documentation
  • trunk/source/level-1/l1-dcode.lisp

    r13067 r13980  
    711711
    712712(let* ((eql-specializers-lock (make-lock))
    713        (eql-specializers-hash (make-hash-table :test #'eql)))
     713       (eql-specializers-hash (make-hash-table :test #'eql  :weak :value)))
    714714  (defun intern-eql-specializer (object)
    715715    (with-lock-grabbed (eql-specializers-lock)
Note: See TracChangeset for help on using the changeset viewer.