Skip to content
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

Enable inlining P/Invokes into try blocks with no catch or filter clauses #73032

Merged
merged 5 commits into from
Aug 4, 2022

Conversation

jkoritzinsky
Copy link
Member

Contributes to #70109

@jkoritzinsky
Copy link
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky jkoritzinsky requested a review from jkotas July 28, 2022 23:55

if (ExecutionManager::IsReadyToRunCode(((InlinedCallFrame*)pFrame)->m_pCallerReturnAddress))
TADDR returnAddress = ((InlinedCallFrame*)pFrame)->m_pCallerReturnAddress;
#ifdef USE_PER_FRAME_PINVOKE_INIT
Copy link
Member

Choose a reason for hiding this comment

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

Is corinfo.h guaranteed to be included here to pickup this #define?

corinfo.h is JIT/EE interface so it does not need to be included globally.

Copy link
Member

Choose a reason for hiding this comment

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

Is this one of those things we should set in the CMake files?

Copy link
Member Author

Choose a reason for hiding this comment

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

I've explicitly included corinfo.h. Given that this behavior is effectively part of the JIT/EE contract (as one changing behavior will generally require corresponding work in the other to avoid crashes), I think corinfo.h is a good place for it to live.

@jkoritzinsky
Copy link
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jkoritzinsky
Copy link
Member Author

Failures are #73247

This is ready for another round of review

Copy link
Member

@jakobbotsch jakobbotsch left a comment

Choose a reason for hiding this comment

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

JIT changes LGTM, just one small nit.

src/coreclr/jit/importer.cpp Outdated Show resolved Hide resolved
@jkoritzinsky
Copy link
Member Author

Failures are #73247 and the timeouts that we've been seeing.

@jkoritzinsky jkoritzinsky merged commit 4c07f3d into dotnet:main Aug 4, 2022
@jkoritzinsky jkoritzinsky deleted the inline-pinvoke-try-no-catch branch August 4, 2022 18:54
noahfalk added a commit to noahfalk/runtime that referenced this pull request Aug 8, 2022
…lter clauses (dotnet#73032)"

This reverts commit 4c07f3d. We believe it is causing recent CI failures.
See dotnet#73247
noahfalk added a commit that referenced this pull request Aug 8, 2022
…lter clauses (#73032)" (#73551)

This reverts commit 4c07f3d. We believe it is causing recent CI failures.
See #73247
jkoritzinsky added a commit to jkoritzinsky/runtime that referenced this pull request Aug 9, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Sep 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants