On Sunday, 30 September 2018 at 19:03:17 UTC, Per Nordlöw wrote:
How can I link my dmd-compiled program with a specific version of the druntime?

druntime is within libphobos. So you must change this.


I need this when experimenting with a new GC.

Did you try what i proposed earlier ? Until the handlers are plugged there can be a fallback to the manual allocs.

For example you start with the manual implementation and add handlers + fallback for every functions, like here for malloc

```
__gshared void* function(size_t, uint, const TypeInfo) nothrow mallocHandler; void* malloc(size_t size, uint bits, const TypeInfo ti) nothrow
    {
        if (mallocHandler) // experimental stuff
        {
            return mallocHandler(size, bits, ti);
        }
        else // fallback until handler is assigned
        {
            void* p = cstdlib.malloc(size);
            if (size && p is null)
                onOutOfMemoryError();
            return p;
        }
    }
```

this way you can very easily change-compile-test, without recompiling the whole runtime and phobos each time.

Reply via email to