Fix spmi environment reset. (#19943)
authorSergey Andreenko <seandree@microsoft.com>
Mon, 17 Sep 2018 21:59:07 +0000 (14:59 -0700)
committerGitHub <noreply@github.com>
Mon, 17 Sep 2018 21:59:07 +0000 (14:59 -0700)
commit1df22d9d8970215b99f96691336b9b49a223ec1b
tree8f867834a99b6492476299468025f23284bf7455
parent00292a6ff453b9f01c80292b2c045e4dcd0551cf
Fix spmi environment reset. (#19943)

* Dump spmi string environment variables with -d key.

Sometimes it is not clear which environment variables are set during a replay. Add a possibility to dump all active string environment variables with "-v d" key.

It is especially useful when you debug one method and can't get output that you want (for example JitDump) because altJit was set during the collection.

* Dump int spmi environment variables with -d key.

The same change but for int variables that need an additional parsing.

* Fix environment reset in spmi.

The previous changes revealed that we have a problem with environment reset. The reset was added in #13596 to support a correct replay of mch files with mc that had different env variables during the collection.

It was based on Environment that was later deprecated by #13110.

That caused the environment to be reset for each mc file. The fix updates env only when it is necessary and decreases the replay time of an mch file with 200000 methods from 500s to 370s.

* Fix dumpHelp.

Fix formating and adds note that all keys and values are case sensetive.

* Delete retired packages logic.

These packages were retired a long time ago and there is no value to have a special logic for them.
src/ToolBox/superpmi/superpmi-shared/lwmlist.h
src/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
src/ToolBox/superpmi/superpmi-shared/methodcontext.h
src/ToolBox/superpmi/superpmi-shared/methodcontextreader.cpp
src/ToolBox/superpmi/superpmi/commandline.cpp
src/ToolBox/superpmi/superpmi/jithost.cpp
src/ToolBox/superpmi/superpmi/jithost.h
src/ToolBox/superpmi/superpmi/jitinstance.cpp
src/ToolBox/superpmi/superpmi/jitinstance.h
src/ToolBox/superpmi/superpmi/superpmi.cpp