Allow multiple prolog instruction groups #12302
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
enhancement
Product code improvement that does NOT require public API changes/additions
JitUntriaged
CLR JIT issues needing additional triage
Milestone
The JIT emitter design supports any number of instruction groups (insGroup, or IG) for all items (normal code, funclet prologs and epilogs, normal epilogs), except the main function prolog, which much exist completely within a single IG. This group is the first created IG and is pointed to be
emitPrologIG
. Functions that use this includeemitBegProlog()
,emitMarkPrologEnd()
,emitEndProlog()
,emitIGisInProlog()
, andemitGetPrologOffsetEstimate()
.This limitation is what causes us to use an overly large (or possibly overly large) "static" instruction group buffer size (size designated by
SC_IG_BUFFER_SIZE
), because that size must be big enough for all possible prologs. This size is defined in a way that probably makes no real sense.Eliminating this restriction would make the code more flexible, and free us from the current static size constraint.
category:implementation
theme:prolog-epilog
skill-level:expert
cost:medium
The text was updated successfully, but these errors were encountered: