Changeset 13796


Ignore:
Timestamp:
Jun 10, 2010, 4:09:42 AM (10 years ago)
Author:
gb
Message:

Need %PTR-STORE-FIXNUM-CONDITIONAL, since locking code (used early)
depends on it. (Use futexes on ARM Linux ?)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/level-0/ARM/arm-misc.lisp

    r13789 r13796  
    525525  (bx lr))
    526526
    527 #+notyet                                ; Yet ?  Not.
    528527(defarmlapfunction %ptr-store-fixnum-conditional ((ptr arg_x) (expected-oldval arg_y) (newval arg_z))
    529528  (let ((address imm0)
     
    531530    (macptr-ptr address ptr)
    532531    @again
    533     (lrarx actual-oldval 0 address)
    534     (cmpr actual-oldval expected-oldval)
    535     (bne- @done)
    536     (strcx. newval 0 address)
    537     (bne- @again)
    538     (isync)
     532    (ldrex actual-oldval (:@ address))
     533    (cmp actual-oldval expected-oldval)
     534    (bne @done)
     535    (strex imm0 newval (:@ address))
     536    (cmp imm0 (:$ 0))
     537    (bne @again)
    539538    (mov arg_z actual-oldval)
    540539    (bx lr)
    541540    @done
    542     (li address arm::reservation-discharge)
     541    (clrex)
    543542    (mov arg_z actual-oldval)
    544     (strcx. rzero 0 address)
    545543    (bx lr)))
    546544
Note: See TracChangeset for help on using the changeset viewer.