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() ->
                __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.
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).

LibreOffice mailing list

Reply via email to