Split LogArrayProvenance
commit7d9e79452b4adc6c3b80a6324f66a1a9ed814e4d
authorJoseph Griego <jgriego@fb.com>
Mon, 3 Jun 2019 21:29:17 +0000 (3 14:29 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Mon, 3 Jun 2019 21:35:05 +0000 (3 14:35 -0700)
tree339262e1a7e86a354585573c1f501e827e9fc3b3
parentd241e4d6515295912dddf820567e1e862835e5e8
Split LogArrayProvenance

Summary:
Two flags:

ArrayProvenance controls instrumentation of array provenance, period.

LogArrayProvenance controls logging.

There's some funny business where I turn off the instrumentation if was enabled
in the repo but we start HHVM without the logging enabled; or, if it wasn't
enabled when we built the repo.

Either way, if we're not loading from a repo, the options in the hdf are
respected without question :)

Reviewed By: mxw

Differential Revision: D15545217

fbshipit-source-id: 139a00ef48acdedb93c763d1e5ffebf9820a1620
23 files changed:
hphp/compiler/analysis/emitter.cpp
hphp/compiler/option.cpp
hphp/hhbbc/main.cpp
hphp/runtime/base/array-data-defs.h
hphp/runtime/base/array-data.cpp
hphp/runtime/base/array-provenance-inl.h
hphp/runtime/base/array-provenance.cpp
hphp/runtime/base/runtime-option.h
hphp/runtime/base/unit-cache.cpp
hphp/runtime/ext/array/ext_array.cpp
hphp/runtime/vm/as.cpp
hphp/runtime/vm/bytecode.cpp
hphp/runtime/vm/jit/irlower-array.cpp
hphp/runtime/vm/jit/irlower-call.cpp
hphp/runtime/vm/jit/irlower-minstr.cpp
hphp/runtime/vm/member-operations.h
hphp/runtime/vm/repo-global-data.cpp
hphp/runtime/vm/repo-global-data.h
hphp/runtime/vm/repo.cpp
hphp/runtime/vm/unit-emitter.cpp
hphp/test/slow/array_provenance/ap-logging.php.opts
hphp/test/slow/array_provenance/array-provenance.php.opts
hphp/test/slow/array_provenance/skipframe.php.opts