• 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
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...