julia
2cb8e17b - Attribution for "insert_backedges" invalidations (#41913)

Commit
4 years ago
Attribution for "insert_backedges" invalidations (#41913) Invalidations can be immediate (when an existing MethodInstance gets invalidated by a new method definition) or delayed. The latter occurs during deserialization: when a package was built, a particular call dispatches to Method 1, but when loaded (due to different loading orders and dependencies) it should instead dispatch to Method 2. These delayed invalidations are not particularly common, and perhaps because of this SnoopCompile has never supported them well: they have merely been dumped to the console during `invalidation_tree` construction. However, in larger software stacks they seem to become more common, and can dramatically affect precompilation success. This simple PR identifies "causes" for such delayed invalidations, allowing SnoopCompile to determine (in most cases) the particular definition or deletion that triggered the change in dispatch.
Author
Parents
Loading