Reply by Bhooshan Iyer●September 20, 20052005-09-20
Mike--
> I am wondering if anybody has ever faced with the
> latest invention of the CCS (3.1 for that matter)
> compiler team called trampoline.
Mmmm..Iam not sure if it is right to call Trampolines an
"Invention",ARM compilers have been doing it for a decade
now under the name of "Veneers", albeit for a slightly different
purpose although itserves well for Long branches or absolute
branches as TI calls it. TI always had another solution for
it which was compile time(-ml3 option) but after years of
experience with the performance penalty associated with
making ALL branches to default to far,TI has shifted to
the more sophisticated linker based solution(Trampolines)
to fix far branches. Either ways it wasnt a original thought.
> I have the memory model for the whole project set at
> "far call and data" which, IMHO, should
> guarantee that all call will be made "far".
Effectively with the newer versions of CODE GEN -ml3
has been superceeded by trampolines and in fact I will
not be surprised if future versions discontinue support
for -ml3 (This is my understanding and it does not necessarily
represent TI's views!)
--Bhooshan
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
Reply by Mike_33●September 14, 20052005-09-14
Hi guys!
I am wondering if anybody has ever faced with the latest invention of the
CCS (3.1 for that matter) compiler team called trampoline. I have the memory
model for the whole project set at "far call and data" which, IMHO, should
guarantee that all call will be made "far". However, having built the
project, I was startled to see in the map file few "trampolines" that
usually get introduced by linker (if you ask it explicitly to do so) in
order to be able to reach the "far" function by means of "near" call.
I managed to get rid of them by exlicit declaration of the problematic
functions as "far", but still feel a bit uneasy about it..
Why compiler still generate "near" calls when it is set to "far"? Why
trampilines are there without turning them on?
Any insights will be appreciated
Mike