summaryrefslogtreecommitdiff
path: root/src/vm/jitinterfacegen.cpp
diff options
context:
space:
mode:
authorKoundinya Veluri <kouvel@microsoft.com>2015-10-13 15:49:03 -0700
committerKoundinya Veluri <kouvel@microsoft.com>2015-10-13 16:19:04 -0700
commitd7772f3feb5fd09ea841add320f6e2f25642686d (patch)
tree03dd0d89160b1ac272065510b6e0a98da6182a1f /src/vm/jitinterfacegen.cpp
parent327794d8eefc0692132df13906dc7109c4d1bf40 (diff)
downloadcoreclr-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.cpp2
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)