Hi everyone, It looks like, the way the compiler is right now, ##slot and ##set-slot are more complicated than they have to be. These instructions do two things: first, subtract the tag from the index given, then read or write memory from the sum of the index and the base pointer. If ##slot and ##set-slot didn't have to do this processing with the tag, they wouldn't need a temporary register. Potentially, this could improve register allocation and value numbering.
I made this change, by modifying the low level IR builder to insert some arithmetic instructions before ##slot and ##set-slot, and the results are in the 'slots' branch of the main repository. I've tested the changes on both x86 and PPC. Slava, do these changes look good to you? If so, I think they're ready to be merged in. Dan ------------------------------------------------------------------------------ Come build with us! The BlackBerry® 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/devconf _______________________________________________ Factor-talk mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/factor-talk
