Skip to content

FOH (Frozen Object Heap) work items #76151

Closed
@EgorBo

Description

@EgorBo

A tracking issue for FOH-related tasks (Frozen Object Heap). It's a special heap for immortal objects such as string literals, Type objects, etc (see the list below). Conceptually similar to POH but it doesn't have a public API thus it never contains short-living objects + there are some relaxations in GC for FOH. It provides two advantages:

  1. Makes GC's life easier by moving immortal objects out of normal heap
  2. For some objects VM no longer needs to allocate pinned handles
  3. JIT can "bake" direct references to FOH objects in codegen, see example.
  4. Unlocks some JIT optimizations like folding field accesses for immutable objects, fold objects comparisons, etc.

.NET 8.0

Suggestions are very welcome!

category:planning
theme:memory-usage
skill-level:expert
cost:medium
impact:medium

Metadata

Metadata

Assignees

Labels

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

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions