-
Notifications
You must be signed in to change notification settings - Fork 737
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add env vars to experiment with large method heuristic #21024
Conversation
85f6c08
to
e1e86d0
Compare
The two callers of isLargeCompiledMethod appear to be inconsistent with the "size" that gets passed in. In one case, the size is the estimated call graph size, whereas in the other case, the size is just the bytecode size. This commit changes isLargeCompiledMethod such that the thresholds to compare against are refactored out and passed in from the caller side, thus allowing different thresholds to be used from the two callers. New env vars have been introduced to do some experiments with passing in different size thresholds, though in principle, we could also vary the other thresholds being passed in at each caller. Signed-off-by: Vijay Sundaresan <[email protected]>
e1e86d0
to
b3b21aa
Compare
fyi @mpirvu |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I there an advantage having the exemptionFreqCutoff
and veryLargeCompiledMethodFaninThreshold
being passed as parameters rather than being retrieved from the options inside isLargeCompiledMethod
as before?
No advantage as things stand. I was considering leaving those values to be read from inside the routine as you suggest, but pulled them out in case we wanted to change those values at each caller as well in the future. But I can move it back inside the routine if you prefer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
jenkins test sanity all jdk21 |
There is a single failure on AIX, |
The two callers of
isLargeCompiledMethod
appear to be inconsistent with the "size" that gets passed in. In one case, the size is the estimated call graph size, whereas in the other case, the size is just the bytecode size. This commit changesisLargeCompiledMethod
such that the thresholds to compare against are refactored out and passed in from the caller side, thus allowing different thresholds to be used from the two callers. New env vars have been introduced to do some experiments with passing in different size thresholds, though in principle, we could also vary the other thresholds being passed in at each caller.