Date: prev next · Thread: first prev next last
2018 Archives by date, by thread · List index


Hi.

I am still trying to get my head around understanding bridges, and how I can make it work for 
arm64/iOS.

At some point a piece of code (in the same executable) decides to make a uno call, this looks like

Cpp2uno_call() ->
        raise_exception()
                __cxa_throw() ->
                ( C++ throw handling) ->
                        getCaughtException() ->
                                UnoInterfaceProxyDispatch() ->
                                        cpp_call() ->
                                                CallVirtualMethod() ->
                                                        ( Call requested function )

Now it all looks synchronous to me, and I right in assuming this all happens without any dispatch.

If my assumption is correct, I should be able to shortcut the whole lot and make a simple:
Cpp2uno_call() ->
        ( Call requested function )

Because on iOS, no external process will ever call the UNO interface, it is 1 single executable (I 
also removed the pipes etc).

Can someone please tell me, if/where I am thinking totally wrong. My objective is to get rid of all 
the ugly assembler code.

Thanks in advance.
rgds
Jan I.


Ps. I had never expected the need to “expert” on the lower layers of LO, but after having been 
fighting SAL_TIMER, then threads and now cppuno, I think I am slowly understanding how the very low 
level of LO works. This might be a good thing when/if we do another port (or just want to optimise).

                                        

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.