Add allocation fast path for arrays of value type elements outside Windows
authorKoundinya Veluri <kouvel@microsoft.com>
Thu, 8 Oct 2015 21:40:14 +0000 (14:40 -0700)
committerKoundinya Veluri <kouvel@microsoft.com>
Fri, 9 Oct 2015 19:13:32 +0000 (12:13 -0700)
commitaa2d9842364626632dc7b5c296f01b2f96a47973
treea0726792f08eb2db3e462c8ba7ebf793dc749138
parentbe363e1d163f7c435b922e1d4a49175373bb5f37
Add allocation fast path for arrays of value type elements outside Windows

- A microbenchmark involving byte array allocation was about 200% faster on Windows compared to Linux
- On Windows, using the portable version of the fast path is about 5% slower than using the asm version on the microbenchmark
- On Linux, using the portable fast path improves the microbenchmark perf by 160%
- With the fast path enabled on Linux, the microbenchmark on Windows (with asm fast path) is now about 17% faster than on Linux.

Commit migrated from https://github.com/dotnet/coreclr/commit/e47ea2c24bab1938791d3c31e6a6510f5b254038
src/coreclr/src/gc/gc.h
src/coreclr/src/inc/sbuffer.h
src/coreclr/src/vm/jithelpers.cpp
src/coreclr/src/vm/jitinterface.h
src/coreclr/src/vm/jitinterfacegen.cpp
src/coreclr/src/vm/object.h