Changeset 377

Show
Ignore:
Timestamp:
07/05/08 16:50:12 (5 months ago)
Author:
FeepingCreature
Message:
  • potential 64-bit fix
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/tools/tools/stackthreads_impl.d

    r370 r377  
    22import tools.base; 
    33 
    4 static if (size_t.sizeof==8) const string regsize="r"
    5 else const string regsize="e"
     4static if (size_t.sizeof==8) const string regsize="r", suffix="q"
     5else const string regsize="e", suffix="l"
    66 
    77import std.gc; 
     
    4848          jmp 1f 
    4949          0: 
    50            
    51           pushal 
     50          pusha! 
    5251           
    5352          mov #sp, (#cx) 
    5453          mov #dx, #sp 
    5554           
    56           popal 
     55          popa! 
    5756           
    5857          ret 
    5958          1:\" : : \"c\" ep, \"d\" to.esp : \"ax\", \"bx\"; 
    60         }", "#", "%%"~regsize)); 
     59        }", "#", "%%"~regsize, "!", suffix)); 
    6160      } else { 
    6261        asm { 
     
    9190            jmp 1f 
    9291             
    93             0: pushal 
     92            0: pusha! 
    9493            mov %%sp, (%%bx) 
    9594            mov %%cx, %%sp 
     
    9796            push $1 
    9897            1: pop %%cx\" : \"=c\" loaded, \"=d\" new_ptr : \"b\" ep, \"c\" esp, \"d\" dg_ptr; 
    99           }", "%%", "%%"~regsize 
     98          }", "%%", "%%"~regsize, "!", suffix 
    10099        )); 
    101100      } else asm {