Optimize ini_get
commit7e60493a1d990c479b4351047127e48b6ac728a3
authorDavid Mortenson <dmortenson@fb.com>
Sun, 8 Jun 2014 07:24:50 +0000 (8 00:24 -0700)
committerJoelMarcey <joelm@fb.com>
Mon, 16 Jun 2014 20:15:20 +0000 (16 13:15 -0700)
tree0f11a75ac7d0f1472b367c300eac69afc827dc6e
parent206e9cb91e19d957217a6dedd18df3523c885844
Optimize ini_get

Summary: Add support to the JIT to recognize calls to ini_get for system settings and
substitute them with the value of the setting.

As part of this diff, I also removed the
system_get_custom_bool_settig API I added since it's no longer needed.

I also fixed an inconsistency between the version of IniSetting::Get
that takes a String& and a std::string& to return the setting value. The
std::string& version was incorrectly formatting double settings (they
included trailing 0's after the decimal point).

Reviewed By: @ptarjan

Differential Revision: D1378334
12 files changed:
hphp/hack/hhi/stdlib/builtins_server.idl.hhi
hphp/runtime/base/ini-setting.cpp
hphp/runtime/base/ini-setting.h
hphp/runtime/base/type-string.cpp
hphp/runtime/base/type-string.h
hphp/runtime/ext/ext_server.cpp
hphp/runtime/ext/ext_server.h
hphp/runtime/vm/jit/hhbc-translator.cpp
hphp/runtime/vm/jit/hhbc-translator.h
hphp/system/idl/server.idl.json
hphp/test/slow/ext_server/server_get_custom_bool_setting.php [deleted file]
hphp/test/slow/ext_server/server_get_custom_bool_setting.php.expect [deleted file]