Skip to content

Conversation

AndyAyersMS
Copy link
Member

Refactor fgInstrument and related methods and classes, so that the strategies
for block and class instrumentation are clearly separated out, and can be
varied.

Refactor `fgInstrument` and related methods and classes, so that the strategies
for block and class instrumentation are clearly separated out, and can be
varied.
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 27, 2021
@AndyAyersMS
Copy link
Member Author

@dotnet/jit-contrib PTAL
cc @davidwrighton

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.

@AndyAyersMS
Copy link
Member Author

/azp run runtime-jit-experimental

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@AndyAyersMS
Copy link
Member Author

/azp run runtime-jit-experimental

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@AndyAyersMS
Copy link
Member Author

Experimental failures are the "expected" ones in OSR/EhWriteThru (same as in #47476). All the PGO tests passed.

Copy link
Contributor

@BruceForstall BruceForstall left a 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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: => gtStubCallStubAddre => gtStubCallStubAddr

Copy link
Member Author

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...

@AndyAyersMS AndyAyersMS merged commit ba6fb5d into dotnet:master Jan 28, 2021
@AndyAyersMS AndyAyersMS deleted the RefactorInstrumentation branch January 28, 2021 02:28
@AndyAyersMS AndyAyersMS mentioned this pull request Jan 28, 2021
54 tasks
@ghost ghost locked as resolved and limited conversation to collaborators Feb 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants