FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Ares updates
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
 
Post new topic   Reply to topic     Forum Index -> Ares
View previous topic :: View next topic  
Author Message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Fri May 27, 2005 4:26 pm    Post subject: Reply with quote

ares.zip is now in the downloads area of the SVN tree. I've tried adding it to the downloads link as well, but no luck so far. But as I appear to have gone over the bandwidth limit on my website for the day, you'll have to grab the lib from here.

Last edited by sean on Fri May 27, 2005 4:43 pm; edited 1 time in total
Back to top
View user's profile Send private message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Fri May 27, 2005 4:38 pm    Post subject: Reply with quote

Over here: http://svn.dsource.org/projects/ares/downloads/
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Sat May 28, 2005 11:09 am    Post subject: Reply with quote

I made a few final changes for Mango compatibility, most notably adding intrinsic to std. The Windows side is pretty solid now, though non-Windows builds still require some posix definitions before everything will work.
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Thu Jun 09, 2005 1:15 pm    Post subject: Reply with quote

New version is online. This one incorporates DMD .126 changes. Also, I lost some updates I'd made from the 05/18 release involving new Posix code in std.thread. If for some reason someone has old releases laying around and the Posix function headers are commented out in std.thread, I'd appreciate a copy of that file Smile Otherwise, I'm reimplementing the changes and will have an update online in a few days.

The project page now has a link to the Ares zipfile. I will update the version on my website as well, but dsource should now be the primary download location.
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Fri Jun 17, 2005 1:08 pm    Post subject: Reply with quote

New release up. There weren't a ton of changes for this version.

* There were no code changes required for DMD .127, but the lib was recompiled.
* I've made some bugfixes to std.thread. These are for circumstances that I expect no one has ever encountered.
* I'm re-implementing the Posix std.thread code, as my old implementation was lost.
* There is a new module called std.atomic. This module isn't yet included in the build, and is still in development, but it should work just fine on single-CPU systems (the synch. mechanisms aren't yet implemented for SMP, and that portion of the code needs to be fleshed out).
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Tue Jul 19, 2005 12:05 pm    Post subject: Reply with quote

New release up. This version just merges in the (minimal) DMD .128 changes. I've been pretty busy recently, but hope to be spending a bit more time on Ares before too terribly long.
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Tue Aug 02, 2005 11:02 am    Post subject: Reply with quote

New release up. This version adds std.atomic as a fully usable module (though unsigned atomic values still have compiler issues). std.atomic is included in the build process, and should work for both debug and release builds.
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Tue Aug 02, 2005 6:26 pm    Post subject: Reply with quote

Yet another release online:

* std.atomic - Finalized design and added to the build
* std.atomic - Fixed a bug where code setting the membar template parameter was backwards
* std.atomic - Added temporary code to support atomic pointer types (32-bit only--this is temporary after all)
* std.atomic - Added public atomicLoad, atomicStore, and atomicStoreIf functions. These are inteded to provide some means to perform atomic operations on values outsie the Atomic struct. if template function overloading ends up being supported, these may be replaced with statics within Atomic

Next I'll likely focus on finalizing std.thread.
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Fri Aug 12, 2005 10:26 am    Post subject: Reply with quote

This update may well break a lot of code. I've added a new branch to the Ares source tree: sys. std.c.windows and std.c.linux have been moved to sys.c.*. This was suggested on the D general forum and it seemed a good idea. The contents of these files remains unchanged for the moment however, but expect anything Posix-related to eventually disappear from sys.c.linux. Also, I've cleaned up a few version blocks and am implementing the Posix headers for Interix (Microsoft's Unix implementation). Hopefully, someone with a Linux install will help out with the Linux stuff. The only other changes of note are a small code change in std.thread that was more for self-documentation purposes than anything, and I moved a bunch of signal definitions to std.c.posix.signal (a new file).
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Thu Aug 18, 2005 2:51 pm    Post subject: Reply with quote

New update online:

* Merged in DMD .129 changes
* Fixed names for moved windows/linux modules (from std to sys prefix)
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Mon Aug 22, 2005 4:25 pm    Post subject: Reply with quote

Fixed an error where the moved OS modules weren't being linked
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Sat Sep 03, 2005 1:27 pm    Post subject: Reply with quote

I've checked in some minor tweaks to std atomic (though I haven't rebuilt the .lib file). atomicStore!(msync.none) is now implemented correctly for SMP, and membars for atomicStore have been eliminated in some instances where they appear to be unnecessary (that being msync.rel, msync.ssb, msync.slb). Improved POSIX code is still in progress as I've been a bit overworked recently.
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Sat Sep 10, 2005 9:28 am    Post subject: Reply with quote

Updates the lib with these changes:

* Merged in DMD .131 changes (nothing but a rebuild)
* Added a Posix version of Thread.sleep (untested)
* Fleshed out Posix headers

Without a Linux install to develop against, the Posix stuff is a bit of a pain to develop, so I'm going to consider that done for now and focus on new features (though I plan to remove the few Interix-specific bits of Posix soon as Microsoft is discontinuing it). I want to finish an examination of the interaction between the GC and the Thread class, potentially add some facility to allow sharing stack information between GCs when dynamic libraries are loaded, and finish up the system-level exceptions. And I guess we'll see what comes up after that.
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Wed Sep 14, 2005 11:25 am    Post subject: Reply with quote

Just a quick note regarding what I'm currently working on. I've noticed some bugs in the thread module (specific to GC) and will be fixing them in the next release. Some are in the Windows code and some are in the Posix code, so I will be fixing both. I am also going to (at least) change the following thread functions:

* stackHead - Renamed to stackTop. The function will now always return the logical top of the stack regardless of whether the stack grows up or down.
* stackTail - Renamed to stackBottom. The function will now always return the logical bottom of the stack regardless of whether the stack grows up or down.

I haven't decided how to handle the register functions, but they will be renamed and have their behavior altered as well. Also, I am planning to make the register properties return valid pointers regardless of whether D is running on a Windows or a Posix system, so the stack properties will refer only to stack values and the register properties only to register values. This should offer some minimal use for debugging purposes beyond their GC application.

I am also planning to alter the thread module to support GC across dynamic libraries. The implementation for the current mark/scan GC should be quite simple, though I don't know enough about garbage collectors to generalize a method that will support lock-free GC as well. Either way, the additions will be available for any dynamic loading process to use.
Back to top
View user's profile Send private message
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Fri Sep 16, 2005 11:52 am    Post subject: Reply with quote

Version 0.1 is online with these changes:

* Renamed Thread.stackHead to Thread.stackTop. Thread.stackTop returns a pointer to the logical top of the execution stack, and on some systems its address may evaluate to less than the stack bottom (x86, for example).
* Renamed Thread.stackTail to Thread.stackBottom. Thread.stackBottom returns a pointer to the logical bottom of the execution stack, and on some systems its address may evaluate to greater than the stack top (x86, for example).
* Renamed Thread.regHead to Thread.regFirst. Thread.regFirst returns a pointer to the beginning of a list of register entries. Entry order (and population) will be such that a PUSHA plus a memcpy can populate the list directly on x86 systems.
* Renamed Thread.regTail to Thread.regLast. Thread.regLast returns a pointer to the last valid element of a list of register entries in the order specified above.
* Added some Posix code in the Thread module to support the aforementioned changes. As with all non-Windows code, these changes are untested.
* Altered the GC support code in the Thread module to use the new conventions. This should also eliminate a bug where pointers to defunct stack data were being used in some cases. Upon review of the GC code, it appears that mark is inteded to operate on the range [pbot..ptop). This is consistent with standard coding practice, but it also implies that the address referenced by ptop will never be used by the GC. In any case, the Thread code has been written such that the entire stack and set of registers will be scanned even though the Thread functions expose an inclusive range.
* Moved reference to onOutOfMemory from dmdrt to dmdgc (where it belongs).

Please note that the filename has changed to correspond to the version number.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Ares All times are GMT - 6 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Page 4 of 9

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group