ATOMIC_CAS with 3 sregs.
authorMark Probst <mark.probst@gmail.com>
Tue, 24 Mar 2009 20:33:21 +0000 (20:33 -0000)
committerMark Probst <mark.probst@gmail.com>
Tue, 24 Mar 2009 20:33:21 +0000 (20:33 -0000)
commitd4e5947ea88f7b78bcba036f4e785dea5e43266f
tree2c94516438b9ff850bb222b927727a237a5528d8
parentbc3762a407ec4a76e401add6ab148074a1f80ff5
ATOMIC_CAS with 3 sregs.

2009-03-24  Mark Probst  <mark.probst@gmail.com>

        * mini-ops.h: New ternary ATOMIC_CAS ops replace the old
        ATOMIC_CAS_IMM ops.

        * method-to-ir.c: Handle more cases for
        Interlocked.CompareExchange.

        * cpu-x86.md, mini-x86.c, mini-x86.h, cpu-amd64.md,
        * mini-amd64.c,
        mini-amd64.h, cpu-ppc.md, cpu-ppc64.md, mini-ppc.c, mini-ppc.h:
        ATOMIC_CAS implementations for x86, AMD64, PPC and PPC64.

2009-03-24  Mark Probst  <mark.probst@gmail.com>

        * interlocked-3.cs: New CompareExchange test.

        * Makefile.am: Test added.

svn path=/trunk/mono/; revision=130153
15 files changed:
mono/mini/ChangeLog
mono/mini/cpu-amd64.md
mono/mini/cpu-ppc.md
mono/mini/cpu-ppc64.md
mono/mini/cpu-x86.md
mono/mini/method-to-ir.c
mono/mini/mini-amd64.c
mono/mini/mini-amd64.h
mono/mini/mini-ops.h
mono/mini/mini-ppc.c
mono/mini/mini-ppc.h
mono/mini/mini-x86.c
mono/mini/mini-x86.h
mono/tests/ChangeLog
mono/tests/Makefile.am