Investigate adding common infrastructure for handling tagged pointers
Categories
(Core :: JavaScript: GC, task, P3)
Tracking
()
People
(Reporter: jonco, Unassigned)
References
(Blocks 1 open bug)
Details
Currently there are at least the following tagged pointer types which use the low bits of the pointer to store some extra information: jsid, GCCellPtr, CalleeToken, TaggedProto, wasm::AnyRef
We could perhaps common up the infrastructure for implementing these and make it easier to add new kinds of tagged pointer in the future. For example, we might add a base class and make our tracing and barrier code handle subtypes automatically.
Possibly the concrete tagged pointer type would have to provide a way to tell the GC the kind of pointer contained, or possibly these are rare enough that we could get away with working it out in other ways.
Updated•11 months ago
|
Comment 1•10 months ago
|
||
I wrote up a case study for one case where I couldn't figure out how to make the current machinery work cleanly for bug 1868857. I'll put up WIP patches there.
Description
•