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

Reply via email to