i'm attempting to opimise my xdata usage on an 8051 eWarp project. i'm working with a large memory model. when i view my linker file i see multiple new roots eg: *** NEW ROOT ******************************** VPIPINTERRUPT_STATSISR/VPIPINTERRUPT ----- ----- ----- ----- ----- ----- +--> ?PR?FPALU_SAVECONTEXT?FPALU +--> ?PR?EXPSTATSENGINEMANAGER_EXTRACTMEAN... +--> ?PR?WBSTATSENGINEMANAGER_EXTRACTMEANS... +--> ?PR?EXPOSURECONTROL_MAIN?EXPOSURECONTROL +--> ?PR?_WHITEBALANCE_UPDATECONTROLS?WHIT... +--> ?PR?INPUTPROCESSOR_CALCULATEALLCHANNE... +--> ?PR?FPALU_RESTORECONTEXT?FPALU *** NEW ROOT ******************************** VPIPINTERRUPT_SOF_EOF_ISR/VPIPINTERRUPT ----- ----- ----- ----- ----- ----- +--> ?PR?FPALU_SAVECONTEXT?FPALU +--> ?PR?EXPSTATSENGINEMANAGER_SETUPEXPOSU... +--> ?PR?WBSTATSENGINEMANAGER_SETUPWHITEBA... +--> ?PR?INPUTPROCESSOR_SETUPALLCHANNELS?I... +--> ?PR?_FLASHGUNMANAGER_SETGPIO?FLASHGUN... +--> ?PR?_EXPOSURECONTROL_CALCULATETOTALIN... +--> ?PR?_EXPSENSOR_GETANALOGGAINFROMCODED... +--> ?PR?_EXPOSURECONTROL_UPDATECURRENTEXP... +--> ?PR?_FLASHGUNMANAGER_CLEARGPIO?FLASHG... +--> ?PR?FPALU_RESTORECONTEXT?FPALU obviously the fns on different roots are not overlayed. however since i know that my interrupts are running at the same priority could these call trees not be merged into one? this would give me a large saving in ram due to the increased overlaying which would occur. is there a low level directive that can be used to force this to occur? i realise that the overlay directive is a powerful tool for this kind of thing, but i can't see how i can make it do what i want. can anybody help? thanks, robert