mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 23:09:40 +02:00
* accelerated/fixed TLS access on win32 by Pierre Muller
git-svn-id: trunk@13571 -
This commit is contained in:
parent
d11764fe8c
commit
d3d3596cd6
@ -105,13 +105,20 @@ CONST
|
||||
dataindex : pointer;
|
||||
errorsave : dword;
|
||||
begin
|
||||
{$ifdef dummy}
|
||||
{ I've no clue why this doesn't read dataindex, imo it should (FK) }
|
||||
{$ifdef win32}
|
||||
asm
|
||||
movl TLSKey,%edx
|
||||
movl $0x2c,%eax
|
||||
movl %fs:(%eax),%eax
|
||||
movl (%eax,%edx,4),%eax
|
||||
orl %eax,%eax
|
||||
jnz .LAddressInEAX
|
||||
movl $0x18,%eax
|
||||
movl %fs:(%eax),%eax
|
||||
movl 0xe10(%eax,%edx,4),%eax
|
||||
jmp .LToDataIndex
|
||||
.LAddressInEAX:
|
||||
movl (%eax,%edx,4),%eax
|
||||
.LToDataIndex:
|
||||
movl %eax,dataindex
|
||||
end;
|
||||
if DataIndex=nil then
|
||||
|
Loading…
Reference in New Issue
Block a user