Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Address feedback
  • Loading branch information
Aman Khalid committed Jul 28, 2022
commit 9174f71ef12f460c527c8fae4915cf44fa0242fd
6 changes: 3 additions & 3 deletions docs/design/coreclr/jit/hot-cold-splitting.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This document describes the current state of hot/cold splitting in the JIT.

Hot/Cold splitting is a PGO optimization where generated code is split into frequently-executed ("hot") and
Hot/Cold splitting is an optimization where generated code is split into frequently-executed ("hot") and
rarely-executed ("cold") parts and placed in separate memory regions. Increased hot code density better leverages
spatial locality, which can improve application performance via fewer instruction cache misses, less OS paging, and
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
spatial locality, which can improve application performance via fewer instruction cache misses, less OS paging, and
spatial locality, improving application performance via fewer instruction cache misses, less OS paging, and

Copy link
Member

Choose a reason for hiding this comment

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

(you get the idea)

fewer TLB misses.
Expand All @@ -19,8 +19,8 @@ The below sections describe various improvements made to the JIT's hot/cold spli

## Testing the JIT Without Runtime Support

Without runtime support for hot/cold splitting in .NET Core yet, testing the JIT's existing hot/cold splitting support
is not as simple as turning the feature on. A new "fake" splitting mode, enabled by the
Without runtime support for hot/cold splitting in .NET as of summer 2022, testing the JIT's existing hot/cold splitting
support is not as simple as turning the feature on. A new "fake" splitting mode, enabled by the
`COMPlus_JitFakeProcedureSplitting` environment variable, removes this dependency on runtime support. This mode allows
the JIT to execute its hot/cold splitting workflow without changing the runtime's behavior. This workflow proceeds as
follows:
Expand Down