Add more opcodes to x86 stack unwinder (#5491)
authorJohn Chen <jochen@microsoft.com>
Sat, 4 Jun 2016 05:01:13 +0000 (22:01 -0700)
committerJan Kotas <jkotas@microsoft.com>
Sat, 4 Jun 2016 05:01:13 +0000 (22:01 -0700)
Add x86 opcodes 0x01 and 0x03 (ADD instruction) to stack unwinder.
These instructions are generated by C++ compiler as part of the
JIT_StaticFieldAddress_Dynamic method, triggering issue #5464.

src/vm/i386/gmsx86.cpp

index 97557c8..e7e16b7 100644 (file)
@@ -866,6 +866,8 @@ void LazyMachState::unwindLazyState(LazyMachState* baseState,
                 datasize = b16bit?2:4;
                 goto decodeRM;
 
+            case 0x01:                           // ADD mod/rm
+            case 0x03:
             case 0x29:                           // SUB mod/rm
             case 0x2B:
                 datasize = 0;