Add a new set of APIs for JIT configuration.
authorPat Gavlin <pagavlin@microsoft.com>
Thu, 25 Feb 2016 15:19:33 +0000 (07:19 -0800)
committerPat Gavlin <pagavlin@microsoft.com>
Thu, 25 Feb 2016 15:19:33 +0000 (07:19 -0800)
commit98ba9c20a65a40ef21a0e4c63335086d4b887cd2
treef22126c79a68419fff032ba74614ffa529cdac6f
parent72c0949e2428029afe20fb23405b3ea2d1c37d90
Add a new set of APIs for JIT configuration.

These APIs accommodate the retrieval of config values using the JIT
interface rather than the utilcode library. All configuration options
are now initialized upon the first call to compileMethod. The values
of configuration options are available off of an ambient JitConfig
object.

This also changed `JitHost::get*ConfigValue` to use the
`EEConfig_default` policy instead of `REGUTIL_default` in order to
avoid breaking a small set of JIT config options available in release
builds that were using the former. This change is exceedingly
unlikely to adversely affect the behavior of other JIT config options
that were originally fetched using `REGUTIL_default`, since values
for these options should not be present any locations searched
by `EEConfig_default` that are not searched by
`REGUTIL_default` (namely config files).

[tfs-changeset: 1578859]

Commit migrated from https://github.com/dotnet/coreclr/commit/d2b9a6e8bae487ae092fca2d3bccd109c7ef85f9
41 files changed:
src/coreclr/src/inc/utilcode.h
src/coreclr/src/jit/CMakeLists.txt
src/coreclr/src/jit/alloc.cpp
src/coreclr/src/jit/alloc.h
src/coreclr/src/jit/block.cpp
src/coreclr/src/jit/codegencommon.cpp
src/coreclr/src/jit/codegenlegacy.cpp
src/coreclr/src/jit/compiler.cpp
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/compiler.hpp
src/coreclr/src/jit/disasm.cpp
src/coreclr/src/jit/ee_il_dll.cpp
src/coreclr/src/jit/emit.cpp
src/coreclr/src/jit/emitarm.cpp
src/coreclr/src/jit/emitarm64.cpp
src/coreclr/src/jit/emitxarch.cpp
src/coreclr/src/jit/error.cpp
src/coreclr/src/jit/flowgraph.cpp
src/coreclr/src/jit/gcencode.cpp
src/coreclr/src/jit/gentree.h
src/coreclr/src/jit/importer.cpp
src/coreclr/src/jit/instr.cpp
src/coreclr/src/jit/jit.h
src/coreclr/src/jit/jit.settings.targets
src/coreclr/src/jit/jitconfig.cpp [new file with mode: 0644]
src/coreclr/src/jit/jitconfig.h [new file with mode: 0644]
src/coreclr/src/jit/jitconfigvalues.h [new file with mode: 0644]
src/coreclr/src/jit/jitpch.h
src/coreclr/src/jit/jittelemetry.cpp
src/coreclr/src/jit/lsra.cpp
src/coreclr/src/jit/morph.cpp
src/coreclr/src/jit/optcse.cpp
src/coreclr/src/jit/optimizer.cpp
src/coreclr/src/jit/regalloc.cpp
src/coreclr/src/jit/regset.cpp
src/coreclr/src/jit/sharedfloat.cpp
src/coreclr/src/jit/unwindarm.cpp
src/coreclr/src/jit/utils.cpp
src/coreclr/src/jit/utils.h
src/coreclr/src/jit/valuenum.cpp
src/coreclr/src/utilcode/jithost.cpp