04/13/17 23:50:35, (Marco van de Voort) <mar...@stack.nl>:
Thanks, i understand all of this. This what i call plugin system and i know for what it need. In conclusion:
Dynamic Packages needs for smooth plugin system in FreePascal.

04/13/17 23:27:06, Sven Barth via fpc-devel <fpc-devel@lists.freepascal.org>:
No, those changes are not optional, though in those cases where the
compiler can avoid them (e.g. inside the same unit) it already tries to.
This why i start this discussion. Because i think this is bad and i hope than this can be avoided.

And for global variables you can use {$importdata off}.
Compiler says that "Warning: Illegal compiler directive "$IMPORTDATA"". How to use it?

Please not that our threadvars are *not* allocated by the linker. Each
access to a threadvar goes through the fpc_relocate_threadvar function
(just check the assembler code to see what I mean)
I know it. I say about action before calling fpc_relocate_threadvar.

Delphi uses these indirect accesses from the beginning. Do you hear
anyone really complain about performance problems due to indirect accesses?
I even dont know about Delphi have it. I just use logic and my knowledge about how processor and memory works. So i try make my code faster.

And it's not about saving RAM or disk memory! It's about *binary code
reuse*, the ability to fix a bug in multiple executables by merely
fixing the one bug in a package.
Hm... Ok, i dont think that this in usefull at all, but thanks, not i know your vision of problem.

These special sections are executed by the C runtime.
Interesting. I think its done by OS-part (on Windows, where i see it).

We don't link against the C runtime at least on Windows and on Linux however which
reduces the dependencies.
On Windows we in anycase have ntdll.dll and kernel32.dll, i mean rel on their functional and think than this sections processed by them. On Linux, if you use any SO - you use libdl, that use libc. In 99% of programs we have it linked.

No. This will needlessly complicate things.
Ok. I understand. I make proposal, you rejected it. Thanks for you, and all other guys, that spent their time for this discussion.

Regards,
Roman

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to