Move some JIT data members to more appropriate places
Summary:
The TCA -> TransID map has been moved from MCGenerator to ProfData,
since it's used for PGO. Also turn it into a folly::AHM so it can be
concurrently accessed without having to grab a lock. This increases the amount
of memory that's freed when we delete ProfData.
Move the SrcDB from Translator to MCGenerator. All the other translation
metadata is owned by mcg so this makes more sense. While I was doing this, I
cleaned up a couple related things:
- Remove getSrcRec() and inline its contents into the one legit caller. It was
being called by a bunch of other places that have no business creating
SrcRecs. Those calls have been replaced with calls to find(). If the SrcRec
doesn't already exist at those points, it's a bug.
- Move registerFallBackJump() from SrcRec to vasm-internal.cpp, the only place
it's used.
Reviewed By: ottoni
Differential Revision:
D3388774
fbshipit-source-id:
5a6e7c38a90c3bccdc640c920c6924aa437dd56d