Efficient UNO component linkage & GC ...

Stephan Bergmann sbergman at redhat.com
Thu Dec 19 05:45:22 PST 2013


On 12/19/2013 10:51 AM, Stephan Bergmann wrote:
> * next step is to let certain occurrences of UNO service constructor
> (and singleton getter) calls in C++ code call corresponding constructor
> functions directly (instead of going via service manager's
> createInstanceWith[ArgumentsAnd]Context); conditions under which this
> simplification can be done:
>
> ** caller and implementation use the same environment (e.g., both gcc3;
> this is not the case e.g. for
> connectivity/source/drivers/jdbc/jdbc.component's
> environment="@CPPU_ENV@:affine")
>
> ** and caller knows that the constructor function is visible (i.e., the
> library/executable supplying it is loaded)
>
> ** note that there are always situations where UNO services are not
> called via constructor, though; e.g., the constructor-less
> css.uri.UriSchemeParser_* services are always created via dynamically
> computed name
>
> * idea is to set aside for every UNO service/singleton S two macros
> LO_URE_CTOR_ENV_<S'> and LO_URE_CTOR_FUN_<S'>, and a macro
> LO_URE_CURRENT_ENV, and modify cppumaker to generate constructor code as
[...]

i.e., 
<http://cgit.freedesktop.org/libreoffice/core/commit/?id=15abebbde560e17413f17b16b8b2e9c1f31f01a5> 
"WIP: Direct service ctor calls at least on Android/iOS"

Stephan


More information about the LibreOffice mailing list