EAUtils: perform code_escapes
with a global cache by default
#56868
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.
In #56860,
EAUtils.EscapeAnalyzer
was updated to create a new cache for each invocation ofcode_escapes
, similar to how Cthulhu.jl behaves. However,code_escapes
is often used for performance analysis like@benchmark code_escapes(...)
, and in such cases, a large number ofCodeInstance
s can be generated for each invocation. This could potentially impact native code execution.So this commit changes the default behavior so that
code_escapes
uses the same pre-existing cache by default. We can still opt-in to perform a fresh analysis by specifyingcache_token=EAUtils.EscapeAnalyzerCacheToken()
.