• Bill Budge's avatar
    Reland "[Memory] Use OS::Allocate for all OS memory allocations." · adc52af5
    Bill Budge authored
    This is a reland of 4899bcb6
    This is a reland of b73ee334
    
    Original change's description:
    > [Memory] Use OS::Allocate for all OS memory allocations.
    >
    > - Eliminates OS::ReserveRegion and OS::ReserveAlignedRegion.
    > - Changes OS::Allocate to take alignment parameter, reorders parameters
    >   to match page_allocator.
    > - Since the size of memory allocation can be deduced, don't return the
    >   amount of memory allocated.
    > - Changes reservation of aligned address space. Before we would reserve
    >   (size + alignment) rounded up to page size. This is too much, because
    >   maximum misalignment is (alignment - page_size).
    > - On Windows and Cygwin, we release an oversize allocation and
    >   immediately retry at the aligned address in the allocation. If we
    >   lose the address due to a race, we just retry.
    > - Clean up all the calls to OS::Allocate in codegen and tests by adding
    >   helper AllocateSystemPage function (allocation.h) and
    >   AllocateAssemblerBuffer (cctest.h).
    > - Changes 'assm' to 'masm' in some targets for consistency when using
    >   a macro-assembler.
    >
    > - Eliminates OS::ReleaseRegion, replacing with calls to OS::Free.
    > - Adds bool return value to OS::Free.
    > - Cleans up types of flags, protection on Windows and Cygwin.
    
    > Bug: chromium:756050
    > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    > Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
    
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: Iad3c025334e8f8d7d647be99a36a11ee449c9087
    Reviewed-on: https://chromium-review.googlesource.com/767014
    Commit-Queue: Bill Budge <bbudge@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49363}
    adc52af5
codegen-ia32.cc 15 KB