Use BlockIds in rpoBlocks
commitb9c34b9a26dfacab2add7734850d1dedb4762d41
authorMark Williams <mwilliams@fb.com>
Sun, 10 Mar 2019 19:13:58 +0000 (10 12:13 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Sun, 10 Mar 2019 19:17:49 +0000 (10 12:17 -0700)
treeea10005dbb3e54daa0fff701d33d9d7457f214e5
parent9bb43e54fbe9cebf72e235e888b34382eb2d0c17
Use BlockIds in rpoBlocks

Summary:
When we switch to copy_ptr, mutating a block could modify its pointer,
so we don't want to store long lived pointers in the FuncAnalysis object.

Using block ids solves that problem, and also reduces the memory
requirements. It also turns out that a large number of users of
rpoBlocks only wanted the blockid anyway.

Reviewed By: ricklavoie

Differential Revision: D14335998

fbshipit-source-id: 67f22cf9139d2df42c8f32a808cb21b8d4efe9c9
hphp/hhbbc/analyze.cpp
hphp/hhbbc/analyze.h
hphp/hhbbc/cfg-opts.cpp
hphp/hhbbc/cfg.cpp
hphp/hhbbc/cfg.h
hphp/hhbbc/dce.cpp
hphp/hhbbc/emit.cpp
hphp/hhbbc/optimize.cpp
hphp/hhbbc/parse.cpp
hphp/hhbbc/show.cpp