ART: Split out PROT_EXEC from custom low-4GB allocator

To address the known issue that denials for executable memory can
lead to the custom low-4GB allocator being very slow, split the
allocation into two parts. First allocate without PROT_EXEC, then
try to mprotect with the originally requested flags.

Bug: 36138508
Test: m test-art-host
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true ; asanwrapper for system_server
Change-Id: Ic18621f5b5c619ea1a3ad861c1f764886dc6f2a2
2 files changed