From 0d5d0b40c4ecb3f7f4fcdc83a5a51a2ee65dfc89 Mon Sep 17 00:00:00 2001 From: Michelle McDaniel Date: Thu, 11 May 2017 12:28:28 -0700 Subject: [PATCH] Handle ADC in x86 unwindLazyState (#11527) When we add PGO instrumentation to coreclr, the instrumentation injects PUSH, MOV, ADD, ADC, POP into the prolog to mark the function entry. This causes a crash because we do not currently handle ADC instructions in unwindLazyState. This change adds support for ADC, which uses the normal DecodeRM code we already have in place. --- src/vm/i386/gmsx86.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/vm/i386/gmsx86.cpp b/src/vm/i386/gmsx86.cpp index 2852b92..64ac4a3 100644 --- a/src/vm/i386/gmsx86.cpp +++ b/src/vm/i386/gmsx86.cpp @@ -894,6 +894,8 @@ void LazyMachState::unwindLazyState(LazyMachState* baseState, case 0x01: // ADD mod/rm case 0x03: + case 0x11: // ADC mod/rm + case 0x13: case 0x29: // SUB mod/rm case 0x2B: datasize = 0; -- 2.7.4