From 209415618ca5d1a5d1d9e39ca78d643d0935534e Mon Sep 17 00:00:00 2001 From: Koundinya Veluri Date: Thu, 25 Jan 2018 12:01:32 -0800 Subject: Enable tiered jitting for R2R methods (#15967) Enable tiered jitting for R2R methods - Included R2R methods and generics over value types in CoreLib for tiered jitting. Tier 0 for R2R methods is the precompiled code if available, and tier 1 is selectively scheduled based on call counting. - Added a delay before starting to count calls for tier 1 promotion. The delay is a short duration after frequent tier 0 jitting stops (current heuristic for identifying startup). - Startup time and steady-state performance have improved on JitBench. There is a regression shortly following startup due to call counting and tier 1 jitting, for a short duration before steady-state performance stabilizes. - Added two new config values, one for configuring the call count threshold for promoting to tier 1, and another for specifying the delay from the last tier 0 JIT invocation before starting to count calls --- src/vm/callcounter.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/vm/callcounter.h') diff --git a/src/vm/callcounter.h b/src/vm/callcounter.h index ed98ccb1c8..4e9a5d32ec 100644 --- a/src/vm/callcounter.h +++ b/src/vm/callcounter.h @@ -70,7 +70,7 @@ public: CallCounter(); #endif - BOOL OnMethodCalled(MethodDesc* pMethodDesc); + void OnMethodCalled(MethodDesc* pMethodDesc, TieredCompilationManager *pTieredCompilationManager, BOOL* shouldStopCountingCallsRef, BOOL* wasPromotedToTier1Ref); private: -- cgit v1.2.3