[GR-59009] [GR-59571] Improve trackAcrossLayers #10325
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
trackAcrossLayerwas equivalent toreachable, which is not enough to represent allAnalysisElementthat need to be persisted.Those missing elements were previously persisted by calls in
ImageLayerSnapshotBuiltInimplementations. Those calls are now replaced byonTrackedAcrossLayer.Other missing elements were being persisted by using recursive persist calls when persisting
AnalysisElements, but those are now marked astrackedAcrossLayer.Improving
trackAcrossLayerhad the side effect of registrating the dispatch table of unreachable types in the base layer. The issue is that the table is not properly installed in the base layer, so if the type becomes reachable in the application, assertion fails as we try to install it in the application, but it was supposed to be already installed.To avoid this issue, there is now a new
COMPUTED_PRIOR_LAYERthat allows to reuse the dispatch table information from the previous layer while still being able to install in the next layer.