Skip to content
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
38263bf
JIT: Report managed-return-values as a native var
jakobbotsch May 22, 2026
65e2356
Bump JIT-EE GUID
jakobbotsch May 22, 2026
2fcf4c1
Fix theoretical issue
jakobbotsch May 22, 2026
72afb1a
Merge branch 'main' of github.com:dotnet/runtime into mrv-return-vars
jakobbotsch Jun 2, 2026
66a87fe
Add a blurb about version 22
jakobbotsch Jun 2, 2026
556e026
Bump R2R version
jakobbotsch Jun 2, 2026
bc05e7b
Fix R2R reading for version 20 and 22
jakobbotsch Jun 2, 2026
33b9b8f
Fix build
jakobbotsch Jun 2, 2026
1a96758
Update debugger
jakobbotsch Jun 2, 2026
1fde692
Feedback
jakobbotsch Jun 2, 2026
92d77ae
Run jit-format
jakobbotsch Jun 2, 2026
00078d1
Fix GCC build
jakobbotsch Jun 2, 2026
9e59caa
Fix for NativeAOT
jakobbotsch Jun 2, 2026
aa1fc0b
Copilot nits about whitespace
jakobbotsch Jun 2, 2026
184a95b
Run jit-format
jakobbotsch Jun 2, 2026
8c3655e
Remove a leftover JITDUMP
jakobbotsch Jun 2, 2026
fd2a4e2
Merge branch 'main' of github.com:dotnet/runtime into mrv-return-vars
jakobbotsch Jun 3, 2026
f02ddf0
Feedback
jakobbotsch Jun 3, 2026
4556bbd
Feedback
jakobbotsch Jun 3, 2026
3cc35aa
Fix GCC build
jakobbotsch Jun 3, 2026
02f32e5
Remove dead code
jakobbotsch Jun 4, 2026
3da5d6c
add debugger support
rcj1 Jun 2, 2026
7479835
name
rcj1 Jun 5, 2026
e79d7b8
Merge branch 'main' into mrv-return-vars
jakobbotsch Jun 8, 2026
db70c33
Copilot feedback
jakobbotsch Jun 8, 2026
670c950
Merge branch 'main' into mrv-return-vars
jakobbotsch Jun 10, 2026
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
12 changes: 8 additions & 4 deletions docs/design/datacontracts/DebugInfo.md
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,7 @@ public readonly struct DebugVarInfo
public int StackOffset { get; init; }
public uint BaseRegister2 { get; init; }
public int StackOffset2 { get; init; }
public uint CallReturnValueILOffset { get; init; }
}

// Given a code pointer, return the variable location info for the method.
Expand All @@ -352,7 +353,8 @@ IEnumerable<DebugVarInfo> GetMethodVarInfo(TargetCodePointer pCode, out uint cod
Additional constants (Version 2):
| Constant Name | Meaning | Value |
| --- | --- | --- |
| `MAX_ILNUM` | Bias for adjusted encoding of variable numbers | `0xfffffffc` (-4) |
| `MAX_ILNUM` | Bias for adjusted encoding of variable numbers | `0xfffffffa` (-6) |
| `CALL_RETURN_ILNUM` | Special variable number identifying a call-return-value entry | `0xfffffffb` (-5) |
| `VLT_REG` | Variable is in a register | `0` |
| `VLT_REG_BYREF` | Address of the variable is in a register | `1` |
| `VLT_REG_FP` | Variable is in an FP register | `2` |
Expand All @@ -371,9 +373,11 @@ Additional constants (Version 2):

Each variable entry in the Vars section is nibble-encoded as follows:

1. `startOffset` — encoded unsigned 32-bit integer
2. `endOffset` — encoded as delta from `startOffset` (unsigned)
3. `varNumber` — encoded as adjusted unsigned (`value - MAX_ILNUM`)
1. `varNumber` — encoded as adjusted unsigned (`value - MAX_ILNUM`)
2. `startOffset` — encoded unsigned 32-bit integer
3. The next field depends on `varNumber`:
- If `varNumber == CALL_RETURN_ILNUM`: `callReturnValueILOffset` — encoded unsigned 32-bit integer (IL offset of the call site whose return value this entry describes). `endOffset` is implicit and equals `startOffset + 1`.
- Otherwise: `endOffset` — encoded as delta from `startOffset` (unsigned). `callReturnValueILOffset` is implicit and equals `0`.
4. `VarLocType` — encoded unsigned 32-bit integer
5. Location fields depend on the `VarLocType`:

Expand Down
Loading
Loading