[Mono-dev] Patch: Ternary ops in mini and general ATOMIC_CAS

Zoltan Varga vargaz at gmail.com
Mon Feb 23 16:10:53 EST 2009


Hi,

  My problems with this patch, and with adding support for ternary ops
in general:
- it increases the size of MonoInst by 4/8 bytes.
- it slows down every phase of the JIT by changing linear code into loops,
ie. instead of
<process sreg1>
<process sreg2>
it is now a loop with an unknown upper bound.

All this to add support for exactly one rarely used instruction, CAS.

                  Zoltan

On Mon, Feb 23, 2009 at 8:26 PM, Mark Probst <mark.probst at gmail.com> wrote:
> Hey,
>
> These patches implement ternary ops in mini and a general ATOMIC_CAS
> (for x86, AMD64 and PPC(64)).
>
> Please review, especially my register allocator changes.  The global
> register allocator is not adapted, yet.
>
> Mark
>
>


More information about the Mono-devel-list mailing list