Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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.