[Click] seeking ARM assembler programmer

Eddie Kohler kohler at cs.ucla.edu
Thu May 20 03:22:18 EDT 2004


Hey all,

Any ARM assembler programmers out there who could implement fast versions of the 
  "read_and_add" and "compare_and_swap" operations atomically?

Their definitions:

uint32_t read_and_add(uint32_t &value, uint32_t delta) {
    begin_atomic_section();
    uint32_t old_value = value;
    value += delta;
    end_atomic_section();
    return old_value;
}

uint32_t compare_and_swap(uint32_t &value, uint32_t test_value, uint32_t 
new_value) {
    begin_atomic_section();
    uint32_t old_value = value;
    if (old_value == test_value)
       value = new_value;
    end_atomic_section();
    return old_value;
}

Thanks,
Eddie



More information about the click mailing list