[runtime] Add a missing NOP to the OP_SEQ_POINT arm code
authorAlexander Kyte <alexmkyte@gmail.com>
Sat, 20 Jun 2015 22:01:25 +0000 (22:01 +0000)
committerAlexander Kyte <alexmkyte@gmail.com>
Sat, 20 Jun 2015 22:17:57 +0000 (22:17 +0000)
We were failing MonoTests.DebuggerTests.Locals and
MonoTests.DebuggerTests.SingleStepping because we
stepped forward too far as a side effect of this missing
"padding" NOP.

mono/mini/mini-arm.c

index 0bdec210868ae04a6913482a461efc4b5ddaa302..09b0f0aad6c13449f05f85ec4c82ba4a58cbedc5 100644 (file)
@@ -4627,6 +4627,13 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                                for (i = 0; i < 4; ++i)
                                        ARM_NOP (code);
                        }
+
+                       /*
+                        * Add an additional nop so skipping the bp doesn't cause the ip to point
+                        * to another IL offset.
+                        */
+
+                       ARM_NOP (code);
                        break;
                }
                case OP_ADDCC: