sean [Sat, 25 Oct 2008 00:15:55 +0000 (00:15 +0000)]
* Moved sys into core.sys
* Moved stdc.posix into core.sys.posix
* Moved stdc into core.stdc
* Added initial support for Runtime.loadLibrary() and Runtime.unloadLibrary() in D2. The same functions are exposed in D1, but they are stubbed out for the moment. The basic library loading and unloading should theoretically work, but the GC handle swapping code still needs a look, etc. I left the D1 version stubbed out to make finding GC diffs easier for when I look at the handle swapping code (which is in D2 but not D1). Still not sure about the function naming either... may just switch to load() and unload().
sean [Fri, 17 Oct 2008 03:06:32 +0000 (03:06 +0000)]
Fixed a few build script issues on posix, including a bug in looking for some of the core modules in the wrong place, and a hack to eliminate filename collision with the dmd compiler runtime. This latter issue really needs to be addressed in a better way, but at this point my priority is just to get the build working.
sean [Wed, 15 Oct 2008 21:33:55 +0000 (21:33 +0000)]
* Changed top-level exception class name from 'Exception' to 'Throwable'.
* Created a new class 'Exception' which derives from 'Throwable'.
* Created a new class 'Error' which derives from 'Throwable'.
* Moved core modules from the top level into a package named 'core'.
* Added onHiddenFuncError() routine to pass hidden function error handling from the runtime to core.exception.
* Renamed _d_getErrno to getErrno and moved it to src/common/stdc. The idea is that druntime may eventually generate a lib for the stdc modules, and this definition is necessary. The comparable function will have to be removed from Phobos as well.
* Moved the GC code into a package named 'gc', which is in accordance with the spec defined for druntime library integration (as yet unpublished).
sean [Mon, 13 Oct 2008 19:44:27 +0000 (19:44 +0000)]
Fixed a potential issue with building druntime. src/core will now be a part of the import path. This is necessary if any of the core modules import one another--not the case now, but better safe than sorry.
sean [Tue, 30 Sep 2008 19:50:33 +0000 (19:50 +0000)]
Added "invariant" module to fix link issues because DMD generates references to an extern (D) function it contains. Hopefully, this is only temporary and the routine will be made extern (C), thus allowing the use of "invariant_" instead. The rationale being that it's not a good thing to have modules with the same name as reserved words.
sean [Sat, 20 Sep 2008 02:53:43 +0000 (02:53 +0000)]
The next batch of updates towards D2 support. The lib should be pretty close to compiling with D2 now, and the D2 runtime changes have been reduced to a compact set of pure additions (few/no alterations). Next update will be aimed at finishing the process of getting the lib to build with -w set under D2, which will mean adding "override" where necessary to the compiler runtime as well as figuring out how to deal with the use of 'volatile' in the thread code.