On Mon, 2005-02-28 at 10:01 -0800, Dale Johannesen wrote: > On Feb 28, 2005, at 4:43 AM, Joern RENNECKE wrote: > > > Dale Johannesen wrote: > > > >> Well, no, what is supposed to happen (I haven't tried it for a > >> while, so I don't promise > >> this still works) is code like this: > >> > >> .hotsection: > >> loop: > >> conditional branch (i?==1000) to L2 > >> L1: > >> /* do stuff */ > >> end loop: > >> > >> /* still in hot section */ > >> L2: jmp L3 > >> > >> .coldsection: > >> L3: > >> i = 0; > >> jmp L1 > >> > > > > Well, even then, using of the cold section can increase the hot > > section size, depending on target, and for some > > targets the maximum supported distance of the cold section. > > Certainly. In general it will make the total size bigger, as does > inlining. Yup. Others have found the same effect.
> If you have good information about what's hot and cold, it should reduce > the number of pages that actually get swapped in. Right. And IIRC others have found that while there may be more static long branches/calls due to hot/cold partitioning, the number of dynamic long branches/calls is actually reduced substantially. > No, you should not turn on partitioning in situations where code size > is important to you. Agreed 100%. jeff