Type Qualifiers and Wild Cards
bearophile
bearophileHUGS at lycos.com
Wed Nov 9 14:56:26 PST 2011
Walter:
> http://drdobbs.com/blogs/cpp/231902461
>
> Anyone want to do the reddit honors?
On Reddit I see the discussion is a bit about merging of templates that produce the same function code. This is already possible in D, compiling with the LDC1 (and maybe LDC2 too) compiler using the -mergefunc switch.
I think according to the C standard all functions must have different function pointers, and I presume D has the same rule (even if I don't remember reading it in the D specs). This problem is solved leaving a tiny stub that just contains a jump instruction for the removed duplicated functions. This jump is probably nearly always correctly "predicted" by the CPU, because it's hard-coded.
As far as I know this -mergefunc is not able to remove partially duplicated functions, this is left to future improvements of the LLVM back-end.
Bye,
bearophile
More information about the Digitalmars-d
mailing list