Am 06.03.2013 11:12, schrieb Michael Schnell:
So (as with all x86 variants) no library or system call is necessary.
Wrong. This is not true in the general case, please read the appropriate api documents.
With Cortex, this has changed to the use of the CP15 Register (freeing A9 to allow for better optimization). Now, CP15 is in fact not very suitable for this purpose, as it can only be accessed with privileged instructions and thus not in user mode (where the TLS in fact is invented for).Thus a system call (or trap) is needed to get the address of a threadvar.
Wrong. On linux this can be done by a jump to a certain adress.
Conclusion: With FPC, the optimization of threadvar access is not necessary. Instead it is highly recommended to always use thread specific instances of the classes that do the threaded work. TThread of course provides this out of the box.
And how does one the "current" TThread? _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel