System level language, GC, allocation and typeinfo

MachMit via Digitalmars-d digitalmars-d at puremagic.com
Tue May 27 12:43:58 PDT 2014


On Tuesday, 27 May 2014 at 18:19:14 UTC, Andrei Alexandrescu 
wrote:
> On 5/27/14, 7:59 AM, MachMit wrote:
>> On Tuesday, 27 May 2014 at 13:06:10 UTC, Ola Fosheim Grøstad 
>> wrote:
>>> ...However, I cannot really come up with a single situation 
>>> where I
>>> don't know what kind of allocator I have used when accessing a
>>> pointer....
>>
>> Heap allocation in D is up to the user. Can you imagine 
>> something like
>> http://sourceforge.net/projects/fastmm/ in D ? It's a (sorry 
>> for being
>> an arsh) fuckin good memory manager...It's for user or RT 
>> allocations,
>> it detects leaks, etc...It should be a source of inspiration 
>> for the
>> top-notch D guys...
>
> Is there a white paper available for FastMM? Couldn't find any. 
> -- Andrei

The source file is documented IIRC. It could be a source of 
inspiration for the allocators (There is something about that in 
D you've introduced a few monthes ago, I think...), or maybe a 
branch/sub-set, GC-free, version of D arrays and classes.

But it was mainly written for the previous-decade delphi.(D7 to 
D2009), the point is it contains some optimized version of memcpy 
and memmove (inline asm partially comming from the fastcode 
project(http://fastcode.sourceforge.net/ for the x86 arch. at 
least...) But At this time the memory model was the same as D 
except that you (the programmer) were the GC...Otherwise the 
compilo was inserting some automatic cleanup code for locally 
allocated data(even when standing in the heap...)...

However something like this would be better than some user call 
to malloc/realloc...(because it internally handles the hardware 
spec...i.e
when copying: the page size, vector operations).


More information about the Digitalmars-d mailing list