Thread overview
Does anyone use a custom GC?
Jun 24
cc
June 21

As you may be aware, I'm working with Amaury (deadalnix) on creating a new GC for D (see our talks at the upcoming dconf).

In doing so, we have found that the abstractions in druntime don't cover the functionality we want to change. And so I am working on some very disruptive changes to the GC interface.

This will mean that anyone who is currently using a custom GC will have their code broken, and in general, they will have to implement some new features.

Before I start trying to push for these changes, I want to know who realistically uses custom GCs that are not already in druntime?

Please contact me on discord, or via email at schveiguy@gmail.com if you fall into this category. I'm both interested in what your custom GC does (if you are able to discuss), and want to make sure you can accommodate the changes I'm making.

-Steve

June 21

On Friday, 21 June 2024 at 02:59:43 UTC, Steven Schveighoffer wrote:

>

This will mean that anyone who is currently using a custom GC will have their code broken, and in general, they will have to implement some new features.

https://github.com/Geod24/tracyd

As you can see this just adds Tracy integration to the GC to be able to profile applications. It's using a slightly modified copy of the default upstream GC. I don't mind the code being broken (it happened a few times already), but I wanted to point out the use case.

Otherwise I'd recommend reaching out to Johan to see if Weka is affected. When we changed the internals of DRuntime in the past they raised some use cases they had.

June 21

On Friday, 21 June 2024 at 02:59:43 UTC, Steven Schveighoffer wrote:

>

As you may be aware, I'm working with Amaury (deadalnix) on creating a new GC for D (see our talks at the upcoming dconf).

In doing so, we have found that the abstractions in druntime don't cover the functionality we want to change. And so I am working on some very disruptive changes to the GC interface.

I’m also writing a GC, and don’t mind changing the GC interface.


Dmitry Olshansky
CEO @ Glow labs
https://olshansky.me/about/

June 21
On Fri, Jun 21, 2024 at 02:59:43AM +0000, Steven Schveighoffer via Digitalmars-d wrote:
> As you may be aware, I'm working with Amaury (deadalnix) on creating a
> new GC for D (see our talks at the upcoming
> [dconf](https://dconf.org)).
> 
> In doing so, we have found that the abstractions in druntime don't cover the functionality we want to change. And so I am working on some very disruptive changes to the GC interface.
> 
> This will mean that anyone who is currently using a custom GC will have their code broken, and in general, they will have to implement some new features.
[...]

I haven't started working on it yet, but I do plan to write a bare-minimum GC for WASM targets at some point in time.  I would welcome any API changes that would make this process simpler. ;-)


T

-- 
Three out of two people have difficulties with fractions. -- Dirk Eddelbuettel
June 24

On Friday, 21 June 2024 at 02:59:43 UTC, Steven Schveighoffer wrote:

>

This will mean that anyone who is currently using a custom GC will have their code broken, and in general, they will have to implement some new features.

Before I start trying to push for these changes, I want to know who realistically uses custom GCs that are not already in druntime?

Short answer no, but I occasionally temporarily cram in additional convenience code to aid pinpointing or monitoring certain behaviors during debugging. Anything that improves future potential to customize or swap GC modules sounds great to me.