Excellent - thanks

Slava Pestov wrote:
> Phil,
> 
> The register allocator doesn't support fixed register allocation yet,
> but it will soon. In the meantime, you can just have your intrinsic
> check if the dst is EAX or not, and behave differently in both cases.
> 
> Slava
> 
> On Fri, Oct 9, 2009 at 7:09 AM, Phil Dawes <[email protected]> wrote:
>> Hi Slava,
>>
>> I'm was implementing ##atomic-compare-exchange ( dst cptr old new -- )
>> last night and ran into a problem:
>>
>> The cmpxchg instruction on x86 implicitly uses EAX/RAX as input and output.
>> http://faydoc.tripod.com/cpu/cmpxchg.htm
>>
>> Is there any way to tell the register allocator about this?
>>
>> My first thought was to simply save the contents of RAX on the stack
>> prior to calling CMPXCHG. The problem with this is that if the reg
>> allocator selects RAX as the dst register then it gets stomped when the
>> original RAX value is popped.
>>
>> Any tips?
>>
>> Many thanks,
>>
>> Phil
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
>> is the only developer event you need to attend this year. Jumpstart your
>> developing skills, take BlackBerry mobile applications to market and stay
>> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
>> http://p.sf.net/sfu/devconference
>> _______________________________________________
>> Factor-talk mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>>
> 
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay 
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Factor-talk mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/factor-talk
> 



------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to