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)
commit850164ee70077e0970d7ab4e4bf2ca51809b92e8
treef9262fab3e2540b7b920bb54dd0d7cc8288b3e05
parente3eecaa56ec08d47941bc7191656a7559ac8b3c0
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.
23 files changed:
clr.coreclr.props
clr.defines.targets
clrdefinitions.cmake
src/debug/daccess/daccess.cpp
src/inc/clrconfigvalues.h
src/inc/loglf.h
src/vm/CMakeLists.txt
src/vm/appdomain.cpp
src/vm/appdomain.hpp
src/vm/callcounter.cpp [new file with mode: 0644]
src/vm/callcounter.h [new file with mode: 0644]
src/vm/ceeload.cpp
src/vm/eeconfig.cpp
src/vm/eeconfig.h
src/vm/i386/stublinkerx86.cpp
src/vm/method.cpp
src/vm/method.hpp
src/vm/methodtablebuilder.cpp
src/vm/precode.cpp
src/vm/precode.h
src/vm/prestub.cpp
src/vm/tieredcompilation.cpp [new file with mode: 0644]
src/vm/tieredcompilation.h [new file with mode: 0644]