diff options
author | Koundinya Veluri <kouvel@microsoft.com> | 2015-10-13 15:49:03 -0700 |
---|---|---|
committer | Koundinya Veluri <kouvel@microsoft.com> | 2015-10-13 16:19:04 -0700 |
commit | d7772f3feb5fd09ea841add320f6e2f25642686d (patch) | |
tree | 03dd0d89160b1ac272065510b6e0a98da6182a1f /src/vm/jitinterfacegen.cpp | |
parent | 327794d8eefc0692132df13906dc7109c4d1bf40 (diff) | |
download | coreclr-d7772f3feb5fd09ea841add320f6e2f25642686d.tar.gz coreclr-d7772f3feb5fd09ea841add320f6e2f25642686d.tar.bz2 coreclr-d7772f3feb5fd09ea841add320f6e2f25642686d.zip |
Add string allocation fast path outside Windows
- On Linux, a microbenchmark is 140% faster with the portable fast path
- On Windows with the asm fast path, the microbenchmark was 300% faster than on Linux before, and is now 65% faster with the portable fast path
- On Windows, the portable fast path is 5% slower than the asm fast path
Diffstat (limited to 'src/vm/jitinterfacegen.cpp')
-rw-r--r-- | src/vm/jitinterfacegen.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/vm/jitinterfacegen.cpp b/src/vm/jitinterfacegen.cpp index 5cf1de911c..3c9166556c 100644 --- a/src/vm/jitinterfacegen.cpp +++ b/src/vm/jitinterfacegen.cpp @@ -229,6 +229,8 @@ void InitJITHelpers1() SetJitHelperFunction(CORINFO_HELP_NEWSFAST_ALIGN8, JIT_NewS_MP_FastPortable); SetJitHelperFunction(CORINFO_HELP_NEWARR_1_VC, JIT_NewArr1VC_MP_FastPortable); SetJitHelperFunction(CORINFO_HELP_NEWARR_1_OBJ, JIT_NewArr1OBJ_MP_FastPortable); + + ECall::DynamicallyAssignFCallImpl(GetEEFuncEntryPoint(AllocateString_MP_FastPortable), ECall::FastAllocateString); #else // !FEATURE_IMPLICIT_TLS // If the TLS for Thread is low enough use the super-fast helpers if (gThreadTLSIndex < TLS_MINIMUM_AVAILABLE) |