Safety, undefined behavior, @safe, @trusted
dsimcha
dsimcha at yahoo.com
Thu Nov 5 13:54:05 PST 2009
== Quote from Andrei Alexandrescu (SeeWebsiteForEmail at erdani.org)'s article
> Steven Schveighoffer wrote:
> > On Thu, 05 Nov 2009 16:30:42 -0500, Andrei Alexandrescu
> > <SeeWebsiteForEmail at erdani.org> wrote:
> >
> >>> Most of the usages are like this:
> >>> ubyte[1024] buffer;
> >>> functionThatNeedsBufferSpace(buffer);
> >>> where functionThatNeedsBufferSpace takes a ubyte[], thereby taking
> >>> an address of the local data.
> >>> So it's not explicit address taking, but it's the same thing under
> >>> the hood. There always exists the potential for the stack reference
> >>> to escape.
> >>
> >> I see, thank you. I am confident that a trusted reap could be
> >> implemented in the standard library. (google reap)
> >
> > I did. Couldn't find anything.
> Damn acronyms, sorry. Better results: reap memory allocation
> ftp://ftp.cs.utexas.edu/pub/emery/papers/reconsidering-custom.pdf
> Andrei
Ok, I understand the basic principle of a reap, but if it's going to convert to a
heap when you try to delete something, why not just improve the standard GC heap,
i.e. by making per-thread heaps? If you're not going to delete stuff, why not
just use a regular old region or stack (not necessarily the call stack, but a
stack of some kind)?
More information about the Digitalmars-d
mailing list