Cppuno in bridges, HELP needed.

Jan Iversen jancasacondor at gmail.com
Tue Mar 6 10:38:24 UTC 2018


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


More information about the LibreOffice mailing list