<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <br>
    <br>
    On 9/6/2011 12:13 PM, Rainer Schuetze wrote:
    <blockquote cite="mid:4E6670DC.1020106@gmx.de" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <br>
      I can reproduce the issue on Win7 64, but not on XP. I have
      debugged it a little until I noticed that the generated code for
      TLS access seems broken:<br>
      <br>
      dmd 2.054 generated this code for the append operation<br>
      <br>
       push        1  <br>
      1000207D  mov         ecx,dword ptr [__tls_index (1006BF98h)]  <br>
      10002083  mov         edx,dword ptr fs:[2Ch]  <br>
      1000208A  mov         ebx,dword ptr [edx+ecx*4]  <br>
      1000208D  lea         esi,[ebx+4]  <br>
      10002093  push        esi  <br>
      10002094  mov         eax,offset TypeInfo_Ai@__init (1005E9A0h)  <br>
      10002099  push        eax  <br>
      1000209A  call        __d_arrayappendcT (10004D68h)  <br>
      <br>
      while the beta generates<br>
      <br>
      push        1  <br>
      10002076  mov         ecx,dword ptr fs:[2Ch]  <br>
      1000207D  mov         edx,dword ptr [ecx]  <br>
      1000207F  lea         ebx,[edx+4]  <br>
      10002085  push        ebx  <br>
      10002086  mov         esi,offset TypeInfo_Ai@__init (10067A90h)  <br>
      1000208B  push        esi  <br>
      1000208C  call        __d_arrayappendcT (10004F9Ch)  <br>
      <br>
      so it completely ignores the tls_index. I guess it works on XP
      because there are less DLLs that use TLS, so the DLLs index ends
      up as 0.<br>
      <br>
    </blockquote>
    <br>
    Very interesting. Can you provide the source code for that?<br>
  </body>
</html>