Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!uwm.edu!bionet!agate!usenet.ins.cwru.edu!tut.cis.ohio-state.edu!sei.cmu.edu!firth From: firth@sei.cmu.edu (Robert Firth) Newsgroups: comp.arch Subject: Re: Instruction Scheduling Message-ID: <24130@as0c.sei.cmu.edu> Date: 16 Apr 91 18:43:15 GMT References: <32097@shamash.cdc.com> <1991Apr8.224717.14402@aero.org> <1991Apr10.131341.26357@b11.ingr.com> <20632@cbmvax.commodore.com> Reply-To: firth@sei.cmu.edu (Robert Firth) Organization: Software Engineering Institute, Pittsburgh, PA Lines: 19 In article meissner@osf.org (Michael Meissner) writes: [linker optimisation of function calls] >Except of course if you are using object oriented techniques, and are >calling through a function pointer. In which case, the linker has to >fall back to the normal case of using fixed defaults. I don't understand the logic here. Object oriented techniques are ways of designing code, not of implementing it. I know of no evidence that OOD leads to code with greater dynamic functional variability than other techniques. Even if, for some reason, the prototyping tools use function pointers to increase development efficiency, the production code will probably use constant pointers (or write-once pointers, as the case may be). Propagating the constant value to the call sites is one of the simplest global optimisations a linker can do, and of couse the door is then opened to all the other neat tricks.