pub fn last_call_fell_through() -> boolExpand description
Whether this thread’s most recent HotFn call found a jump table installed but no mapping
for its own key, and so ran the function compiled into the calling image.
A purely diagnostic read; dispatch never consults it. The key is the address of call_it as
seen by the image the call is made from, and the table’s keys are the running executable’s
(base image) addresses. So a miss means one of three things:
- Stale code: after a patch that changes a generic call’s type parameters (e.g. a component’s state type), the patched monomorphisation has a new symbol the running binary never calls, so the base caller’s old code keeps running.
- Nothing to patch: a hot function the patch did not recompile has no entry.
- A benign patch-image caller: a call made from patch code (e.g. a patched component’s rebuild
calling a nested component’s hot function) computes the patch image’s own
call_itaddress, which is never a key. A call from the newest patch’s code already runs the newest code; one from an older patch’s code still reachable through its vtables runs that older patch’s version.
This flag records only the outcome. The missed key, with the image it lies in, is recorded
separately (missed_keys); that is what tells these apart.