https://bugzilla.novell.com/show_bug.cgi?id=623723
https://bugzilla.novell.com/show_bug.cgi?id=623723#c4 --- Comment #4 from Sebastien Pouliot <[email protected]> 2010-08-20 00:52:22 UTC --- The worst case (at least the one in your original report) seems to vanish when ignoring NOP instructions. They should not matter* individually but CSC likes to emit them a lot (like "NOP NOP NOP RET" as method epilogue) - so much it gets tagged as a pattern. * so I'm likely to commit that anyway, in the mean time here's the patch... Index: CodeDuplicatedLocator.cs =================================================================== --- CodeDuplicatedLocator.cs (revision 160394) +++ CodeDuplicatedLocator.cs (working copy) @@ -151,6 +151,9 @@ for (int index = method.Body.Instructions.Count - 1; index >= 0; index--) { Instruction currentInstruction = method.Body.Instructions[index]; + // CSC abuse NOP + if (currentInstruction.Is (Code.Nop)) + continue; stackCounter += currentInstruction.GetPushCount (); stackCounter -= currentInstruction.GetPopCount (method); -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
