Changeset 7886


Ignore:
Timestamp:
Dec 12, 2007, 10:04:27 AM (13 years ago)
Author:
gb
Message:

Spin a little faster (when we use spinlocks at all)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/level-0/X86/x86-misc.lisp

    r7624 r7886  
    737737  (macptr-ptr arg_z imm1)
    738738  (movq (@ '*spin-lock-tries* (% fn)) (% temp0))
     739  (movq (@ '*spin-lock-timeouts* (% fn)) (% temp1))
    739740  (movq (@ target::symbol.vcell (% temp0)) (% temp0))
    740741  (movq (@ (% :rcontext) x8664::tcr.linear) (% arg_y))
     
    744745  (cmpxchgq (% arg_y) (@ (% imm1)))
    745746  (je @done)
     747  @spin
    746748  (pause)
     749  (cmpq ($ 0) (@ (% imm1)))
     750  (je @try-swap)
    747751  (subq ($ '1) (% temp0))
    748   (jne @try-swap)
     752  (jne @spin)
     753  @wait
     754  (addq ($ x8664::fixnumone) (@ x8664::symbol.vcell (% temp1)))
    749755  (pushq (% arg_z))
    750756  (call-symbol yield 0)
Note: See TracChangeset for help on using the changeset viewer.