Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

122 lines (113 sloc) 4.641 kB
Index: object.di
===================================================================
--- object.di (revision 4578)
+++ object.di (working copy)
@@ -35,15 +35,17 @@
Interface[] interfaces;
ClassInfo base;
void* destructor;
- void(*classInvariant)(Object);
+ void* classInvariant;
uint flags;
// 1: // IUnknown
// 2: // has no possible pointers into GC memory
// 4: // has offTi[] member
// 8: // has constructors
+ // 32: // has typeinfo
void* deallocator;
OffsetTypeInfo[] offTi;
void* defaultConstructor;
+ TypeInfo typeinfo;
static ClassInfo find(char[] classname);
Object create();
@@ -127,10 +129,11 @@
char[] name;
void[] m_init;
- uint function(void*) xtoHash;
- int function(void*,void*) xopEquals;
- int function(void*,void*) xopCmp;
- char[] function(void*) xtoString;
+ // These are ONLY for use as a delegate.funcptr!
+ hash_t function() xtoHash;
+ int function(void*) xopEquals;
+ int function(void*) xopCmp;
+ char[] function() xtoString;
uint m_flags;
}
Index: lib/common/tango/core/Thread.d
===================================================================
--- lib/common/tango/core/Thread.d (revision 4578)
+++ lib/common/tango/core/Thread.d (working copy)
@@ -295,7 +295,7 @@
}
else version (X86_64)
{
- ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r10,r11,r12,r13,r14,r15;
+ ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r8,r9,r10,r11,r12,r13,r14,r15;
asm
{
movq rax[RBP], RAX ;
@@ -306,6 +306,8 @@
movq rsi[RBP], RSI ;
movq rdi[RBP], RDI ;
movq rsp[RBP], RSP ;
+ movq r8[RBP], R8 ;
+ movq r9[RBP], R9 ;
movq r10[RBP], R10 ;
movq r11[RBP], R11 ;
movq r12[RBP], R12 ;
Index: lib/gc/basic/gcx.d
===================================================================
--- lib/gc/basic/gcx.d (revision 4578)
+++ lib/gc/basic/gcx.d (working copy)
@@ -2198,7 +2198,7 @@
}
else version (X86_64)
{
- ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r10,r11,r12,r13,r14,r15;
+ ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r8,r9,r10,r11,r12,r13,r14,r15;
asm
{
movq rax[RBP], RAX ;
@@ -2209,6 +2209,8 @@
movq rsi[RBP], RSI ;
movq rdi[RBP], RDI ;
movq rsp[RBP], RSP ;
+ movq r8[RBP], R8 ;
+ movq r9[RBP], R9 ;
movq r10[RBP], R10 ;
movq r11[RBP], R11 ;
movq r12[RBP], R12 ;
Index: tango/text/convert/Layout.d
===================================================================
--- tango/text/convert/Layout.d (revision 4578)
+++ tango/text/convert/Layout.d (working copy)
@@ -660,8 +660,12 @@
case TypeCode.STRUCT:
auto s = cast(TypeInfo_Struct) type;
- if (s.xtoString)
- return Utf.fromString8 (s.xtoString(p), result);
+ if (s.xtoString) {
+ char[] delegate() toString;
+ toString.ptr = p;
+ toString.funcptr = cast(char[] function()) s.xtoString;
+ return Utf.fromString8 (toString(), result);
+ }
goto default;
case TypeCode.INTERFACE:
Index: tango/net/Socket.d
===================================================================
--- tango/net/Socket.d (revision 4578)
+++ tango/net/Socket.d (working copy)
@@ -1545,10 +1545,10 @@
abstract class Address
{
- protected sockaddr* name();
- protected int nameLen();
- AddressFamily addressFamily();
- char[] toString();
+ abstract protected sockaddr* name();
+ abstract protected int nameLen();
+ abstract AddressFamily addressFamily();
+ abstract char[] toString();
/***********************************************************************
Jump to Line
Something went wrong with that request. Please try again.