Stephen Kell
Stephen Kell
I am leaning towards thinking that we should get rid of caller-side instrumentation altogether. That might work as follows. - only do callee-side instrumentation - insert type info by walking...
Perhaps we should first rename `__current_allocsite` to `__outermost_allocsite` and use it to terminate the stack walk... ... then always choose the innermost (first) classified call site that we find on...
... then, if the performance hit is a problem, replace caller-side wrapping with binary instrumentation of such callers, performed lazily (on the first stack walk that traverses a frame of...
Thanks for this. I think you are right! I can fix a bit later, or feel free to pull-request.
Maybe another way to think of the 'terminal layer' problem is that some allocators are "fixed-format". There may be many layers of fixed-format, but they always reside at the bottom...
Idle thought: is there, or should there be, a link between `mincore()` and our sparseness story on read/write validity?
For `mincore()` and sparse areas, maybe we need to capture the ideas that (1) access might be 'valid' but nevertheless expensive, and (2) a cheaper yet indirect way to read...
The issue of `make_precise()` came up again in the ELF allocator example, because some data types (NUL-term'd strings, x86 instructions, ...) have uncertain length but are self-delimiting. Can/should we make...
I guess the crux of the issue is that a flexible array need not be delimited by its containing allocation. We have been assuming (e.g. in libcrunch) that that's how...
Can we make self-delimitingness an exclusive property of a 'packed sequence' type that is analogous to uniqtyes' `__ARR_`? Then the function could belong to the sequence type, not to the...