You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In examples/ for some time now I've had a part-done demo allocator that understands memory-mapped ELF files, as an example of a memory-mappable file format.
This has a few interesting components.
abstractions for positions in the allocation tree, and paths through the allocation tree, i.e. conveying strictly more information than a void*
a generalised notion of pointers, e.g. capturing how ELF offsets are an encoding of "pointers" to other parts of the file
a notion of "interpreter" used to give sense to these generalised pointers: they are "names" that need interpreting
a generic traversal routine of the allocation tree or subtrees of it
a generic printer of an allocation subtree, aspiring to print editable assembly source code that, when assembled, reproduces the subtree's memory contents byte-for-byte (but encoding "names" or "pointers" or "references" using assembly references)
a slightly less generic printer which tries to print each part of the subtree in the most appropriate assembly notation -- e.g. if the data being printed represents instructions in the assembler's native instruction set, it should be printed as instruction syntax
This is mostly a "me thing" for the time being, but I may dump thoughts here.
The text was updated successfully, but these errors were encountered:
If I recall, the place where I paused the ELFy work was one where I needed to implement pointer inversion, i.e. a pre-pass to collect pointer targets, such that I could later ask "what points here?". There was a question of whether bigalloc-level support for this is useful (link to #51 also).
In
examples/
for some time now I've had a part-done demo allocator that understands memory-mapped ELF files, as an example of a memory-mappable file format.This has a few interesting components.
void*
This is mostly a "me thing" for the time being, but I may dump thoughts here.
The text was updated successfully, but these errors were encountered: