Changeset 10


Ignore:
Timestamp:
Oct 21, 2003, 11:59:58 PM (17 years ago)
Author:
gb
Message:

Serialize EGC state changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-1/l1-aprims.lisp

    r6 r10  
    872872#+ppc-target
    873873(defppclapfunction gc ()
     874  (check-nargs 0)
    874875  (li imm0 0)
    875876  (twlgei allocptr 0)
     
    877878  (blr))
    878879
    879 #+sparc-target
    880 (defsparclapfunction gc ()
    881   (uuo_xalloc %rzero %rzero %rzero)
    882   (retl)
    883     (mov %rnil %arg_z))
     880#+ppc-target
     881(defppclapfunction egc ((arg arg_z))
     882  (check-nargs 1)
     883  (subi imm1 arg nil)
     884  (li imm0 32)
     885  (twlgei allocptr 0)
     886  (blr))
     887
     888(defppclapfunction %configure-egc ((e0size arg_x)
     889                                   (e1size arg_y)
     890                                   (e2size arg_z))
     891  (check-nargs 3)
     892  (li imm0 64)
     893  (twlgei allocptr 0)
     894  (blr))
     895 
    884896
    885897#+ppc-target
     
    936948  (logbitp $gc-retain-pages-bit *gc-event-status-bits*)) 
    937949
    938 (defun egc (arg)
    939   (not (eql 0 (the fixnum (ff-call
    940                            (%kernel-import arch::kernel-import-egc-control)
    941                            :unsigned-halfword (if arg 1 0)
    942                            :unsigned-halfword)))))
     950
    943951
    944952(defun egc-active-p ()
     
    965973          e1size (logand (lognot #xffff) (+ #xffff (ash (require-type e1size '(unsigned-byte 18)) 10)))
    966974          e0size (logand (lognot #xffff) (+ #xffff (ash (require-type e0size '(integer 1 #.(ash 1 18))) 10))))
    967     (let* ((g0 (%active-dynamic-area))
    968            (g1 (%fixnum-ref g0 arch::area.older))
    969            (g2 (%fixnum-ref g1 arch::area.older)))
    970       (%fixnum-set g0 arch::area.threshold (ash e0size (- arch::fixnumshift)))
    971       (%fixnum-set g1 arch::area.threshold (ash e1size (- arch::fixnumshift)))
    972       (%fixnum-set g2 arch::area.threshold (ash e2size (- arch::fixnumshift)))
    973       t)))
     975    (%configure-egc e0size e1size e2size)))
    974976
    975977
Note: See TracChangeset for help on using the changeset viewer.