Changeset 6180


Ignore:
Timestamp:
Apr 8, 2007, 2:58:19 AM (12 years ago)
Author:
gb
Message:

%PTR-STORE-FIXNUM-CONDITIONAL.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-0/X86/x86-misc.lisp

    r5916 r6180  
    526526  (single-value-return))
    527527
     528(defx86lapfunction %ptr-store-fixnum-conditional ((ptr arg_x) (expected-oldval arg_y) (newval arg_z))
     529  (let ((address imm1))
     530    (macptr-ptr ptr address)
     531    @again
     532    (movq (@ (% address)) (% imm0))
     533    (cmpq (% imm0) (% expected-oldval))
     534    (jne @done)
     535    (lock)
     536    (cmpxchgq (% newval) (@ (% address)))
     537    (jne @again)
     538    @done
     539    (movq (% imm0) (% arg_z))
     540    (single-value-return)))
     541
    528542
    529543(defx86lapfunction %macptr->dead-macptr ((macptr arg_z))
Note: See TracChangeset for help on using the changeset viewer.