2010-06-17 Rodrigo Kumpera <rkumpera@novell.com>
commit965d29aa41da81443d4d74d12c05aa653f561628
authorkumpera <kumpera@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Thu, 17 Jun 2010 19:24:01 +0000 (17 19:24 +0000)
committerkumpera <kumpera@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Thu, 17 Jun 2010 19:24:01 +0000 (17 19:24 +0000)
tree0a8410c83e6b5fecd347c3c1ff53951ca6bb2d1e
parent955ca41c730e33b92f457cfa3f227ea5b2504da1
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.

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mono@159081 e3ebcda4-bce8-0310-ba0a-eca2169e7518
mono/mini/ChangeLog
mono/mini/method-to-ir.c