* accelerated/fixed TLS access on win32 by Pierre Muller

git-svn-id: trunk@13571 -
This commit is contained in:
florian 2009-08-21 09:15:11 +00:00
parent d11764fe8c
commit d3d3596cd6

View File

@ -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