2010-06-17 Rodrigo Kumpera <rkumpera@novell.com>
commiteb2cd968ffbb137a6c4bf8c37917972536559a4a
authorRodrigo Kumpera <kumpera@gmail.com>
Thu, 17 Jun 2010 19:24:01 +0000 (17 19:24 -0000)
committerRodrigo Kumpera <kumpera@gmail.com>
Thu, 17 Jun 2010 19:24:01 +0000 (17 19:24 -0000)
treeda3b2211c941195e88d9d1c39327daa4cac22d8e
parent81dfccbd14f683f1fe46f570e76c1e99a14c5a81
2010-06-17 Rodrigo Kumpera  <rkumpera@novell.com>

* method-to-ir.c (mini_emit_stobj): Don't call mono_value_copy for small
value types as the overhead is huge. Manually expand it up to 5 words to
avoid code bloat.

This improves gmcs times by 5% and unmodified binary-tree by 78%. The later
is an exception that performance is dominated by mono_value_copy.

This puts sgen about 5% ahead of boehm in terms of wall-clock on a Core2Quad.

svn path=/trunk/mono/; revision=159081
mono/mini/ChangeLog
mono/mini/method-to-ir.c