From: Erik P. <epe...@iv...> - 2007-03-27 06:38:41
|
Revision 4719 has most of the needed support for function inlining. I normally don't like to commit partially complete work, but I haven't been able to make much progress lately. The main thing remaining is to generate non-inlined versions of inlined functions if they are referenced in a way that could not be inlined (such as recursion or use of the address-of operator). The numbering of the inlined code's sequence points also needs fixups, but they aren't used much yet, so it will probably work anyway. We should start considering upgrading the cdb debugging information to support discontinuous address ranges mapping to a single source line. Although this is already a minor problem with regular code, inlined functions become nearly undebugable if they are instantiated more than once. It would also be nice to figure out a good way to allow inline assembly to access the parameters and return value of an inlined function. Erik |