changeset 4:d706d958e4e8

Step 2 of restoring GC functionality.
author korDen
date Mon, 26 Oct 2009 16:28:19 +0300
parents 07ced0345cfe
children 63623152e82a 0ce5333b21b8
files dmd/Array.d dmd/BaseClass.d dmd/Expression.d dmd/File.d dmd/FileName.d dmd/Lexer.d dmd/Library.d dmd/Memory.d dmd/Module.d dmd/OutBuffer.d dmd/Parser.d dmd/PragmaDeclaration.d dmd/ScopeDsymbol.d dmd/StringExp.d dmd/StringTable.d dmd/SwitchStatement.d dmd/Type.d dmd/backend/iasm.d dmd/codegen/Util.d dmd/expression/Cat.d dmd/expression/Slice.d main.d
diffstat 22 files changed, 26 insertions(+), 48 deletions(-) [+]
line wrap: on
line diff
--- a/dmd/Array.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/Array.d	Mon Oct 26 16:28:19 2009 +0300
@@ -1,6 +1,6 @@
 module dmd.Array;
 
-import dmd.Memory;
+import core.memory;
 
 import std.contracts;
 import core.stdc.string;
--- a/dmd/BaseClass.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/BaseClass.d	Mon Oct 26 16:28:19 2009 +0300
@@ -13,7 +13,7 @@
 import core.stdc.stdlib;
 import core.stdc.string;
 
-import dmd.Memory;
+import core.memory;
 
 class BaseClass
 {
--- a/dmd/Expression.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/Expression.d	Mon Oct 26 16:28:19 2009 +0300
@@ -44,10 +44,9 @@
 import dmd.backend.elem;
 import dmd.backend.dt_t;
 
-import dmd.Memory;
+import core.memory;
 
 import std.stdio : writef;
-import core.stdc.stdlib : malloc;
 
 import std.conv;
 
--- a/dmd/File.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/File.d	Mon Oct 26 16:28:19 2009 +0300
@@ -9,7 +9,7 @@
 
 import std.string : toStringz;
 
-import dmd.Memory;
+import core.memory;
 
 class File
 {
--- a/dmd/FileName.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/FileName.d	Mon Oct 26 16:28:19 2009 +0300
@@ -5,9 +5,9 @@
 import dmd.OutBuffer;
 import dmd.File;
 
-import dmd.Memory;
+import core.memory;
 
-import core.stdc.stdlib : malloc, alloca;
+import core.stdc.stdlib : alloca;
 import core.stdc.string : memcpy, strlen;
 import core.stdc.ctype : isspace;
 
--- a/dmd/Lexer.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/Lexer.d	Mon Oct 26 16:28:19 2009 +0300
@@ -17,7 +17,7 @@
 
 import std.stdio : writeln;
 
-import dmd.Memory;
+import core.memory;
 
 import core.stdc.ctype;
 import core.stdc.stdlib;
--- a/dmd/Library.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/Library.d	Mon Oct 26 16:28:19 2009 +0300
@@ -18,7 +18,7 @@
 
 import std.string;
 
-import dmd.Memory;
+import core.memory;
 
 align(1)
 struct LibHeader
--- a/dmd/Memory.d	Sun Oct 25 03:23:44 2009 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-version (GC_ENABLE) {
-	extern (C) void*  gc_malloc( size_t sz, uint ba = 0 );
-	extern (C) void*  gc_calloc( size_t sz, uint ba = 0 );
-	extern (C) void*  gc_realloc( void* p, size_t sz, uint ba = 0 );
-
-	struct GC
-	{
-		alias gc_malloc malloc;
-		alias gc_calloc calloc;
-		alias gc_realloc realloc;
-		alias gc_disable disable;
-	}
-}
-else {
-	import core.stdc.stdlib;
-
-	struct GC
-	{
-		alias core.stdc.stdlib.malloc malloc;
-		alias core.stdc.stdlib.calloc calloc;
-		alias core.stdc.stdlib.realloc realloc;
-	}
-}
\ No newline at end of file
--- a/dmd/Module.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/Module.d	Mon Oct 26 16:28:19 2009 +0300
@@ -56,7 +56,7 @@
 import core.stdc.string;
 import core.stdc.stdlib;
 
-import dmd.Memory;
+import core.memory;
 
 uint readwordLE(ushort* p)
 {
@@ -929,7 +929,7 @@
 			outdata(cov);
 			slist_add(cov);
 
-			covb = cast(uint*)GC.calloc((numlines + 32) / 32, (*covb).sizeof);
+			covb = cast(uint*)GC.calloc(((numlines + 32) / 32) * (*covb).sizeof);
 		}
 
 		for (int i = 0; i < members.dim; i++)
--- a/dmd/OutBuffer.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/OutBuffer.d	Mon Oct 26 16:28:19 2009 +0300
@@ -6,7 +6,7 @@
 import core.stdc.stdlib;
 import core.stdc.string;
 
-import dmd.Memory;
+import core.memory;
 
 class OutBuffer
 {
--- a/dmd/Parser.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/Parser.d	Mon Oct 26 16:28:19 2009 +0300
@@ -203,7 +203,7 @@
 import core.stdc.string : memcpy;
 
 import std.contracts;
-import dmd.Memory;
+import core.memory;
 
 class Parser : Lexer
 {
--- a/dmd/PragmaDeclaration.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/PragmaDeclaration.d	Mon Oct 26 16:28:19 2009 +0300
@@ -20,7 +20,7 @@
 import dmd.backend.Util;
 import dmd.backend.Symbol;
 
-import dmd.Memory;
+import core.memory;
 
 class PragmaDeclaration : AttribDeclaration
 {
--- a/dmd/ScopeDsymbol.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/ScopeDsymbol.d	Mon Oct 26 16:28:19 2009 +0300
@@ -16,7 +16,7 @@
 import dmd.expression.Util;
 
 import core.stdc.stdlib;
-import dmd.Memory;
+import core.memory;
 
 class ScopeDsymbol : Dsymbol
 {
--- a/dmd/StringExp.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/StringExp.d	Mon Oct 26 16:28:19 2009 +0300
@@ -27,7 +27,7 @@
 import dmd.backend.TYPE;
 import dmd.backend.OPER;
 
-import dmd.Memory;
+import core.memory;
 
 import core.stdc.string;
 
--- a/dmd/StringTable.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/StringTable.d	Mon Oct 26 16:28:19 2009 +0300
@@ -7,7 +7,7 @@
 import core.stdc.stdlib;
 import core.stdc.string;
 
-import dmd.Memory;
+import core.memory;
 
 class StringTable
 {
@@ -17,7 +17,7 @@
 
     this(uint size = 37)
 	{
-		table = cast(void**)GC.calloc(size, (void*).sizeof);
+		table = cast(void**)GC.calloc(size * (void*).sizeof);
 		memset(table, 0, size * (void*).sizeof);
 		tabledim = size;
 		count = 0;
--- a/dmd/SwitchStatement.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/SwitchStatement.d	Mon Oct 26 16:28:19 2009 +0300
@@ -47,7 +47,7 @@
 import dmd.backend.RTLSYM;
 import dmd.backend.targ_types;
 
-import dmd.Memory;
+import core.memory;
 
 class SwitchStatement : Statement
 {
--- a/dmd/Type.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/Type.d	Mon Oct 26 16:28:19 2009 +0300
@@ -63,7 +63,7 @@
 
 import core.stdc.stdio;
 
-import dmd.Memory;
+import core.memory;
 
 /* These have default values for 32 bit code, they get
  * adjusted for 64 bit code.
--- a/dmd/backend/iasm.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/backend/iasm.d	Mon Oct 26 16:28:19 2009 +0300
@@ -41,7 +41,9 @@
 import std.string : toStringz;
 import std.algorithm : min;
 
-import dmd.Memory;import core.stdc.stdio : printf;
+import core.memory;
+
+import core.stdc.stdio : printf;
 import core.stdc.string : strlen;
 import core.stdc.limits;
 
--- a/dmd/codegen/Util.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/codegen/Util.d	Mon Oct 26 16:28:19 2009 +0300
@@ -55,7 +55,7 @@
 import std.string;
 import core.stdc.string;
 
-import dmd.Memory;
+import core.memory;
 
 /************************************
  * Call a function.
--- a/dmd/expression/Cat.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/expression/Cat.d	Mon Oct 26 16:28:19 2009 +0300
@@ -14,7 +14,7 @@
 import dmd.TypeSArray;
 import dmd.IntegerExp;
 
-import dmd.Memory;
+import core.memory;
 
 import core.stdc.string;
 import core.stdc.stdlib;
--- a/dmd/expression/Slice.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/dmd/expression/Slice.d	Mon Oct 26 16:28:19 2009 +0300
@@ -9,7 +9,7 @@
 import dmd.ArrayLiteralExp;
 import dmd.ArrayTypes;
 
-import dmd.Memory;
+import core.memory;
 
 import core.stdc.stdlib;
 import core.stdc.string;
--- a/main.d	Sun Oct 25 03:23:44 2009 +0300
+++ b/main.d	Mon Oct 26 16:28:19 2009 +0300
@@ -123,8 +123,8 @@
 		_minit();
 	_moduleCtor();
 	
+	GC.disable();
 	CrashHandlerInit();
-	GC.disable();
 
 	result = main(cast(string[])args);