pub(crate) type SymbolCell = GcHeap<SymbolCellInner>;
Expand description
The allocation of a global symbol. This is shared between threads, so the
interned value of a symbol will be the same location no matter which thread
interned it. Functions are safe to share between threads because they are
marked immutable by
SymbolMap::set_func
and they
can only be replaced atomically. In order to garbage collect the function we
need to halt all running threads. This has not been implemented yet.
Aliased Type§
struct SymbolCell {
header: UnsafeCell<GcHeader>,
data: SymbolCellInner,
}
Fields§
§header: UnsafeCell<GcHeader>
§data: SymbolCellInner