[fpc-pascal] Threadvar member field
Michael Schnell
mschnell at lumino.de
Mon Mar 20 10:16:19 CET 2017
On 17.03.2017 17:13, Karoly Balogh (Charlie/SGR) wrote:
> This is actually entirely platform specific. The underlying
> implementation of threadvars is very different for each platform, and
> highly depends both on the CPU arch and the OS.
That might be true.
Last time I checked (several years ago), the fpc implementations did OS
calls when accessing thread vars with X86 architecture for Windows. This
is not necessary. All C compilers I checked don't do this, but use a
dedicated segment register, even though this (at that time) was not
documented by Microsoft. Linux C compilers use a dedicated Segment
register, as well, here its a regular documented feature of the OS. (I
don't remember what fpc did for Linux at that time.)
Hopefully 64 bit platforms are better (and decently documented) on that
behalf.
No idea about ARM etc.
-Michael
More information about the fpc-pascal
mailing list