2008-02-26 Rodrigo Kumpera <rkumpera@novell.com>
authorRodrigo Kumpera <kumpera@gmail.com>
Fri, 27 Feb 2009 01:46:32 +0000 (01:46 -0000)
committerRodrigo Kumpera <kumpera@gmail.com>
Fri, 27 Feb 2009 01:46:32 +0000 (01:46 -0000)
commit64824031a2a0afec9daf4a5c735fd20505d0e1ea
tree16e05a9f97ef60f51c74f053888c3db795b9e3dc
parent421e92fb5116dec47325cfd9a32d62bae14c9f26
2008-02-26 Rodrigo Kumpera <rkumpera@novell.com>

* MonoProperty.cs (GetValue): Optimize getters for properties without arguments.
The optimization is to create a pair of chained delegates that duplicate the workings
on MethodBase::Invoke without all the aditional overhead and without doing two
managed/native transitions.

Simple Getter performance is up to 17x faster.

This patch reduces contention on domain and domain jit code hash locks, which
can be very hot on asp.net applications.

svn path=/trunk/mcs/; revision=128172
mcs/class/corlib/System.Reflection/ChangeLog
mcs/class/corlib/System.Reflection/MonoProperty.cs