Skip to content

Conversation

@jakobbotsch
Copy link
Member

  • Introduce a debug-only GenTreeCall::gtCallDebugFlags field that contains flags we only need in debug
  • Move GTF_CALL_M_STRESS_TAILCALL, GTF_CALL_M_DEVIRTUALIZED, GTF_CALL_M_UNBOXED, GTF_CALL_M_GUARDED into the new debug-only flags
  • Delete GTF_CALL_M_R2R_REL_INDIRECT; we can get that information from gtEntryPoint
  • Delete GTF_CALL_M_EXP_TLS_ACCESS; we can get this by just checking the helper num
  • Gather all the tailcall flags in the same area of flags
  • Delete INLINE_DATA define; it no longer compiles, and it would need extra work to with the new flags, which seemed unnecessary since it isn't being used
  • Make tail call stress more clearly "debug-only"

Overall this frees up 6 bits in GenTreeCallFlags.

No diffs are expected.

This does not compile anymore, and keeping it requires additional
handling for the new call debug flags which seems unnecessary if it is
not being used anymore.
@ghost ghost assigned jakobbotsch Oct 22, 2023
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Oct 22, 2023
@ghost
Copy link

ghost commented Oct 22, 2023

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details
  • Introduce a debug-only GenTreeCall::gtCallDebugFlags field that contains flags we only need in debug
  • Move GTF_CALL_M_STRESS_TAILCALL, GTF_CALL_M_DEVIRTUALIZED, GTF_CALL_M_UNBOXED, GTF_CALL_M_GUARDED into the new debug-only flags
  • Delete GTF_CALL_M_R2R_REL_INDIRECT; we can get that information from gtEntryPoint
  • Delete GTF_CALL_M_EXP_TLS_ACCESS; we can get this by just checking the helper num
  • Gather all the tailcall flags in the same area of flags
  • Delete INLINE_DATA define; it no longer compiles, and it would need extra work to with the new flags, which seemed unnecessary since it isn't being used
  • Make tail call stress more clearly "debug-only"

Overall this frees up 6 bits in GenTreeCallFlags.

No diffs are expected.

Author: jakobbotsch
Assignees: jakobbotsch
Labels:

area-CodeGen-coreclr

Milestone: -

@jakobbotsch
Copy link
Member Author

/azp run runtime-coreclr jitstress, runtime-coreclr libraries-jitstress

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@jakobbotsch
Copy link
Member Author

Failures are known. No diffs except for some TP ones.

cc @dotnet/jit-contrib PTAL @AndyAyersMS

@jakobbotsch jakobbotsch marked this pull request as ready for review October 23, 2023 16:20
, m_Policy(nullptr)
, m_TreeID(0)
#endif // defined(DEBUG) || defined(INLINE_DATA)
#endif // defined(DEBUG)
Copy link
Member

Choose a reason for hiding this comment

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

Fuse this with the bit just below?

@jakobbotsch jakobbotsch merged commit 7b68665 into dotnet:main Oct 24, 2023
@jakobbotsch jakobbotsch deleted the remove-call-flags branch October 24, 2023 07:54
@ghost ghost locked as resolved and limited conversation to collaborators Nov 23, 2023
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