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)
commitd2b9a6e8bae487ae092fca2d3bccd109c7ef85f9
tree68584f2abe48ea3ada91c9c6c93cf3ba2102f0c6
parentc3b883ca33c1080ec65815684aabce462624b1b4
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]
41 files changed:
src/inc/utilcode.h
src/jit/CMakeLists.txt
src/jit/alloc.cpp
src/jit/alloc.h
src/jit/block.cpp
src/jit/codegencommon.cpp
src/jit/codegenlegacy.cpp
src/jit/compiler.cpp
src/jit/compiler.h
src/jit/compiler.hpp
src/jit/disasm.cpp
src/jit/ee_il_dll.cpp
src/jit/emit.cpp
src/jit/emitarm.cpp
src/jit/emitarm64.cpp
src/jit/emitxarch.cpp
src/jit/error.cpp
src/jit/flowgraph.cpp
src/jit/gcencode.cpp
src/jit/gentree.h
src/jit/importer.cpp
src/jit/instr.cpp
src/jit/jit.h
src/jit/jit.settings.targets
src/jit/jitconfig.cpp [new file with mode: 0644]
src/jit/jitconfig.h [new file with mode: 0644]
src/jit/jitconfigvalues.h [new file with mode: 0644]
src/jit/jitpch.h
src/jit/jittelemetry.cpp
src/jit/lsra.cpp
src/jit/morph.cpp
src/jit/optcse.cpp
src/jit/optimizer.cpp
src/jit/regalloc.cpp
src/jit/regset.cpp
src/jit/sharedfloat.cpp
src/jit/unwindarm.cpp
src/jit/utils.cpp
src/jit/utils.h
src/jit/valuenum.cpp
src/utilcode/jithost.cpp