Unwinding Follow-up. Fix a bug in JitUnwindWindows where ... (#1238)

... in case of "Vector" unwind codes the remaining unwind codes could be corrupted.
Nits.
This commit is contained in:
LDj3SNuD 2020-05-15 13:46:35 +02:00 committed by GitHub
parent da3fd3f71b
commit 3b70a28087
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 101 additions and 73 deletions

View file

@ -1,20 +1,18 @@
using ARMeilleure.IntermediateRepresentation;
namespace ARMeilleure.CodeGen.Unwinding
{
struct UnwindPushEntry
{
public int Index { get; }
public UnwindPseudoOp PseudoOp { get; }
public int PrologOffset { get; }
public int RegIndex { get; }
public int StackOffsetOrAllocSize { get; }
public RegisterType Type { get; }
public int StreamEndOffset { 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;
}
}
}