D's New GC and Object Allocation Pools
Maxime Chevalier-Boisvert via Digitalmars-d
digitalmars-d at puremagic.com
Sun Oct 26 07:13:23 PDT 2014
What I'm trying to do is have some specific classes be
pool-allocated though, not completely circumvent the GC.
On Sunday, 26 October 2014 at 08:02:25 UTC, Mike wrote:
> On Sunday, 26 October 2014 at 07:08:21 UTC, Mike wrote:
>
>> I tried this on my Linux desktop, and while everything
>> compiled and linked without errors, it resulted in a
>> segmentation fault at runtime. But where I have failed,
>> others may succeed. I tested with LDC and GDC, but not DMD.
>
> It does work, but for some reason if I replace the printf
> statement below with D's writeln, I get a segmentation fault.
> I don't know why. Anywhere here's a trivial example to
> illustrate the idea.
>
> module main;
>
> import std.stdio;
> import core.stdc.stdio;
>
> extern (C) Object __wrap__d_newclass(const ClassInfo ci)
> {
> printf("You haven't provided any custom allocation yet!\n");
> while(true) {}
> return null;
> }
>
> void main(string[] args)
> {
>
> }
>
> Compile with:
> gdc -Wl,-wrap,_d_newclass main.d
>
> You'll see it output the string before it even reaches main
> because the runtime initialization seems to allocate a few
> things. But, you get the idea. destroy is just a template,
> however, so it will need a different method.
>
> Mike
More information about the Digitalmars-d
mailing list