DescriptionSubzero: 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
Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=3e324002a1df4861c389f7289ead7e9ff5adcd42
Patch Set 1 #Patch Set 2 : Add comments #Patch Set 3 : Attempt to fix -nonsfi -filetype=iasm -target=arm32 #
Messages
Total messages: 10 (5 generated)
|