-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
JIT: refactor instrumentation code #47509
JIT: refactor instrumentation code #47509
Conversation
Refactor `fgInstrument` and related methods and classes, so that the strategies for block and class instrumentation are clearly separated out, and can be varied.
@dotnet/jit-contrib PTAL This is essentially a no-diff change, save that the schemas will now interleave count and class probe elements. If that's undesirable I can revise to keep them in separate ranges of the schema. I am sharing some under-utilized fields in BasicBlock to keep track of the block to (base) schema index. This should be the last prerequisite change before I implement the sparse instrumentation scheme described in #46882. Might be a bit tricky to review given all the code that has moved around. |
/azp run runtime-jit-experimental |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-jit-experimental |
Azure Pipelines successfully started running 1 pipeline(s). |
Experimental failures are the "expected" ones in OSR/EhWriteThru (same as in #47476). All the PGO tests passed. |
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
// ClassProbeInstrumentor::SuppressProbes: clean up if we're not instrumenting | ||
// | ||
// Notes: | ||
// Currently we're hijacking the gtCallStubAddre of the call node to hold |
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.
nit: => gtStubCallStubAddre => gtStubCallStubAddr
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.
Thanks. Will fix in the next PR...
Refactor
fgInstrument
and related methods and classes, so that the strategiesfor block and class instrumentation are clearly separated out, and can be
varied.