comparison tango-0.99.8.patch @ 1444:2a8d4f98b543

Update patch for Tango 0.99.8
author Frits van Bommel <fvbommel wxs.nl>
date Sun, 31 May 2009 15:47:59 +0200
parents 967d28b7febe
children
comparison
equal deleted inserted replaced
1442:0a5f7890f327 1444:2a8d4f98b543
1 Index: object.di 1 Index: object.di
2 =================================================================== 2 ===================================================================
3 --- object.di (revision 4655) 3 --- object.di (revision 4578)
4 +++ object.di (working copy) 4 +++ object.di (working copy)
5 @@ -41,9 +41,11 @@ 5 @@ -35,15 +35,17 @@
6 Interface[] interfaces;
7 ClassInfo base;
8 void* destructor;
9 - void(*classInvariant)(Object);
10 + void* classInvariant;
11 uint flags;
12 // 1: // IUnknown
6 // 2: // has no possible pointers into GC memory 13 // 2: // has no possible pointers into GC memory
7 // 4: // has offTi[] member 14 // 4: // has offTi[] member
8 // 8: // has constructors 15 // 8: // has constructors
9 + // 32: // has typeinfo 16 + // 32: // has typeinfo
10 void* deallocator; 17 void* deallocator;
12 void* defaultConstructor; 19 void* defaultConstructor;
13 + TypeInfo typeinfo; 20 + TypeInfo typeinfo;
14 21
15 static ClassInfo find(char[] classname); 22 static ClassInfo find(char[] classname);
16 Object create(); 23 Object create();
24 @@ -127,10 +129,11 @@
25 char[] name;
26 void[] m_init;
27
28 - uint function(void*) xtoHash;
29 - int function(void*,void*) xopEquals;
30 - int function(void*,void*) xopCmp;
31 - char[] function(void*) xtoString;
32 + // These are ONLY for use as a delegate.funcptr!
33 + hash_t function() xtoHash;
34 + int function(void*) xopEquals;
35 + int function(void*) xopCmp;
36 + char[] function() xtoString;
37
38 uint m_flags;
39 }
17 Index: lib/common/tango/core/Thread.d 40 Index: lib/common/tango/core/Thread.d
18 =================================================================== 41 ===================================================================
19 --- lib/common/tango/core/Thread.d (revision 4655) 42 --- lib/common/tango/core/Thread.d (revision 4578)
20 +++ lib/common/tango/core/Thread.d (working copy) 43 +++ lib/common/tango/core/Thread.d (working copy)
21 @@ -295,7 +295,7 @@ 44 @@ -295,7 +295,7 @@
22 } 45 }
23 else version (X86_64) 46 else version (X86_64)
24 { 47 {
36 movq r10[RBP], R10 ; 59 movq r10[RBP], R10 ;
37 movq r11[RBP], R11 ; 60 movq r11[RBP], R11 ;
38 movq r12[RBP], R12 ; 61 movq r12[RBP], R12 ;
39 Index: lib/gc/basic/gcx.d 62 Index: lib/gc/basic/gcx.d
40 =================================================================== 63 ===================================================================
41 --- lib/gc/basic/gcx.d (revision 4655) 64 --- lib/gc/basic/gcx.d (revision 4578)
42 +++ lib/gc/basic/gcx.d (working copy) 65 +++ lib/gc/basic/gcx.d (working copy)
43 @@ -2198,7 +2198,7 @@ 66 @@ -2198,7 +2198,7 @@
44 } 67 }
45 else version (X86_64) 68 else version (X86_64)
46 { 69 {
56 + movq r8[RBP], R8 ; 79 + movq r8[RBP], R8 ;
57 + movq r9[RBP], R9 ; 80 + movq r9[RBP], R9 ;
58 movq r10[RBP], R10 ; 81 movq r10[RBP], R10 ;
59 movq r11[RBP], R11 ; 82 movq r11[RBP], R11 ;
60 movq r12[RBP], R12 ; 83 movq r12[RBP], R12 ;
84 Index: tango/text/convert/Layout.d
85 ===================================================================
86 --- tango/text/convert/Layout.d (revision 4578)
87 +++ tango/text/convert/Layout.d (working copy)
88 @@ -660,8 +660,12 @@
89
90 case TypeCode.STRUCT:
91 auto s = cast(TypeInfo_Struct) type;
92 - if (s.xtoString)
93 - return Utf.fromString8 (s.xtoString(p), result);
94 + if (s.xtoString) {
95 + char[] delegate() toString;
96 + toString.ptr = p;
97 + toString.funcptr = cast(char[] function()) s.xtoString;
98 + return Utf.fromString8 (toString(), result);
99 + }
100 goto default;
101
102 case TypeCode.INTERFACE:
61 Index: tango/net/Socket.d 103 Index: tango/net/Socket.d
62 =================================================================== 104 ===================================================================
63 --- tango/net/Socket.d (revision 4655) 105 --- tango/net/Socket.d (revision 4578)
64 +++ tango/net/Socket.d (working copy) 106 +++ tango/net/Socket.d (working copy)
65 @@ -1545,10 +1545,10 @@ 107 @@ -1545,10 +1545,10 @@
66 108
67 abstract class Address 109 abstract class Address
68 { 110 {