[Mono-bugs] [Bug 524595] JIT produces very slow code if you use a temporary variable outside a try/catch block
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Fri Jul 24 22:33:29 EDT 2009
http://bugzilla.novell.com/show_bug.cgi?id=524595
User vargaz at gmail.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=524595#c4
--- Comment #4 from Zoltan Varga <vargaz at gmail.com> 2009-07-24 20:33:24 MDT ---
The last result shows only a 2x difference on amd64. Which could be expected
since the slow version does more work inside the loop.
The jit there generates the following code for the slow code:
<BB>:5
20: 4d 8b ef mov %r15,%r13
23: 45 03 ee add %r14d,%r13d
26: 4d 8b fd mov %r13,%r15
<BB>:4
29: b8 90 b1 fd 01 mov $0x1fdb190,%eax
2e: 48 63 00 movslq (%rax),%rax
31: 44 3b f8 cmp %eax,%r15d
34: 7c ea jl 20 <nClass_Slow+0x20>
and for the fast code:
<BB>:5
18: 45 03 fe add %r14d,%r15d
<BB>:4
1b: b8 90 01 51 02 mov $0x2510190,%eax
20: 48 63 00 movslq (%rax),%rax
23: 44 3b f8 cmp %eax,%r15d
26: 7c f0 jl 18 <nClass_Fast+0x18>
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list