-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Open
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone
Description
Class layouts today can be created from either ref classes or value classes. I believe the former capability is only used by object stack allocation, yet everyone pays for additional JIT-EE calls when creating class layouts. We should see if we can/want to replace this by custom layouts created inside object stack allocation instead.
A few things to consider:
- I am not sure if
getHeapClassSizecan be removed or not in favor ofgetClassSize. But we can certainly switch the use to happen inside objectalloc instead. getTypeLayouttoday bails for non value classes. It means we are not making use of padding information during promotion of stack-allocated heap classes.- We should be able to remove
ClassLayout::IsValueClassas well.
Metadata
Metadata
Assignees
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI