From 3b70a28087a52f18c376a5cdf35fd6c910e064e8 Mon Sep 17 00:00:00 2001 From: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com> Date: Fri, 15 May 2020 13:46:35 +0200 Subject: Unwinding Follow-up. Fix a bug in JitUnwindWindows where ... (#1238) ... in case of "Vector" unwind codes the remaining unwind codes could be corrupted. Nits. --- ARMeilleure/CodeGen/Unwinding/UnwindPushEntry.cs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'ARMeilleure/CodeGen/Unwinding/UnwindPushEntry.cs') diff --git a/ARMeilleure/CodeGen/Unwinding/UnwindPushEntry.cs b/ARMeilleure/CodeGen/Unwinding/UnwindPushEntry.cs index 6597e2b4..021479a4 100644 --- a/ARMeilleure/CodeGen/Unwinding/UnwindPushEntry.cs +++ b/ARMeilleure/CodeGen/Unwinding/UnwindPushEntry.cs @@ -1,20 +1,18 @@ -using ARMeilleure.IntermediateRepresentation; - namespace ARMeilleure.CodeGen.Unwinding { struct UnwindPushEntry { - public int Index { get; } - - public RegisterType Type { get; } - - public int StreamEndOffset { get; } + public UnwindPseudoOp PseudoOp { get; } + public int PrologOffset { get; } + public int RegIndex { get; } + public int StackOffsetOrAllocSize { get; } - public UnwindPushEntry(int index, RegisterType type, int streamEndOffset) + public UnwindPushEntry(UnwindPseudoOp pseudoOp, int prologOffset, int regIndex = -1, int stackOffsetOrAllocSize = -1) { - Index = index; - Type = type; - StreamEndOffset = streamEndOffset; + PseudoOp = pseudoOp; + PrologOffset = prologOffset; + RegIndex = regIndex; + StackOffsetOrAllocSize = stackOffsetOrAllocSize; } } } \ No newline at end of file -- cgit v1.2.3