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
- Cppuno in bridges, HELP needed. · Jan Iversen
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.