Tiered Compilation step 1
authornoahfalk <noahfalk@microsoft.com>
Sat, 25 Mar 2017 05:43:47 +0000 (22:43 -0700)
committernoahfalk <noahfalk@microsoft.com>
Thu, 30 Mar 2017 02:09:24 +0000 (19:09 -0700)
commit979cabffa1d3521ac0b7499e075c82d7cf329133
tree8b0997aa7e1db797a943cbf7a53161c9d031b35c
parentf440aa7856e911770a6933b59f79e5c57864bbe5
Tiered Compilation step 1

Tiered compilation is a new feature we are experimenting with that aims to improve startup times. Initially we jit methods non-optimized, then switch to an optimized version once the method has been called a number of times. More details about the current feature operation are in the comments of TieredCompilation.cpp.

This is only the first step in a longer process building the feature. The primary goal for now is to avoid regressing any runtime behavior in the shipping configuration in which the complus variable is OFF, while putting enough code in place that we can measure performance in the daily builds and make incremental progress visible to collaborators and reviewers. The design of the TieredCompilationManager is likely to change substantively, and the call counter may also change.

Commit migrated from https://github.com/dotnet/coreclr/commit/850164ee70077e0970d7ab4e4bf2ca51809b92e8
23 files changed:
src/coreclr/clr.coreclr.props
src/coreclr/clr.defines.targets
src/coreclr/clrdefinitions.cmake
src/coreclr/src/debug/daccess/daccess.cpp
src/coreclr/src/inc/clrconfigvalues.h
src/coreclr/src/inc/loglf.h
src/coreclr/src/vm/CMakeLists.txt
src/coreclr/src/vm/appdomain.cpp
src/coreclr/src/vm/appdomain.hpp
src/coreclr/src/vm/callcounter.cpp [new file with mode: 0644]
src/coreclr/src/vm/callcounter.h [new file with mode: 0644]
src/coreclr/src/vm/ceeload.cpp
src/coreclr/src/vm/eeconfig.cpp
src/coreclr/src/vm/eeconfig.h
src/coreclr/src/vm/i386/stublinkerx86.cpp
src/coreclr/src/vm/method.cpp
src/coreclr/src/vm/method.hpp
src/coreclr/src/vm/methodtablebuilder.cpp
src/coreclr/src/vm/precode.cpp
src/coreclr/src/vm/precode.h
src/coreclr/src/vm/prestub.cpp
src/coreclr/src/vm/tieredcompilation.cpp [new file with mode: 0644]
src/coreclr/src/vm/tieredcompilation.h [new file with mode: 0644]