Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 64b4c9a

Browse files
committed
Make unwindinfo and gcinfo xml serializable
1 parent b81856b commit 64b4c9a

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

src/tools/r2rdump/GCInfo.cs

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,11 @@ public InterruptibleRange(uint start, uint stop)
4545
public class GcTransition
4646
{
4747
public int CodeOffset { get; set; }
48-
public int SlotId { get; }
49-
public bool IsLive { get; }
50-
public int ChunkId { get; }
48+
public int SlotId { get; set; }
49+
public bool IsLive { get; set; }
50+
public int ChunkId { get; set; }
51+
52+
public GcTransition() { }
5153

5254
public GcTransition(int codeOffset, int slotId, bool isLive, int chunkId)
5355
{
@@ -104,27 +106,29 @@ public string GetSlotState(GcSlotTable slotTable)
104106
private Machine _machine;
105107
private GcInfoTypes _gcInfoTypes;
106108

107-
public int Version { get; }
108-
public int CodeLength { get; }
109-
public ReturnKinds ReturnKind { get; }
110-
public uint ValidRangeStart { get; }
111-
public uint ValidRangeEnd { get; }
112-
public int SecurityObjectStackSlot { get; }
113-
public int GSCookieStackSlot { get; }
114-
public int PSPSymStackSlot { get; }
115-
public int GenericsInstContextStackSlot { get; }
116-
public uint StackBaseRegister { get; }
117-
public uint SizeOfEditAndContinuePreservedArea { get; }
118-
public int ReversePInvokeFrameStackSlot { get; }
119-
public uint SizeOfStackOutgoingAndScratchArea { get; }
120-
public uint NumSafePoints { get; }
121-
public uint NumInterruptibleRanges { get; }
122-
public IEnumerable<uint> SafePointOffsets { get; }
123-
public IEnumerable<InterruptibleRange> InterruptibleRanges { get; }
124-
public GcSlotTable SlotTable { get; }
125-
public int Size { get; }
126-
public int Offset { get; }
127-
public Dictionary<int, GcTransition> Transitions { get; }
109+
public int Version { get; set; }
110+
public int CodeLength { get; set; }
111+
public ReturnKinds ReturnKind { get; set; }
112+
public uint ValidRangeStart { get; set; }
113+
public uint ValidRangeEnd { get; set; }
114+
public int SecurityObjectStackSlot { get; set; }
115+
public int GSCookieStackSlot { get; set; }
116+
public int PSPSymStackSlot { get; set; }
117+
public int GenericsInstContextStackSlot { get; set; }
118+
public uint StackBaseRegister { get; set; }
119+
public uint SizeOfEditAndContinuePreservedArea { get; set; }
120+
public int ReversePInvokeFrameStackSlot { get; set; }
121+
public uint SizeOfStackOutgoingAndScratchArea { get; set; }
122+
public uint NumSafePoints { get; set; }
123+
public uint NumInterruptibleRanges { get; set; }
124+
public List<uint> SafePointOffsets { get; set; }
125+
public List<InterruptibleRange> InterruptibleRanges { get; set; }
126+
public GcSlotTable SlotTable { get; set; }
127+
public int Size { get; set; }
128+
public int Offset { get; set; }
129+
public Dictionary<int, GcTransition> Transitions { get; set; }
130+
131+
public GcInfo() { }
128132

129133
public GcInfo(byte[] image, int offset, Machine machine, ushort majorVersion)
130134
{

0 commit comments

Comments
 (0)