Subzero: Control memory growth from local label fixups.
The ConstantRelocatable objects for pushing local labels are allocated from the Assembler arena, and are no longer pooled, which restricts the memory growth from sandboxing x86-64 calls.
Because the Assembler arena is destroyed while the fixups are still active, these fixups have to be fixed up by holding a pointer to the symbol rather than the constant.
On the 10MB test pexe, the overall growth by the end is ~20MB, instead of ~130MB as before.
This also partially fixes an existing bug with arm32/nonsfi/iasm, exposed by running cross tests and forcing iasm output.
BUG= none
R=jpp@chromium.org
Review URL: https://codereview.chromium.org/1773503003 .
10 files changed