core.gc.registry
Contains a registry for GC factories.
- License:
- Boost License 1.0.
- Authors:
- Martin Nowak
- alias GCFactory = GC function();
-
A factory function that instantiates an implementation of the GC interface. In case the instance was allocated on the C heap, it is supposed to free itself upon calling it's destructor.
The factory should print an error and abort the program if it cannot successfully initialize the GC instance.
- nothrow @nogc void registerGCFactory(string name, GCFactory factory);
-
Register a GC factory under the given
name
. This function must be called from a C constructor before druntime is initialized.To use the registered GC, it's name must be specified gcopt runtime option, e.g. by passing , --DRT-gcopt=gc:my_gc_name as application argument.
- Parameters:
string name
name of the GC implementation; should be unique GCFactory factory
function to instantiate the implementation
- Note
- The registry does not perform synchronization, as registration is assumed to be executed serially, as is the case for C constructors.
- See Also:
- Configuring the Garbage Collector
- GC createGCInstance(string name);
-
Called during runtime initialization to initialize a GC instance of given
name
.- Parameters:
string name
name of the GC to instantiate
- Returns:
- The created GC instance or
null
if no factory for that name was registered
© 1999–2021 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/core_gc_registry.html