Skip to content

Commit 7cd0589

Browse files
committed
Add TODO comments
1 parent feda13a commit 7cd0589

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/coreclr/vm/gcinfodecoder.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1264,6 +1264,8 @@ template <typename GcInfoEncoding> void GcSlotDecoder<GcInfoEncoding>::DecodeSlo
12641264
{
12651265
// We have untracked stack slots left and more room to predecode
12661266

1267+
// Interpreter-TODO: Add a configurable way to skip encoding/decoding the base for the interpreter, because
1268+
// all interpreter locals are at positive offsets relative to FP.
12671269
GcStackSlotBase spBase = (GcStackSlotBase) reader.Read(2);
12681270
UINT32 normSpOffset = (INT32) reader.DecodeVarLengthSigned(GcInfoEncoding::STACK_SLOT_ENCBASE);
12691271
INT32 spOffset = GcInfoEncoding::DENORMALIZE_STACK_SLOT(normSpOffset);
@@ -2202,6 +2204,8 @@ template <> OBJECTREF* TGcInfoDecoder<InterpreterGcInfoEncoding>::GetStackSlot(
22022204
}
22032205
else
22042206
{
2207+
// Interpreter-TODO: Enhance GcInfoEncoder/Decoder to allow omitting the stack slot base register for interpreted
2208+
// methods, since only one base (fp) is ever used for interpreter locals. See Interpreter-TODO in DecodeSlotTable.
22052209
_ASSERTE( GC_FRAMEREG_REL == spBase );
22062210
uint8_t* fp = (uint8_t *)GetFP(pRD->pCurrentContext);
22072211
_ASSERTE(fp);

0 commit comments

Comments
 (0)