Wiki Roadmap Timeline Tickets New Ticket Source Search Help / Guide About Trac Login

Changeset 777:961e249eb2aa

Show
Ignore:
Timestamp:
11/22/08 07:41:36 (2 months ago)
Author:
Christian Kamm <kamm incasoftware de>
branch:
default
Message:

Include x86-32 fiber fixes in tango patch again.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • runtime/ldc.diff

    r776 r777  
    11Index: object.di 
    22=================================================================== 
    3 --- object.di   (revision 4097
     3--- object.di   (revision 4110
    44+++ object.di   (working copy) 
    55@@ -150,6 +150,9 @@ 
     
    1515Index: lib/unittest.sh 
    1616=================================================================== 
    17 --- lib/unittest.sh (revision 4097
     17--- lib/unittest.sh (revision 4110
    1818+++ lib/unittest.sh (working copy) 
    1919@@ -18,8 +18,9 @@ 
     
    7272Index: lib/common/tango/core/BitManip.d 
    7373=================================================================== 
    74 --- lib/common/tango/core/BitManip.d    (revision 4097
     74--- lib/common/tango/core/BitManip.d    (revision 4110
    7575+++ lib/common/tango/core/BitManip.d    (working copy) 
    7676@@ -171,6 +171,10 @@ 
     
    8787Index: lib/common/tango/core/Thread.d 
    8888=================================================================== 
    89 --- lib/common/tango/core/Thread.d  (revision 4097
     89--- lib/common/tango/core/Thread.d  (revision 4110
    9090+++ lib/common/tango/core/Thread.d  (working copy) 
    9191@@ -273,8 +273,50 @@ 
     
    155155                 { 
    156156                     popad; 
    157 @@ -2357,6 +2403,10 @@ 
     157@@ -2347,6 +2393,18 @@ 
     158         version( Posix ) 
     159             version = AsmPPC_Posix; 
     160     } 
     161+    version( LLVM_InlineAsm_X86 )  
     162+    { 
     163+        version( Win32 ) 
     164+            version = LLVM_AsmX86_Win32; 
     165+        else version( Posix ) 
     166+            version = LLVM_AsmX86_Posix; 
     167+    } 
     168+    else version( LLVM_InlineAsm_X86_64 ) 
     169+    { 
     170+        version( Posix ) 
     171+            version = LLVM_AsmX86_64_Posix; 
     172+    } 
     173  
     174     version( Posix ) 
     175     { 
     176@@ -2357,6 +2415,10 @@ 
    158177         version( AsmX86_Win32 ) {} else 
    159178         version( AsmX86_Posix ) {} else 
     
    166185             // NOTE: The ucontext implementation requires architecture specific 
    167186             //       data definitions to operate so testing for it must be done 
    168 @@ -2367,9 +2417,11 @@ 
     187@@ -2367,9 +2429,11 @@ 
    169188             import tango.stdc.posix.ucontext; 
    170189         } 
     
    179198 { 
    180199     static if( is( typeof( GetSystemInfo ) ) ) 
    181 @@ -2522,7 +2574,7 @@ 
     200@@ -2522,7 +2586,7 @@ 
    182201     } 
    183202 } 
     
    188207 // Fiber 
    189208 //////////////////////////////////////////////////////////////////////////////// 
    190 @@ -3204,6 +3256,28 @@ 
     209@@ -3177,6 +3241,22 @@ 
     210             push( 0x00000000 );                                     // ESI 
     211             push( 0x00000000 );                                     // EDI 
     212         } 
     213+        else version( LLVM_AsmX86_Posix ) 
     214+        { 
     215+            push( cast(size_t) &fiber_entryPoint );                 // EIP 
     216+            push( 0x00000000 );                                     // newp 
     217+            push( 0x00000000 );                                     // oldp 
     218+            push( 0x00000000 );                                     // EBP 
     219+            push( 0x00000000 );                                     // EBX 
     220+            push( 0x00000000 );                                     // ESI 
     221+            push( 0x00000000 );                                     // EDI 
     222+        } 
     223+//TODO: Implement x86-64 fibers 
     224+/+ 
     225+        else version( LLVM_AsmX86_Posix ) 
     226+        { 
     227+        } 
     228++/ 
     229         else version( AsmPPC_Posix ) 
     230         { 
     231             version( StackGrowsDown ) 
     232@@ -3204,6 +3284,28 @@ 
    191233  
    192234             assert( cast(uint) pstack & 0x0f == 0 ); 
     
    219261Index: lib/gc/basic/gcx.d 
    220262=================================================================== 
    221 --- lib/gc/basic/gcx.d  (revision 4097
     263--- lib/gc/basic/gcx.d  (revision 4110
    222264+++ lib/gc/basic/gcx.d  (working copy) 
    223265@@ -65,6 +65,13 @@ 
     
    312354Index: lib/gc/basic/gcbits.d 
    313355=================================================================== 
    314 --- lib/gc/basic/gcbits.d   (revision 4097
     356--- lib/gc/basic/gcbits.d   (revision 4110
    315357+++ lib/gc/basic/gcbits.d   (working copy) 
    316358@@ -39,6 +39,10 @@ 
     
    327369Index: lib/build-tango.sh 
    328370=================================================================== 
    329 --- lib/build-tango.sh  (revision 4097
     371--- lib/build-tango.sh  (revision 4110
    330372+++ lib/build-tango.sh  (working copy) 
    331373@@ -23,7 +23,7 @@ 
     
    359401Index: tango/text/convert/Layout.d 
    360402=================================================================== 
    361 --- tango/text/convert/Layout.d (revision 4097
     403--- tango/text/convert/Layout.d (revision 4110
    362404+++ tango/text/convert/Layout.d (working copy) 
    363405@@ -47,6 +47,12 @@ 
     
    385427Index: tango/net/cluster/CacheInvalidator.d 
    386428=================================================================== 
    387 --- tango/net/cluster/CacheInvalidator.d    (revision 4097
     429--- tango/net/cluster/CacheInvalidator.d    (revision 4110
    388430+++ tango/net/cluster/CacheInvalidator.d    (working copy) 
    389431@@ -79,7 +79,7 @@ 
     
    398440Index: tango/core/Vararg.d 
    399441=================================================================== 
    400 --- tango/core/Vararg.d (revision 4097
     442--- tango/core/Vararg.d (revision 4110
    401443+++ tango/core/Vararg.d (working copy) 
    402444@@ -15,6 +15,10 @@ 
     
    413455Index: tango/core/sync/Semaphore.d 
    414456=================================================================== 
    415 --- tango/core/sync/Semaphore.d (revision 4097
     457--- tango/core/sync/Semaphore.d (revision 4110
    416458+++ tango/core/sync/Semaphore.d (working copy) 
    417459@@ -376,7 +376,8 @@ 
     
    449491Index: tango/core/sync/Condition.d 
    450492=================================================================== 
    451 --- tango/core/sync/Condition.d (revision 4097
     493--- tango/core/sync/Condition.d (revision 4110
    452494+++ tango/core/sync/Condition.d (working copy) 
    453495@@ -553,8 +553,11 @@ 
     
    465507Index: tango/core/Atomic.d 
    466508=================================================================== 
    467 --- tango/core/Atomic.d (revision 4097
     509--- tango/core/Atomic.d (revision 4110
    468510+++ tango/core/Atomic.d (working copy) 
    469511@@ -270,6 +270,167 @@ 
     
    649691Index: tango/math/IEEE.d 
    650692=================================================================== 
    651 --- tango/math/IEEE.d   (revision 4097
     693--- tango/math/IEEE.d   (revision 4110
    652694+++ tango/math/IEEE.d   (working copy) 
    653 @@ -1543,7 +1543,12 @@ 
    654          else return 0; 
    655       }   
     695@@ -1554,7 +1554,12 @@ 
     696         return (bitsdiff == 0 && !((pa[F.EXPPOS_SHORT] ^ pb[F.EXPPOS_SHORT])& F.EXPMASK)) ? 1 : 0; 
     697      } 
    656698  } else { 
    657699-    assert(0, "Unsupported"); 
     
    667709Index: tango/math/Math.d 
    668710=================================================================== 
    669 --- tango/math/Math.d   (revision 4097
     711--- tango/math/Math.d   (revision 4110
    670712+++ tango/math/Math.d   (working copy) 
    671713@@ -76,6 +76,14 @@ 
     
    816858Index: tango/stdc/posix/sys/types.d 
    817859=================================================================== 
    818 --- tango/stdc/posix/sys/types.d    (revision 4097
     860--- tango/stdc/posix/sys/types.d    (revision 4110
    819861+++ tango/stdc/posix/sys/types.d    (working copy) 
    820862@@ -422,7 +422,11 @@ 
     
    833875Index: tango/stdc/stdlib.d 
    834876=================================================================== 
    835 --- tango/stdc/stdlib.d (revision 4097
     877--- tango/stdc/stdlib.d (revision 4110
    836878+++ tango/stdc/stdlib.d (working copy) 
    837879@@ -94,6 +94,11 @@ 
     
    849891Index: tango/stdc/stdarg.d 
    850892=================================================================== 
    851 --- tango/stdc/stdarg.d (revision 4097
     893--- tango/stdc/stdarg.d (revision 4110
    852894+++ tango/stdc/stdarg.d (working copy) 
    853895@@ -13,6 +13,10 @@ 
Copyright © 2008, LDC Development Team.