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
