mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-02-28 09:33:27 +01:00
[svn r260] Changed some of the LLVMDC specific code in the Tango core and did some minor cleanups.
This commit is contained in:
@@ -244,7 +244,30 @@ else version( Posix )
|
||||
}
|
||||
body
|
||||
{
|
||||
version( D_InlineAsm_X86 )
|
||||
version( LLVMDC )
|
||||
{
|
||||
// put registers on the stack
|
||||
version(D_InlineAsm_X86)
|
||||
{
|
||||
uint _eax, _ecx, _edx, _ebx, _esp, _ebp, _esi, _edi;
|
||||
asm
|
||||
{
|
||||
mov _eax, EAX;
|
||||
mov _ecx, ECX;
|
||||
mov _edx, EDX;
|
||||
mov _ebx, EBX;
|
||||
mov _esp, ESP;
|
||||
mov _ebp, EBP;
|
||||
mov _esi, ESI;
|
||||
mov _edi, EDI;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// FIXME
|
||||
}
|
||||
}
|
||||
else version( D_InlineAsm_X86 )
|
||||
{
|
||||
asm
|
||||
{
|
||||
@@ -255,10 +278,6 @@ else version( Posix )
|
||||
{
|
||||
__builtin_unwind_init();
|
||||
}
|
||||
else version( LLVMDC )
|
||||
{
|
||||
// TODO below as well
|
||||
}
|
||||
else
|
||||
{
|
||||
static assert( false, "Architecture not supported." );
|
||||
@@ -301,7 +320,11 @@ else version( Posix )
|
||||
}
|
||||
}
|
||||
|
||||
version( D_InlineAsm_X86 )
|
||||
version( LLVMDC )
|
||||
{
|
||||
// nothing to do
|
||||
}
|
||||
else version( D_InlineAsm_X86 )
|
||||
{
|
||||
asm
|
||||
{
|
||||
@@ -312,10 +335,6 @@ else version( Posix )
|
||||
{
|
||||
// registers will be popped automatically
|
||||
}
|
||||
else version( LLVMDC )
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
else
|
||||
{
|
||||
static assert( false, "Architecture not supported." );
|
||||
|
||||
@@ -69,15 +69,8 @@ extern (C) void gc_term()
|
||||
//
|
||||
// NOTE: Due to popular demand, this has been re-enabled. It still has
|
||||
// the problems mentioned above though, so I guess we'll see.
|
||||
version(LLVMDC)
|
||||
{
|
||||
// currently crashes a lot
|
||||
}
|
||||
else
|
||||
{
|
||||
_gc.fullCollectNoStack(); // not really a 'collect all' -- still scans
|
||||
// static data area, roots, and ranges.
|
||||
}
|
||||
_gc.Dtor();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user