Changeset 6443 for branches/x8664-call


Ignore:
Timestamp:
May 8, 2007, 9:47:14 AM (13 years ago)
Author:
gb
Message:

Don't cons when clearing spinlock.
Commented out alternate definitions of %LOCK-GC-LOCK, %UNLOCK-GC-LOCK.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/x8664-call/ccl/level-0/l0-misc.lisp

    r6182 r6443  
    498498         (setf (%get-ptr lock target::lockptr.owner) p
    499499               (%get-natural lock target::lockptr.count) 1)
    500          (setf (%get-ptr spin) (%null-ptr))
     500         (setf (%get-natural spin 0) 0)
    501501         (if flag
    502502           (setf (lock-acquisition.status flag) t))
    503503         (return t))
    504        (setf (%get-ptr spin) (%null-ptr)))
     504       (setf (%get-natural spin 0) 0))
    505505      (%process-wait-on-semaphore-ptr signal 1 0 "waiting for lock"))))
     506
     507
     508;;; Locking the exception lock to inhibit GC (from other threads)
     509;;; is probably a bad idea, though it does simplify some issues.
     510;;; (One bad consequence is that it means that only one hash table
     511;;; can be accessed at a time.)
     512#+bad-idea
     513(defun %lock-gc-lock ()
     514  (with-macptrs ((lock))
     515    (%get-kernel-global-ptr exception-lock lock)
     516    (%lock-recursive-lock lock)))
     517
     518#+bad-idea
     519(defun %unlock-gc-lock ()
     520  (with-macptrs ((lock))
     521    (%get-kernel-global-ptr exception-lock lock)
     522    (%unlock-recursive-lock lock)))
    506523
    507524(defun %try-recursive-lock (lock &optional flag)
Note: See TracChangeset for help on using the changeset viewer.