New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 756050 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocked on:
issue v8:6927



Sign in to add a comment

Unify memory management in V8 and Blink

Project Member Reported by bbudge@chromium.org, Aug 16 2017

Issue description

V8 and Chromium both request memory from the OS using different mechanisms. In V8, platform implementations and various other calls to malloc / free, new / delete may cause system memory to be allocated. In Blink, PartitionAllocator does this using the functions in base/allocator/partition_allocator/page_allocator.

We should change V8 to use embedder provided functions to manage memory, and Chromium to support V8's needs.

Design Doc:

https://docs.google.com/document/d/1PiUg9Bzlhhv8eVLYhfEkK9LKytFunRX_y6u_6ju8yok
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9e5dcc046f712d077f4c03213a5691d3743461ce

commit 9e5dcc046f712d077f4c03213a5691d3743461ce
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Sep 01 23:00:46 2017

[page_allocator] Change page_allocator to support executables.

- Modifies PageAccessibilityConfiguration enum, renaming the existing
  PageAccessible to PageReadWrite, and adding PageReadExecute and
  PageReadWriteExecute.
- Modifies AllocPages to support extended permissions.
- Merges SetSystemPagesInaccessible / SetSystemPagesAccessible into
  SetSystemPagesAccess, which takes a permissions parameter and returns
  a bool which must be CHECK'ed.
- Modifies RecommitPages to take a permissions parameter and return a
  bool which must be CHECK'ed.

Bug:  chromium:756050 
Change-Id: I297d8da6630c3d94894537537749408a1f763ed3
Reviewed-on: https://chromium-review.googlesource.com/616251
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499334}
[modify] https://crrev.com/9e5dcc046f712d077f4c03213a5691d3743461ce/base/allocator/partition_allocator/page_allocator.cc
[modify] https://crrev.com/9e5dcc046f712d077f4c03213a5691d3743461ce/base/allocator/partition_allocator/page_allocator.h
[modify] https://crrev.com/9e5dcc046f712d077f4c03213a5691d3743461ce/base/allocator/partition_allocator/partition_alloc.cc
[modify] https://crrev.com/9e5dcc046f712d077f4c03213a5691d3743461ce/base/allocator/partition_allocator/partition_alloc_unittest.cc
[modify] https://crrev.com/9e5dcc046f712d077f4c03213a5691d3743461ce/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
[modify] https://crrev.com/9e5dcc046f712d077f4c03213a5691d3743461ce/third_party/WebKit/Source/platform/heap/CallbackStack.cpp
[modify] https://crrev.com/9e5dcc046f712d077f4c03213a5691d3743461ce/third_party/WebKit/Source/platform/heap/PageMemory.cpp
[modify] https://crrev.com/9e5dcc046f712d077f4c03213a5691d3743461ce/third_party/WebKit/Source/platform/wtf/allocator/Partitions.h

Project Member

Comment 2 by bugdroid1@chromium.org, Sep 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a977ead7ae552cf7e102deccdf3089990013ce94

commit a977ead7ae552cf7e102deccdf3089990013ce94
Author: Bill Budge <bbudge@chromium.org>
Date: Wed Sep 06 00:33:44 2017

[page_allocator] Change AllocPages to allow reserving address space.

- Adds a boolean 'commit' parameter to AllocPages, so address space can
  be reserved without committing the memory.

Bug:  chromium:756050 
Change-Id: If49097fbd804e3503bab44fe5cc1a3f14d966094
Reviewed-on: https://chromium-review.googlesource.com/648224
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499816}
[modify] https://crrev.com/a977ead7ae552cf7e102deccdf3089990013ce94/base/allocator/partition_allocator/page_allocator.cc
[modify] https://crrev.com/a977ead7ae552cf7e102deccdf3089990013ce94/base/allocator/partition_allocator/page_allocator.h

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4dd293d922dfaefb2b9d144971070574d0fb9933

commit 4dd293d922dfaefb2b9d144971070574d0fb9933
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Sep 15 19:48:28 2017

[Memory] Move VirtualMemory out of base:: platform.

- Moves base::VirtualMemory to v8::internal::VirtualMemory.
- Makes VirtualMemory platform-independent by moving internals to new
  OS:: static methods, for each platform.

This will make it easier to delegate memory management in VirtualMemory
to V8::Platform, so that embedders like Blink can override it. We can't
depend on V8::Platform in base/platform.

Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Iadfe230b6850bd917727a373f277afded9883adf
Reviewed-on: https://chromium-review.googlesource.com/653214
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48048}
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/allocation.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/allocation.h
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/api.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-aix.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-linux.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-macos.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-posix.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-solaris.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform-win32.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/base/platform/platform.h
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/d8.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/heap/sequential-marking-deque.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/heap/sequential-marking-deque.h
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/heap/spaces.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/heap/spaces.h
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/heap/store-buffer.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/src/heap/store-buffer.h
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/test/cctest/test-allocation.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/test/cctest/test-platform-linux.cc
[modify] https://crrev.com/4dd293d922dfaefb2b9d144971070574d0fb9933/test/cctest/test-platform-win32.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4fc43530a7d298d1a73a29d14f5d4b594690cd18

commit 4fc43530a7d298d1a73a29d14f5d4b594690cd18
Author: Michael Hablich <hablich@chromium.org>
Date: Mon Sep 18 10:13:26 2017

Revert "[Memory] Move VirtualMemory out of base:: platform."

This reverts commit 4dd293d922dfaefb2b9d144971070574d0fb9933.

Reason for revert: Blocks roll: https://chromium-review.googlesource.com/c/chromium/src/+/669785

Original change's description:
> [Memory] Move VirtualMemory out of base:: platform.
> 
> - Moves base::VirtualMemory to v8::internal::VirtualMemory.
> - Makes VirtualMemory platform-independent by moving internals to new
>   OS:: static methods, for each platform.
> 
> This will make it easier to delegate memory management in VirtualMemory
> to V8::Platform, so that embedders like Blink can override it. We can't
> depend on V8::Platform in base/platform.
> 
> Bug:  chromium:756050 
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Change-Id: Iadfe230b6850bd917727a373f277afded9883adf
> Reviewed-on: https://chromium-review.googlesource.com/653214
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#48048}

TBR=bbudge@chromium.org,ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,scottmg@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  chromium:756050 
Change-Id: Ice2618ef72950e1b64c31434a239c626aa5e5970
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/670843
Reviewed-by: Michael Hablich <hablich@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Hablich <hablich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48062}
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/allocation.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/allocation.h
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/api.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-aix.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-linux.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-macos.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-posix.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-solaris.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform-win32.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/base/platform/platform.h
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/d8.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/heap/sequential-marking-deque.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/heap/sequential-marking-deque.h
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/heap/spaces.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/heap/spaces.h
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/heap/store-buffer.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/src/heap/store-buffer.h
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/test/cctest/test-allocation.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/test/cctest/test-platform-linux.cc
[modify] https://crrev.com/4fc43530a7d298d1a73a29d14f5d4b594690cd18/test/cctest/test-platform-win32.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f2cd10db1414f496984e79bf6f1a23393d60b3c1

commit f2cd10db1414f496984e79bf6f1a23393d60b3c1
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Sep 19 18:48:07 2017

Reland "[Memory] Move VirtualMemory out of base:: platform."

This is a reland of 4dd293d922dfaefb2b9d144971070574d0fb9933
Original change's description:
> [Memory] Move VirtualMemory out of base:: platform.
> 
> - Moves base::VirtualMemory to v8::internal::VirtualMemory.
> - Makes VirtualMemory platform-independent by moving internals to new
>   OS:: static methods, for each platform.
> 
> This will make it easier to delegate memory management in VirtualMemory
> to V8::Platform, so that embedders like Blink can override it. We can't
> depend on V8::Platform in base/platform.
> 
> Bug:  chromium:756050 
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Change-Id: Iadfe230b6850bd917727a373f277afded9883adf
> Reviewed-on: https://chromium-review.googlesource.com/653214
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#48048}

Bug:  chromium:756050 
Change-Id: Ib492c7c69f1833be127a571808301e96b84b8aa2
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/671125
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48084}
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/allocation.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/allocation.h
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/api.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-aix.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-linux.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-macos.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-posix.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-solaris.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform-win32.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/base/platform/platform.h
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/d8.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/heap/spaces.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/heap/spaces.h
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/heap/store-buffer.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/src/heap/store-buffer.h
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/test/cctest/test-allocation.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/test/cctest/test-platform-linux.cc
[modify] https://crrev.com/f2cd10db1414f496984e79bf6f1a23393d60b3c1/test/cctest/test-platform-win32.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/7447fd53b55d5aba4df8307e96efb580146ad797

commit 7447fd53b55d5aba4df8307e96efb580146ad797
Author: Michael Hablich <hablich@chromium.org>
Date: Wed Sep 20 05:36:29 2017

Revert "Reland "[Memory] Move VirtualMemory out of base:: platform.""

This reverts commit f2cd10db1414f496984e79bf6f1a23393d60b3c1.

Reason for revert: Blocks the roll https://chromium-review.googlesource.com/c/chromium/src/+/674623

Original change's description:
> Reland "[Memory] Move VirtualMemory out of base:: platform."
> 
> This is a reland of 4dd293d922dfaefb2b9d144971070574d0fb9933
> Original change's description:
> > [Memory] Move VirtualMemory out of base:: platform.
> > 
> > - Moves base::VirtualMemory to v8::internal::VirtualMemory.
> > - Makes VirtualMemory platform-independent by moving internals to new
> >   OS:: static methods, for each platform.
> > 
> > This will make it easier to delegate memory management in VirtualMemory
> > to V8::Platform, so that embedders like Blink can override it. We can't
> > depend on V8::Platform in base/platform.
> > 
> > Bug:  chromium:756050 
> > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> > Change-Id: Iadfe230b6850bd917727a373f277afded9883adf
> > Reviewed-on: https://chromium-review.googlesource.com/653214
> > Commit-Queue: Bill Budge <bbudge@chromium.org>
> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#48048}
> 
> Bug:  chromium:756050 
> Change-Id: Ib492c7c69f1833be127a571808301e96b84b8aa2
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Reviewed-on: https://chromium-review.googlesource.com/671125
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#48084}

TBR=bbudge@chromium.org,ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,scottmg@chromium.org

Change-Id: I04176d77ca9ad8315b0e1bb2b21f40f2c8ab9536
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/674843
Reviewed-by: Michael Hablich <hablich@chromium.org>
Commit-Queue: Michael Hablich <hablich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48088}
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/allocation.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/allocation.h
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/api.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-aix.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-linux.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-macos.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-posix.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-solaris.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform-win32.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/base/platform/platform.h
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/d8.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/heap/spaces.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/heap/spaces.h
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/heap/store-buffer.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/src/heap/store-buffer.h
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/test/cctest/test-allocation.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/test/cctest/test-platform-linux.cc
[modify] https://crrev.com/7447fd53b55d5aba4df8307e96efb580146ad797/test/cctest/test-platform-win32.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/645cda074fb82ebe6755e53aeb3c7126238c063e

commit 645cda074fb82ebe6755e53aeb3c7126238c063e
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Sep 21 15:07:22 2017

Reland "Reland "[Memory] Move VirtualMemory out of base:: platform.""

This is a reland of f2cd10db1414f496984e79bf6f1a23393d60b3c1
Original change's description:
> Reland "[Memory] Move VirtualMemory out of base:: platform."
> 
> This is a reland of 4dd293d922dfaefb2b9d144971070574d0fb9933
> Original change's description:
> > [Memory] Move VirtualMemory out of base:: platform.
> > 
> > - Moves base::VirtualMemory to v8::internal::VirtualMemory.
> > - Makes VirtualMemory platform-independent by moving internals to new
> >   OS:: static methods, for each platform.
> > 
> > This will make it easier to delegate memory management in VirtualMemory
> > to V8::Platform, so that embedders like Blink can override it. We can't
> > depend on V8::Platform in base/platform.
> > 
> > Bug:  chromium:756050 
> > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> > Change-Id: Iadfe230b6850bd917727a373f277afded9883adf
> > Reviewed-on: https://chromium-review.googlesource.com/653214
> > Commit-Queue: Bill Budge <bbudge@chromium.org>
> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#48048}
> 
> Bug:  chromium:756050 
> Change-Id: Ib492c7c69f1833be127a571808301e96b84b8aa2
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Reviewed-on: https://chromium-review.googlesource.com/671125
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#48084}

Bug:  chromium:756050 
Change-Id: Ie596730b5cefc38137cab7fc1f76613f5af7b825
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/675283
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48113}
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/allocation.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/allocation.h
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/api.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-aix.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-linux.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-macos.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-posix.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-solaris.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform-win32.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/base/platform/platform.h
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/d8.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/heap/spaces.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/heap/spaces.h
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/heap/store-buffer.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/src/heap/store-buffer.h
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/test/cctest/test-allocation.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/test/cctest/test-platform-linux.cc
[modify] https://crrev.com/645cda074fb82ebe6755e53aeb3c7126238c063e/test/cctest/test-platform-win32.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d607f1e72d082c9c4dac4d6359858e20a10f16b6

commit d607f1e72d082c9c4dac4d6359858e20a10f16b6
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Sep 22 15:26:18 2017

[Memory] Move GetRandomMmapAddr from base::OS platform to v8::internal.

- Moves GetRandomMmapAddr from platform to v8::internal allocation
  primitives, in preparation for delegating this to the embedder.
- Adds hint parameters to OS functions that used to use this function.

Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Iad72e6eac9c08a3e22c2cd2b2905623b8e514ae0
Reviewed-on: https://chromium-review.googlesource.com/677777
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48124}
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/allocation.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/allocation.h
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/api.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-aix.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-linux.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-macos.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-posix.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-solaris.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform-win32.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/base/platform/platform.h
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/d8.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/heap/heap.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/heap/heap.h
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/heap/spaces.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/log.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/src/v8.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/test/cctest/test-allocation.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/test/cctest/test-platform-linux.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/test/cctest/test-platform-win32.cc
[modify] https://crrev.com/d607f1e72d082c9c4dac4d6359858e20a10f16b6/test/unittests/heap/heap-unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/10d07f338d63769eb097c5b6009bd21bdbd4e9f8

commit 10d07f338d63769eb097c5b6009bd21bdbd4e9f8
Author: Bill Budge <bbudge@chromium.org>
Date: Sun Oct 01 16:54:16 2017

[Memory] Make OS Memory functions more generic.

- Moves leak sanitizer code to callers of OS:: Memory functions.
- Changes signature of OS::ReleasePartialRegion to be more generic,
  removing the parameters that only make sense as part of VirtualMemory.

Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I2f1401c9b0856b2eaf36b80b5f141e935ef63e1c
Reviewed-on: https://chromium-review.googlesource.com/685741
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48250}
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/allocation.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/api.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform-aix.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform-linux.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform-macos.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform-solaris.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform-win32.cc
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/base/platform/platform.h
[modify] https://crrev.com/10d07f338d63769eb097c5b6009bd21bdbd4e9f8/src/d8.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f096d724aaadaa8c321a48be12b85c7f2c2c175

commit 3f096d724aaadaa8c321a48be12b85c7f2c2c175
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Oct 03 01:06:28 2017

[Memory] Adds ASLR handling for OS'es and Architectures supported by V8.

- Refactors GetRandomPageBase to make it easier to understand.
- Adds handling for architectures and OS'es needed by V8.
- Increases random bits on Windows 64 bit to 48 for 8.10 or greater,
  44 for older versions of Windows.
- Adds unit tests.

Bug:  chromium:756050 
Change-Id: I3d27aeb9e243cfdda005662dc6df710bdbcabaaa
Reviewed-on: https://chromium-review.googlesource.com/688741
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Albert J. Wong <ajwong@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Erik Chen <erikchen@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505900}
[modify] https://crrev.com/3f096d724aaadaa8c321a48be12b85c7f2c2c175/base/BUILD.gn
[modify] https://crrev.com/3f096d724aaadaa8c321a48be12b85c7f2c2c175/base/allocator/partition_allocator/address_space_randomization.cc
[modify] https://crrev.com/3f096d724aaadaa8c321a48be12b85c7f2c2c175/base/allocator/partition_allocator/address_space_randomization.h
[add] https://crrev.com/3f096d724aaadaa8c321a48be12b85c7f2c2c175/base/allocator/partition_allocator/address_space_randomization_unittest.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d568f7599840d25b0b2dddf68c563e3e534a7a77

commit d568f7599840d25b0b2dddf68c563e3e534a7a77
Author: Kentaro Hara <haraken@chromium.org>
Date: Tue Oct 03 06:18:10 2017

Revert "[Memory] Adds ASLR handling for OS'es and Architectures supported by V8."

This reverts commit 3f096d724aaadaa8c321a48be12b85c7f2c2c175.

Reason for revert: This broke AddressSpaceRandomizationTest.GetRandomPageBase on Win7.

https://uberchromegw.corp.google.com/i/chromium.win/builders/Win7%20%2832%29%20Tests/builds/25135

Original change's description:
> [Memory] Adds ASLR handling for OS'es and Architectures supported by V8.
> 
> - Refactors GetRandomPageBase to make it easier to understand.
> - Adds handling for architectures and OS'es needed by V8.
> - Increases random bits on Windows 64 bit to 48 for 8.10 or greater,
>   44 for older versions of Windows.
> - Adds unit tests.
> 
> Bug:  chromium:756050 
> Change-Id: I3d27aeb9e243cfdda005662dc6df710bdbcabaaa
> Reviewed-on: https://chromium-review.googlesource.com/688741
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Albert J. Wong <ajwong@chromium.org>
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Reviewed-by: Chris Palmer <palmer@chromium.org>
> Reviewed-by: Erik Chen <erikchen@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#505900}

TBR=ajwong@chromium.org,palmer@chromium.org,bbudge@chromium.org,thestig@chromium.org,erikchen@chromium.org,haraken@chromium.org

Change-Id: I09adff1632f95515c9abebf67758fe9c997ca5c8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:756050 
Reviewed-on: https://chromium-review.googlesource.com/697005
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505965}
[modify] https://crrev.com/d568f7599840d25b0b2dddf68c563e3e534a7a77/base/BUILD.gn
[modify] https://crrev.com/d568f7599840d25b0b2dddf68c563e3e534a7a77/base/allocator/partition_allocator/address_space_randomization.cc
[modify] https://crrev.com/d568f7599840d25b0b2dddf68c563e3e534a7a77/base/allocator/partition_allocator/address_space_randomization.h
[delete] https://crrev.com/6dd11d28feba8b8003ef16f82b59cc3af4c6136e/base/allocator/partition_allocator/address_space_randomization_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Oct 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/96ddee842fdbdc2b0b7e33593fa5d8bd2c9c5f2a

commit 96ddee842fdbdc2b0b7e33593fa5d8bd2c9c5f2a
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Oct 03 21:28:32 2017

Reland "[Memory] Adds ASLR handling for OS'es and Architectures supported by V8."

This is a reland of 3f096d724aaadaa8c321a48be12b85c7f2c2c175
Original change's description:
> [Memory] Adds ASLR handling for OS'es and Architectures supported by V8.
> 
> - Refactors GetRandomPageBase to make it easier to understand.
> - Adds handling for architectures and OS'es needed by V8.
> - Increases random bits on Windows 64 bit to 48 for 8.10 or greater,
>   44 for older versions of Windows.
> - Adds unit tests.
> 
> Bug:  chromium:756050 
> Change-Id: I3d27aeb9e243cfdda005662dc6df710bdbcabaaa
> Reviewed-on: https://chromium-review.googlesource.com/688741
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Albert J. Wong <ajwong@chromium.org>
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Reviewed-by: Chris Palmer <palmer@chromium.org>
> Reviewed-by: Erik Chen <erikchen@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#505900}

Bug:  chromium:756050 
Change-Id: I91d2acc559e95eabeff76c86cec9faaa09bdda7c
Reviewed-on: https://chromium-review.googlesource.com/697384
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506180}
[modify] https://crrev.com/96ddee842fdbdc2b0b7e33593fa5d8bd2c9c5f2a/base/BUILD.gn
[modify] https://crrev.com/96ddee842fdbdc2b0b7e33593fa5d8bd2c9c5f2a/base/allocator/partition_allocator/address_space_randomization.cc
[modify] https://crrev.com/96ddee842fdbdc2b0b7e33593fa5d8bd2c9c5f2a/base/allocator/partition_allocator/address_space_randomization.h
[add] https://crrev.com/96ddee842fdbdc2b0b7e33593fa5d8bd2c9c5f2a/base/allocator/partition_allocator/address_space_randomization_unittest.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/40753b23d790b555eb530d96b766adf25e77c01a

commit 40753b23d790b555eb530d96b766adf25e77c01a
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Oct 17 21:04:42 2017

[Build] Add an 'is_unsafe_developer_build' gn argument.

- Adds an UNSAFE_DEVELOPER_BUILD flag too.

Bug:  chromium:756050 
Change-Id: I17bf8fcfb331f3fa11541fed64e9dae48a1c529f
Reviewed-on: https://chromium-review.googlesource.com/714443
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509528}
[modify] https://crrev.com/40753b23d790b555eb530d96b766adf25e77c01a/base/BUILD.gn
[modify] https://crrev.com/40753b23d790b555eb530d96b766adf25e77c01a/build/config/BUILD.gn

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0ad0d0517ee1cb9ee6fe8ad57d4f5997cb27eb3f

commit 0ad0d0517ee1cb9ee6fe8ad57d4f5997cb27eb3f
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Oct 17 22:46:35 2017

[page_allocator] Support predictable ASLR calculation for fuzzers.

- Adds a 'initial_seed' parameter to GetRandomPageBase, which defaults
  to 0. If non-zero, generates a predictable sequence, using the value
  as the initial seed.
- Adds a unit test for the predictable sequence.

Bug:  chromium:756050 
Change-Id: Iaf718baa2b7d49dc8eda7b0f97aa12b576ddca28
Reviewed-on: https://chromium-review.googlesource.com/703509
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509575}
[modify] https://crrev.com/0ad0d0517ee1cb9ee6fe8ad57d4f5997cb27eb3f/base/allocator/partition_allocator/address_space_randomization.cc
[modify] https://crrev.com/0ad0d0517ee1cb9ee6fe8ad57d4f5997cb27eb3f/base/allocator/partition_allocator/address_space_randomization.h
[modify] https://crrev.com/0ad0d0517ee1cb9ee6fe8ad57d4f5997cb27eb3f/base/allocator/partition_allocator/address_space_randomization_unittest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Oct 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5c461ae8682b12bef600cbb00b70d00f20da5ad6

commit 5c461ae8682b12bef600cbb00b70d00f20da5ad6
Author: Bill Budge <bbudge@chromium.org>
Date: Wed Oct 18 18:48:27 2017

Revert "[Memory] Move GetRandomMmapAddr from base::OS platform to v8::internal."

This reverts commit d607f1e72d082c9c4dac4d6359858e20a10f16b6.

Reason for revert: Suspected cause of hanging tests:

https://bugs.chromium.org/p/v8/issues/detail?id=6927#c13

Original change's description:
> [Memory] Move GetRandomMmapAddr from base::OS platform to v8::internal.
> 
> - Moves GetRandomMmapAddr from platform to v8::internal allocation
>   primitives, in preparation for delegating this to the embedder.
> - Adds hint parameters to OS functions that used to use this function.
> 
> Bug:  chromium:756050 
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Change-Id: Iad72e6eac9c08a3e22c2cd2b2905623b8e514ae0
> Reviewed-on: https://chromium-review.googlesource.com/677777
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#48124}

TBR=bbudge@chromium.org,ulan@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  chromium:756050 
Change-Id: I2c515934906e67b47ceea2863bc2992ac1d23ab3
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/726319
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48701}
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/allocation.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/allocation.h
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/api.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-aix.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-linux.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-macos.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-posix.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-solaris.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform-win32.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/base/platform/platform.h
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/d8.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/heap/heap.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/heap/heap.h
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/heap/spaces.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/log.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/src/v8.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/test/cctest/test-allocation.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/test/cctest/test-platform-linux.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/test/cctest/test-platform-win32.cc
[modify] https://crrev.com/5c461ae8682b12bef600cbb00b70d00f20da5ad6/test/unittests/heap/heap-unittest.cc

Description: Show this description

Comment 17 by kbr@chromium.org, Oct 19 2017

Blockedon: v8:6927
Project Member

Comment 18 by bugdroid1@chromium.org, Oct 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0491d459c48fd5a31edfb45e23ee9c8a5f408c66

commit 0491d459c48fd5a31edfb45e23ee9c8a5f408c66
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Oct 19 20:00:47 2017

Revert "[page_allocator] Support predictable ASLR calculation for fuzzers."

This reverts commit 0ad0d0517ee1cb9ee6fe8ad57d4f5997cb27eb3f.

Reason for revert: This doesn't actually help V8, so I'm removing it for now.

Original change's description:
> [page_allocator] Support predictable ASLR calculation for fuzzers.
> 
> - Adds a 'initial_seed' parameter to GetRandomPageBase, which defaults
>   to 0. If non-zero, generates a predictable sequence, using the value
>   as the initial seed.
> - Adds a unit test for the predictable sequence.
> 
> Bug:  chromium:756050 
> Change-Id: Iaf718baa2b7d49dc8eda7b0f97aa12b576ddca28
> Reviewed-on: https://chromium-review.googlesource.com/703509
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Chris Palmer <palmer@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#509575}

TBR=palmer@chromium.org,bbudge@chromium.org,haraken@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  chromium:756050 
Change-Id: I0f6a3618465470e93b7981580cb547474456dda9
Reviewed-on: https://chromium-review.googlesource.com/728459
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510170}
[modify] https://crrev.com/0491d459c48fd5a31edfb45e23ee9c8a5f408c66/base/allocator/partition_allocator/address_space_randomization.cc
[modify] https://crrev.com/0491d459c48fd5a31edfb45e23ee9c8a5f408c66/base/allocator/partition_allocator/address_space_randomization.h
[modify] https://crrev.com/0491d459c48fd5a31edfb45e23ee9c8a5f408c66/base/allocator/partition_allocator/address_space_randomization_unittest.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Oct 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/94c352a1cc32688dd3fd2acecdf8b5a174641477

commit 94c352a1cc32688dd3fd2acecdf8b5a174641477
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Oct 20 19:37:10 2017

[page_allocator] Fix issues with some unit tests.

- Simplify computation of huge address using ASLR mask.
- Selectively reenable test on non-Win 64 platforms.

Bug:  chromium:756050 
Change-Id: If6100643fc6311fc57dd8185d8986defb239608d
Reviewed-on: https://chromium-review.googlesource.com/722281
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510521}
[modify] https://crrev.com/94c352a1cc32688dd3fd2acecdf8b5a174641477/base/allocator/partition_allocator/partition_alloc_unittest.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Oct 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/965035031d5a8cf99f5844a086260c107ff7ba25

commit 965035031d5a8cf99f5844a086260c107ff7ba25
Author: Bill Budge <bbudge@chromium.org>
Date: Wed Oct 25 22:31:31 2017

Reland "[page_allocator] Support predictable ASLR calculation for fuzzers."

This is a reland of 0ad0d0517ee1cb9ee6fe8ad57d4f5997cb27eb3f
Original change's description:
> [page_allocator] Support predictable ASLR calculation for fuzzers.
> 
> - Adds a 'initial_seed' parameter to GetRandomPageBase, which defaults
>   to 0. If non-zero, generates a predictable sequence, using the value
>   as the initial seed.
> - Adds a unit test for the predictable sequence.
> 
> Bug:  chromium:756050 
> Change-Id: Iaf718baa2b7d49dc8eda7b0f97aa12b576ddca28
> Reviewed-on: https://chromium-review.googlesource.com/703509
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Chris Palmer <palmer@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#509575}

Bug:  chromium:756050 
Change-Id: I4652c70a5732395b494caea0d1a53a17a631bb32
Reviewed-on: https://chromium-review.googlesource.com/738220
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511618}
[modify] https://crrev.com/965035031d5a8cf99f5844a086260c107ff7ba25/base/allocator/partition_allocator/address_space_randomization.cc
[modify] https://crrev.com/965035031d5a8cf99f5844a086260c107ff7ba25/base/allocator/partition_allocator/address_space_randomization.h
[modify] https://crrev.com/965035031d5a8cf99f5844a086260c107ff7ba25/base/allocator/partition_allocator/address_space_randomization_unittest.cc

Project Member

Comment 21 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8ff743cd40d814ad22c0b2b61fbe5f53a8de3099

commit 8ff743cd40d814ad22c0b2b61fbe5f53a8de3099
Author: Vasilii Sukhanov <vasilii@chromium.org>
Date: Thu Oct 26 08:13:54 2017

Revert "Reland "[page_allocator] Support predictable ASLR calculation for fuzzers.""

This reverts commit 965035031d5a8cf99f5844a086260c107ff7ba25.

Reason for revert: failing AddressSpaceRandomizationTest.Predictable on Win 7 Tests x64 (1)
https://build.chromium.org/p/chromium.win/builders/Win%207%20Tests%20x64%20%281%29/builds/30329

Original change's description:
> Reland "[page_allocator] Support predictable ASLR calculation for fuzzers."
> 
> This is a reland of 0ad0d0517ee1cb9ee6fe8ad57d4f5997cb27eb3f
> Original change's description:
> > [page_allocator] Support predictable ASLR calculation for fuzzers.
> > 
> > - Adds a 'initial_seed' parameter to GetRandomPageBase, which defaults
> >   to 0. If non-zero, generates a predictable sequence, using the value
> >   as the initial seed.
> > - Adds a unit test for the predictable sequence.
> > 
> > Bug:  chromium:756050 
> > Change-Id: Iaf718baa2b7d49dc8eda7b0f97aa12b576ddca28
> > Reviewed-on: https://chromium-review.googlesource.com/703509
> > Commit-Queue: Bill Budge <bbudge@chromium.org>
> > Reviewed-by: Chris Palmer <palmer@chromium.org>
> > Reviewed-by: Kentaro Hara <haraken@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#509575}
> 
> Bug:  chromium:756050 
> Change-Id: I4652c70a5732395b494caea0d1a53a17a631bb32
> Reviewed-on: https://chromium-review.googlesource.com/738220
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Chris Palmer <palmer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#511618}

TBR=palmer@chromium.org,bbudge@chromium.org,haraken@chromium.org

Change-Id: I88ac9d0fb8d190d2a40d56e63b45047508201c68
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:756050 
Reviewed-on: https://chromium-review.googlesource.com/738245
Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
Commit-Queue: Vasilii Sukhanov <vasilii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511764}
[modify] https://crrev.com/8ff743cd40d814ad22c0b2b61fbe5f53a8de3099/base/allocator/partition_allocator/address_space_randomization.cc
[modify] https://crrev.com/8ff743cd40d814ad22c0b2b61fbe5f53a8de3099/base/allocator/partition_allocator/address_space_randomization.h
[modify] https://crrev.com/8ff743cd40d814ad22c0b2b61fbe5f53a8de3099/base/allocator/partition_allocator/address_space_randomization_unittest.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0b0bfc4bc363a0a44847bf8d95be34c0994f762c

commit 0b0bfc4bc363a0a44847bf8d95be34c0994f762c
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Oct 26 17:25:17 2017

[Memory] Unify POSIX memory management calls.

- Moves base::OS memory management calls into platform-posix.cc,
  using preprocessor to adjust for each platform.

Bug:  chromium:756050 
Change-Id: I2af4dce4379ad1fe9e22e5ab5c6d6a7faa3655b3
Reviewed-on: https://chromium-review.googlesource.com/738890
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48981}
[modify] https://crrev.com/0b0bfc4bc363a0a44847bf8d95be34c0994f762c/src/base/platform/platform-aix.cc
[modify] https://crrev.com/0b0bfc4bc363a0a44847bf8d95be34c0994f762c/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/0b0bfc4bc363a0a44847bf8d95be34c0994f762c/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/0b0bfc4bc363a0a44847bf8d95be34c0994f762c/src/base/platform/platform-linux.cc
[modify] https://crrev.com/0b0bfc4bc363a0a44847bf8d95be34c0994f762c/src/base/platform/platform-macos.cc
[modify] https://crrev.com/0b0bfc4bc363a0a44847bf8d95be34c0994f762c/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/0b0bfc4bc363a0a44847bf8d95be34c0994f762c/src/base/platform/platform-posix.cc
[modify] https://crrev.com/0b0bfc4bc363a0a44847bf8d95be34c0994f762c/src/base/platform/platform-posix.h
[modify] https://crrev.com/0b0bfc4bc363a0a44847bf8d95be34c0994f762c/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/0b0bfc4bc363a0a44847bf8d95be34c0994f762c/src/base/platform/platform-solaris.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9ae967fe12838d6f6e8d64eacdb7e2c29658832e

commit 9ae967fe12838d6f6e8d64eacdb7e2c29658832e
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Oct 26 19:15:29 2017

Fix fuschia build.

Bug: chromium:756050 
Change-Id: Ib65c9c4c19266eb1c6119367397be0769cfcc7a1

TBR=ulan@chromium.org

Change-Id: Ib65c9c4c19266eb1c6119367397be0769cfcc7a1
Reviewed-on: https://chromium-review.googlesource.com/740083
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48984}
[modify] https://crrev.com/9ae967fe12838d6f6e8d64eacdb7e2c29658832e/src/base/platform/platform-posix.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a389f0dd0f1b0d6b0859cd4b395ff9adba0e7bbe

commit a389f0dd0f1b0d6b0859cd4b395ff9adba0e7bbe
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Oct 26 20:59:13 2017

Reland "Reland "[page_allocator] Support predictable ASLR calculation for fuzzers.""

This is a reland of 965035031d5a8cf99f5844a086260c107ff7ba25
Original change's description:
> Reland "[page_allocator] Support predictable ASLR calculation for fuzzers."
> 
> This is a reland of 0ad0d0517ee1cb9ee6fe8ad57d4f5997cb27eb3f
> Original change's description:
> > [page_allocator] Support predictable ASLR calculation for fuzzers.
> > 
> > - Adds a 'initial_seed' parameter to GetRandomPageBase, which defaults
> >   to 0. If non-zero, generates a predictable sequence, using the value
> >   as the initial seed.
> > - Adds a unit test for the predictable sequence.
> > 
> > Bug:  chromium:756050 
> > Change-Id: Iaf718baa2b7d49dc8eda7b0f97aa12b576ddca28
> > Reviewed-on: https://chromium-review.googlesource.com/703509
> > Commit-Queue: Bill Budge <bbudge@chromium.org>
> > Reviewed-by: Chris Palmer <palmer@chromium.org>
> > Reviewed-by: Kentaro Hara <haraken@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#509575}
> 
> Bug:  chromium:756050 
> Change-Id: I4652c70a5732395b494caea0d1a53a17a631bb32
> Reviewed-on: https://chromium-review.googlesource.com/738220
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Chris Palmer <palmer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#511618}

Bug:  chromium:756050 ,  chromium:778512 
Change-Id: I8818c63b421b43e1b0715de7ab4b4cfc1bda9fff
Reviewed-on: https://chromium-review.googlesource.com/739881
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511953}
[modify] https://crrev.com/a389f0dd0f1b0d6b0859cd4b395ff9adba0e7bbe/base/allocator/partition_allocator/address_space_randomization.cc
[modify] https://crrev.com/a389f0dd0f1b0d6b0859cd4b395ff9adba0e7bbe/base/allocator/partition_allocator/address_space_randomization.h
[modify] https://crrev.com/a389f0dd0f1b0d6b0859cd4b395ff9adba0e7bbe/base/allocator/partition_allocator/address_space_randomization_unittest.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Oct 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/bfb0a6f32719366c704bfb6d049417c7834caee8

commit bfb0a6f32719366c704bfb6d049417c7834caee8
Author: Sergiy Byelozyorov <sergiyb@chromium.org>
Date: Fri Oct 27 13:23:48 2017

Revert "Fix fuschia build."

This reverts commit 9ae967fe12838d6f6e8d64eacdb7e2c29658832e.

Reason for revert: Breaks Chromium, see https://crrev.com/c/741484. Will also revert https://crrev.com/c/738890 after this.

Original change's description:
> Fix fuschia build.
> 
> Bug: chromium:756050 
> Change-Id: Ib65c9c4c19266eb1c6119367397be0769cfcc7a1
> 
> TBR=ulan@chromium.org
> 
> Change-Id: Ib65c9c4c19266eb1c6119367397be0769cfcc7a1
> Reviewed-on: https://chromium-review.googlesource.com/740083
> Reviewed-by: Bill Budge <bbudge@chromium.org>
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#48984}

TBR=bbudge@chromium.org,ulan@chromium.org,mlippautz@chromium.org,scottmg@chromium.org

Change-Id: Ie4db6aeb231fe919969a19bbe51589e108127378
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:756050 
Reviewed-on: https://chromium-review.googlesource.com/741761
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49002}
[modify] https://crrev.com/bfb0a6f32719366c704bfb6d049417c7834caee8/src/base/platform/platform-posix.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Oct 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0f21d0b0d71d27172ffb565cd7a557a3c085030a

commit 0f21d0b0d71d27172ffb565cd7a557a3c085030a
Author: Sergiy Byelozyorov <sergiyb@chromium.org>
Date: Fri Oct 27 13:24:53 2017

Revert "[Memory] Unify POSIX memory management calls."

This reverts commit 0b0bfc4bc363a0a44847bf8d95be34c0994f762c.

Reason for revert: Breaks Chromium, see https://crrev.com/c/741484. Already reverted https://crrev.com/c/740083 before this.

Original change's description:
> [Memory] Unify POSIX memory management calls.
> 
> - Moves base::OS memory management calls into platform-posix.cc,
>   using preprocessor to adjust for each platform.
> 
> Bug:  chromium:756050 
> Change-Id: I2af4dce4379ad1fe9e22e5ab5c6d6a7faa3655b3
> Reviewed-on: https://chromium-review.googlesource.com/738890
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Hannes Payer <hpayer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#48981}

TBR=bbudge@chromium.org,ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org

Change-Id: If4f62beec765e93c3618bd4824e2c1d4f6c0af4c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:756050 
Reviewed-on: https://chromium-review.googlesource.com/741762
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49003}
[modify] https://crrev.com/0f21d0b0d71d27172ffb565cd7a557a3c085030a/src/base/platform/platform-aix.cc
[modify] https://crrev.com/0f21d0b0d71d27172ffb565cd7a557a3c085030a/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/0f21d0b0d71d27172ffb565cd7a557a3c085030a/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/0f21d0b0d71d27172ffb565cd7a557a3c085030a/src/base/platform/platform-linux.cc
[modify] https://crrev.com/0f21d0b0d71d27172ffb565cd7a557a3c085030a/src/base/platform/platform-macos.cc
[modify] https://crrev.com/0f21d0b0d71d27172ffb565cd7a557a3c085030a/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/0f21d0b0d71d27172ffb565cd7a557a3c085030a/src/base/platform/platform-posix.cc
[modify] https://crrev.com/0f21d0b0d71d27172ffb565cd7a557a3c085030a/src/base/platform/platform-posix.h
[modify] https://crrev.com/0f21d0b0d71d27172ffb565cd7a557a3c085030a/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/0f21d0b0d71d27172ffb565cd7a557a3c085030a/src/base/platform/platform-solaris.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Oct 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/90d006b11a3bd635190795aa946abcf5142e3a9b

commit 90d006b11a3bd635190795aa946abcf5142e3a9b
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Oct 27 18:25:13 2017

Reland "[Memory] Unify POSIX memory management calls."

This is a reland of 0b0bfc4bc363a0a44847bf8d95be34c0994f762c
Original change's description:
> [Memory] Unify POSIX memory management calls.
> 
> - Moves base::OS memory management calls into platform-posix.cc,
>   using preprocessor to adjust for each platform.
> 
> Bug:  chromium:756050 
> Change-Id: I2af4dce4379ad1fe9e22e5ab5c6d6a7faa3655b3
> Reviewed-on: https://chromium-review.googlesource.com/738890
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Hannes Payer <hpayer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#48981}

Bug:  chromium:756050 
Change-Id: Id644d12ee117cdb2eb9d4bf0b4a2c8e3c43ae7be
Reviewed-on: https://chromium-review.googlesource.com/741485
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49011}
[modify] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/src/base/platform/platform-aix.cc
[modify] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/src/base/platform/platform-freebsd.cc
[modify] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/src/base/platform/platform-linux.cc
[modify] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/src/base/platform/platform-macos.cc
[modify] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/src/base/platform/platform-openbsd.cc
[modify] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/src/base/platform/platform-posix.cc
[modify] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/src/base/platform/platform-posix.h
[modify] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/src/base/platform/platform-qnx.cc
[modify] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/src/base/platform/platform-solaris.cc

Project Member

Comment 28 by bugdroid1@chromium.org, Oct 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/419924a28ba888eb19e96ee90c5dfb1e3861fdbd

commit 419924a28ba888eb19e96ee90c5dfb1e3861fdbd
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Oct 27 18:58:06 2017

[cctest] Merge identical platform tests, and run on all platforms.

- Moves platform-specific platform tests to test-platform.cc.
- Moves all tests into v8::internal namespace.

Bug:  chromium:756050 
Change-Id: Ic67d6b84dda07a9d5f6a0cc6489bfae90c52c0f2
Reviewed-on: https://chromium-review.googlesource.com/739983
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49012}
[modify] https://crrev.com/419924a28ba888eb19e96ee90c5dfb1e3861fdbd/test/cctest/BUILD.gn
[modify] https://crrev.com/419924a28ba888eb19e96ee90c5dfb1e3861fdbd/test/cctest/cctest.gyp
[delete] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/test/cctest/test-platform-linux.cc
[delete] https://crrev.com/90d006b11a3bd635190795aa946abcf5142e3a9b/test/cctest/test-platform-win32.cc
[modify] https://crrev.com/419924a28ba888eb19e96ee90c5dfb1e3861fdbd/test/cctest/test-platform.cc

Project Member

Comment 29 by bugdroid1@chromium.org, Nov 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/6346cc53ad623bddff20028a76285ae726d1c459

commit 6346cc53ad623bddff20028a76285ae726d1c459
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Nov 03 18:49:55 2017

[Memory] Clean up base OS memory abstractions.

- Sanitize Windows page size / alignment code.
- Reorder some methods to match header file.
- Rename AllocateAlignment to AllocatePageSize to be consistent
  with CommitPageSize.
- Eliminate OS::Allocate overload with is_executable argument.
- Eliminate base::OS::AllocateGuarded - it's not implemented.

Bug:  chromium:756050 
Change-Id: I046bb019cddde0c0063d617adc2c94a23989d9d1
Reviewed-on: https://chromium-review.googlesource.com/742684
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49114}
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/arm/codegen-arm.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/base/platform/platform-posix.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/base/platform/platform-win32.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/base/platform/platform.h
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/heap/spaces.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/ia32/codegen-ia32.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/mips/codegen-mips.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/mips64/codegen-mips64.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/ppc/codegen-ppc.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/s390/codegen-s390.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/wasm/wasm-memory.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/src/x64/codegen-x64.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-allocation.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-assembler-arm64.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-assembler-x64.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-code-stubs-arm.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-code-stubs-arm64.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-code-stubs-ia32.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-code-stubs-mips.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-code-stubs-mips64.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-code-stubs-x64.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-macro-assembler-arm.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-macro-assembler-x64.cc
[modify] https://crrev.com/6346cc53ad623bddff20028a76285ae726d1c459/test/cctest/test-platform.cc

Project Member

Comment 30 by bugdroid1@chromium.org, Nov 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/7e78506fc20875de05cd0a25411ebabb5d67f179

commit 7e78506fc20875de05cd0a25411ebabb5d67f179
Author: Bill Budge <bbudge@chromium.org>
Date: Wed Nov 08 19:39:51 2017

[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.

Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
Reviewed-on: https://chromium-review.googlesource.com/749848
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49235}
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/allocation.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/allocation.h
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/api.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/arm/codegen-arm.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/base/platform/platform-posix.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/base/platform/platform-win32.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/base/platform/platform.h
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/d8.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/heap/spaces.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/ia32/codegen-ia32.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/mips/codegen-mips.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/mips64/codegen-mips64.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/ppc/codegen-ppc.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/s390/codegen-s390.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/src/x64/codegen-x64.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/cctest.h
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-assembler-arm64.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-assembler-x64.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-code-stubs-arm.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-code-stubs-arm64.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-code-stubs-ia32.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-code-stubs-mips.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-code-stubs-mips64.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-code-stubs-x64.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-macro-assembler-arm.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-macro-assembler-x64.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/cctest/test-platform.cc
[modify] https://crrev.com/7e78506fc20875de05cd0a25411ebabb5d67f179/test/unittests/base/platform/platform-unittest.cc

Project Member

Comment 31 by bugdroid1@chromium.org, Nov 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1ea3fd2e137354b8348cc28655884587d5bb52ba

commit 1ea3fd2e137354b8348cc28655884587d5bb52ba
Author: Bill Budge <bbudge@chromium.org>
Date: Wed Nov 08 23:08:33 2017

Revert "[Memory] Use OS::Allocate for all OS memory allocations."

This reverts commit 7e78506fc20875de05cd0a25411ebabb5d67f179.

Reason for revert: Broke Android build on Arm64.

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.
> 
> Bug:  chromium:756050 
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
> Reviewed-on: https://chromium-review.googlesource.com/749848
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Hannes Payer <hpayer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#49235}

TBR=bbudge@chromium.org,hpayer@chromium.org,mlippautz@chromium.org

Change-Id: Ic09de4d63c19746a62e804b1f889817ffaebc330
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/758625
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49242}
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/allocation.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/allocation.h
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/api.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/arm/codegen-arm.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/base/platform/platform-posix.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/base/platform/platform-win32.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/base/platform/platform.h
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/d8.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/heap/spaces.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/ia32/codegen-ia32.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/mips/codegen-mips.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/mips64/codegen-mips64.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/ppc/codegen-ppc.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/s390/codegen-s390.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/src/x64/codegen-x64.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/cctest.h
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-assembler-arm64.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-assembler-x64.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-code-stubs-arm.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-code-stubs-arm64.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-code-stubs-ia32.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-code-stubs-mips.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-code-stubs-mips64.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-code-stubs-x64.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-macro-assembler-arm.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-macro-assembler-x64.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/cctest/test-platform.cc
[modify] https://crrev.com/1ea3fd2e137354b8348cc28655884587d5bb52ba/test/unittests/base/platform/platform-unittest.cc

Project Member

Comment 32 by bugdroid1@chromium.org, Nov 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/6d3e1e00309fc99170f586f2dcf275f753b1567b

commit 6d3e1e00309fc99170f586f2dcf275f753b1567b
Author: Michael Achenbach <machenbach@chromium.org>
Date: Thu Nov 09 07:22:00 2017

Revert "[Memory] Use OS::Allocate for all OS memory allocations."

This reverts commit 7e78506fc20875de05cd0a25411ebabb5d67f179.

Reason for revert: Breaks roll:
https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/381619

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.
> 
> Bug:  chromium:756050 
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
> Reviewed-on: https://chromium-review.googlesource.com/749848
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Hannes Payer <hpayer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#49235}

TBR=bbudge@chromium.org,hpayer@chromium.org,mlippautz@chromium.org

Change-Id: If538a174d048e0416b4374426df721d4ea84cd4c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/758860
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49249}

Project Member

Comment 33 by bugdroid1@chromium.org, Nov 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4899bcb66db1c8c8272b02fb1cedf9886e010f82

commit 4899bcb66db1c8c8272b02fb1cedf9886e010f82
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Nov 09 15:10:01 2017

Reland "[Memory] Use OS::Allocate for all OS memory allocations."

This is a reland of 7e78506fc20875de05cd0a25411ebabb5d67f179
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.
> 
> Bug:  chromium:756050 
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
> Change-Id: I306dbe042cc867670fdc935abca29db074b0da71
> Reviewed-on: https://chromium-review.googlesource.com/749848
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Hannes Payer <hpayer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#49235}

Bug:  chromium:756050 
Change-Id: I333f7a6aea0bcb608d01cafb43e94893a4625b15
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/758509
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49273}
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/allocation.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/allocation.h
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/api.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/arm/codegen-arm.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/base/platform/platform-posix.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/base/platform/platform-win32.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/base/platform/platform.h
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/d8.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/heap/spaces.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/ia32/codegen-ia32.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/mips/codegen-mips.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/mips64/codegen-mips64.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/ppc/codegen-ppc.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/s390/codegen-s390.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/src/x64/codegen-x64.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/cctest.h
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-assembler-arm64.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-assembler-x64.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-code-stubs-arm.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-code-stubs-arm64.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-code-stubs-ia32.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-code-stubs-mips.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-code-stubs-mips64.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-code-stubs-x64.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-macro-assembler-arm.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-macro-assembler-x64.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/cctest/test-platform.cc
[modify] https://crrev.com/4899bcb66db1c8c8272b02fb1cedf9886e010f82/test/unittests/base/platform/platform-unittest.cc

Project Member

Comment 34 by bugdroid1@chromium.org, Nov 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b73ee3344ac96f92b4418c3c07779eb95a8541cc

commit b73ee3344ac96f92b4418c3c07779eb95a8541cc
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Nov 10 17:43:41 2017

[Memory] Eliminate OS::ReleaseRegion.

- 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: I6a642374e33876966a5552fb0cdf552dc6d79aaa
Reviewed-on: https://chromium-review.googlesource.com/762345
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49305}
[modify] https://crrev.com/b73ee3344ac96f92b4418c3c07779eb95a8541cc/src/allocation.cc
[modify] https://crrev.com/b73ee3344ac96f92b4418c3c07779eb95a8541cc/src/api.cc
[modify] https://crrev.com/b73ee3344ac96f92b4418c3c07779eb95a8541cc/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/b73ee3344ac96f92b4418c3c07779eb95a8541cc/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/b73ee3344ac96f92b4418c3c07779eb95a8541cc/src/base/platform/platform-posix.cc
[modify] https://crrev.com/b73ee3344ac96f92b4418c3c07779eb95a8541cc/src/base/platform/platform-win32.cc
[modify] https://crrev.com/b73ee3344ac96f92b4418c3c07779eb95a8541cc/src/base/platform/platform.h
[modify] https://crrev.com/b73ee3344ac96f92b4418c3c07779eb95a8541cc/src/d8.cc
[modify] https://crrev.com/b73ee3344ac96f92b4418c3c07779eb95a8541cc/src/heap/spaces.cc
[modify] https://crrev.com/b73ee3344ac96f92b4418c3c07779eb95a8541cc/test/cctest/test-platform.cc

Project Member

Comment 35 by bugdroid1@chromium.org, Nov 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/adc52af5069d11606f0ff616b19af2afcbb49636

commit adc52af5069d11606f0ff616b19af2afcbb49636
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Nov 14 17:21:58 2017

Reland "[Memory] Use OS::Allocate for all OS memory allocations."

This is a reland of 4899bcb66db1c8c8272b02fb1cedf9886e010f82
This is a reland of b73ee3344ac96f92b4418c3c07779eb95a8541cc

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: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49363}
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/allocation.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/allocation.h
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/api.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/arm/codegen-arm.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/base/platform/platform-posix.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/base/platform/platform-win32.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/base/platform/platform.h
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/d8.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/heap/spaces.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/ia32/codegen-ia32.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/mips/codegen-mips.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/mips64/codegen-mips64.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/ppc/codegen-ppc.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/s390/codegen-s390.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/src/x64/codegen-x64.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/cctest.h
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-assembler-arm64.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-assembler-x64.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-code-stubs-arm.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-code-stubs-arm64.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-code-stubs-ia32.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-code-stubs-mips.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-code-stubs-mips64.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-code-stubs-x64.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-macro-assembler-arm.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-macro-assembler-x64.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/cctest/test-platform.cc
[modify] https://crrev.com/adc52af5069d11606f0ff616b19af2afcbb49636/test/unittests/base/platform/platform-unittest.cc

Project Member

Comment 36 by bugdroid1@chromium.org, Nov 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0df1471ac6ada4bbb723356bfe5f9035aed18721

commit 0df1471ac6ada4bbb723356bfe5f9035aed18721
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Nov 16 20:09:12 2017

[Memory] Add base::OS::SetPermissions method.

- Adds SetPermissions method which returns bool result.
- Eliminates Guard, SetReadAndWritable, SetReadAndExecutable, and
  SetReadWriteAndExecutable methods.
- Adds some Fuchsia memory allocation implementation.
- Some minor fixes in usage of OS::AllocatePageSize and
  OS::CommitPageSize.
- Adds DCHECKs for sanitizing parameters to OS::Allocate/Free.

Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I966ec6f029dd0371d70eca20bae197d87956f8b5
Reviewed-on: https://chromium-review.googlesource.com/760657
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49430}
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/allocation.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/api.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/arm/codegen-arm.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/base/platform/platform-posix.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/base/platform/platform-win32.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/base/platform/platform.h
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/d8.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/heap/spaces.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/ia32/codegen-ia32.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/mips/codegen-mips.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/mips64/codegen-mips64.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/ppc/codegen-ppc.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/s390/codegen-s390.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/src/x64/codegen-x64.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/test/cctest/test-assembler-arm64.cc
[modify] https://crrev.com/0df1471ac6ada4bbb723356bfe5f9035aed18721/test/unittests/base/platform/platform-unittest.cc

Project Member

Comment 37 by bugdroid1@chromium.org, Nov 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934

commit a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Nov 17 15:53:48 2017

[Memory] Warn on unused result for base/platform memory functions.

- Warn on unused result for OS Allocate, Free, SetPermissions,
  CommitRegion, UncommitRegion functions.
- Adds CHECKS or DCHECK/USE around call sites.

Bug:  chromium:756050 

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Ic00b0a42a1e09bdba013b7fa2b1b4e2b7591bac6
Reviewed-on: https://chromium-review.googlesource.com/769792
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49449}
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/allocation.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/api.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/arm/codegen-arm.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/base/platform/platform-linux.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/base/platform/platform-posix.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/base/platform/platform.h
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/d8.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/heap/spaces.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/ia32/codegen-ia32.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/mips/codegen-mips.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/mips64/codegen-mips64.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/ppc/codegen-ppc.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/s390/codegen-s390.cc
[modify] https://crrev.com/a0345a44d5caa3eb4cbe4fbbd975e0f4f5c04934/src/x64/codegen-x64.cc

Hi!

Is the design doc on the @chromium or @google domain? Neither of my accounts has access.
Project Member

Comment 39 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0481b23e2562fcb001494de3765a3ef61427fd00

commit 0481b23e2562fcb001494de3765a3ef61427fd00
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Nov 21 16:48:55 2017

[Memory] Rewrite platform OS Commit / Uncommit in terms of permissions.

- Eliminates CommitRegion and UncommitRegion methods, replacing them with
  calls to SetPermissions.
- Makes a similar change to the API of VirtualMemory.
- This changes system calls from mmap to mprotect on most POSIX platforms.

Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Ib10f8293c9398c6c1e729cd7d686b7c97e6a5d75
Reviewed-on: https://chromium-review.googlesource.com/769679
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49552}
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/src/allocation.cc
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/src/allocation.h
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/src/base/platform/platform-posix.cc
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/src/base/platform/platform-win32.cc
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/src/base/platform/platform.h
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/src/heap/spaces.cc
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/src/heap/store-buffer.cc
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/src/wasm/wasm-heap.cc
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/test/cctest/heap/test-alloc.cc
[modify] https://crrev.com/0481b23e2562fcb001494de3765a3ef61427fd00/test/cctest/test-platform.cc

Project Member

Comment 40 by bugdroid1@chromium.org, Nov 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d59bf4dce1a9cda495891565075e23e9d3bd38ec

commit d59bf4dce1a9cda495891565075e23e9d3bd38ec
Author: Bill Budge <bbudge@chromium.org>
Date: Wed Nov 22 18:11:16 2017

[Memory] Rename OS::ReleasePartialRegion to OS::Release.

- Change VirtualMemory to match OS memory concepts. Rename Release
  Free, ReleasePartial to Release.
- Adds comments to make the semantics clear. Right now V8 munmaps
  on POSIX, making address space available, while on Windows it is
  only possible to decommit.

Bug:  chromium:756050 
Change-Id: I6ba04d857ab9e1ca1f273e9e766e0825e67210cc
Reviewed-on: https://chromium-review.googlesource.com/783513
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49586}
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/allocation.cc
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/allocation.h
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/base/platform/platform-cygwin.cc
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/base/platform/platform-fuchsia.cc
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/base/platform/platform-posix.cc
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/base/platform/platform-win32.cc
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/base/platform/platform.h
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/heap/spaces.cc
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/heap/spaces.h
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/heap/store-buffer.cc
[modify] https://crrev.com/d59bf4dce1a9cda495891565075e23e9d3bd38ec/src/wasm/wasm-heap.cc

Project Member

Comment 41 by bugdroid1@chromium.org, Nov 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2cbfa2444d6192b472f02cab2c0f25b9df6145fb

commit 2cbfa2444d6192b472f02cab2c0f25b9df6145fb
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Nov 28 17:08:36 2017

[Memory] Use madvise on POSIX to allow OS to reclaim memory.

- Use madvise when setting no permissions on memory.
- Move platform specific mmap flag calculations to a helper fn.

Bug:  chromium:756050 , chromium:788341 
Change-Id: I7d420a0abee9656a57fb0317301322da2fd7d7b5
Reviewed-on: https://chromium-review.googlesource.com/790932
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49681}
[modify] https://crrev.com/2cbfa2444d6192b472f02cab2c0f25b9df6145fb/src/base/platform/platform-posix.cc
[modify] https://crrev.com/2cbfa2444d6192b472f02cab2c0f25b9df6145fb/src/base/platform/platform.h

Project Member

Comment 42 by bugdroid1@chromium.org, Dec 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0c2faa0633ea7e384012d93994edf0e6fb0d307b

commit 0c2faa0633ea7e384012d93994edf0e6fb0d307b
Author: Bill Budge <bbudge@chromium.org>
Date: Wed Dec 06 13:26:34 2017

[D8] Clean up ArrayBuffer Allocators in shell.

- Reworks the class hierarchy in d8.cc to conform to the allocator API.
  In particular, allocators should malloc/free or equivalent unless
  v8::ArrayBuffer::Allocator::Reserve is called.
- Modifies ExternalizedContents to remember the allocation mode.
- ArrayAllocatorBase now tracks its allocations to make sure it doesn't
  call Free on externalized array buffers it didn't allocate.

Bug:  chromium:756050 
Change-Id: Ic2d07d36358f1b4fa542bea27f93d1d51a1757e1
Reviewed-on: https://chromium-review.googlesource.com/807355
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Eric Holk <eholk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49893}
[modify] https://crrev.com/0c2faa0633ea7e384012d93994edf0e6fb0d307b/src/d8.cc
[modify] https://crrev.com/0c2faa0633ea7e384012d93994edf0e6fb0d307b/src/d8.h

Project Member

Comment 43 by bugdroid1@chromium.org, Dec 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5836b93ca71561e5741443cf5acbe4073104c527

commit 5836b93ca71561e5741443cf5acbe4073104c527
Author: Michael Achenbach <machenbach@chromium.org>
Date: Wed Dec 06 13:56:42 2017

Revert "[D8] Clean up ArrayBuffer Allocators in shell."

This reverts commit 0c2faa0633ea7e384012d93994edf0e6fb0d307b.

Reason for revert: seems to make win asan flaky:
https://build.chromium.org/p/client.v8/builders/V8%20Win32%20ASAN/builds/1094
https://build.chromium.org/p/client.v8/builders/V8%20Win32%20ASAN/builds/1095

Original change's description:
> [D8] Clean up ArrayBuffer Allocators in shell.
> 
> - Reworks the class hierarchy in d8.cc to conform to the allocator API.
>   In particular, allocators should malloc/free or equivalent unless
>   v8::ArrayBuffer::Allocator::Reserve is called.
> - Modifies ExternalizedContents to remember the allocation mode.
> - ArrayAllocatorBase now tracks its allocations to make sure it doesn't
>   call Free on externalized array buffers it didn't allocate.
> 
> Bug:  chromium:756050 
> Change-Id: Ic2d07d36358f1b4fa542bea27f93d1d51a1757e1
> Reviewed-on: https://chromium-review.googlesource.com/807355
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Ben Titzer <titzer@chromium.org>
> Reviewed-by: Eric Holk <eholk@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#49893}

TBR=bbudge@chromium.org,titzer@chromium.org,eholk@chromium.org

Change-Id: I0f3ecc10de843102e7681285f0300cf98704c92c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:756050 
Reviewed-on: https://chromium-review.googlesource.com/810904
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49895}
[modify] https://crrev.com/5836b93ca71561e5741443cf5acbe4073104c527/src/d8.cc
[modify] https://crrev.com/5836b93ca71561e5741443cf5acbe4073104c527/src/d8.h

Project Member

Comment 44 by bugdroid1@chromium.org, Dec 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5679ab102df028a67916a736802943e232df12fd

commit 5679ab102df028a67916a736802943e232df12fd
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Dec 07 22:40:13 2017

Reland "[D8] Clean up ArrayBuffer Allocators in shell."

This is a reland of 0c2faa0633ea7e384012d93994edf0e6fb0d307b
Original change's description:
> [D8] Clean up ArrayBuffer Allocators in shell.
>
> - Reworks the class hierarchy in d8.cc to conform to the allocator API.
>   In particular, allocators should malloc/free or equivalent unless
>   v8::ArrayBuffer::Allocator::Reserve is called.
> - Modifies ExternalizedContents to remember the allocation mode.
> - ArrayAllocatorBase now tracks its allocations to make sure it doesn't
>   call Free on externalized array buffers it didn't allocate.
>
> Bug:  chromium:756050 
> Change-Id: Ic2d07d36358f1b4fa542bea27f93d1d51a1757e1
> Reviewed-on: https://chromium-review.googlesource.com/807355
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Ben Titzer <titzer@chromium.org>
> Reviewed-by: Eric Holk <eholk@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#49893}

Bug:  chromium:756050 , v8:7146 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I8fe3a9d9af43196e16d02342a47347a76c0a1341
Reviewed-on: https://chromium-review.googlesource.com/811724
Reviewed-by: Eric Holk <eholk@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49945}
[modify] https://crrev.com/5679ab102df028a67916a736802943e232df12fd/src/api.cc
[modify] https://crrev.com/5679ab102df028a67916a736802943e232df12fd/src/d8.cc
[modify] https://crrev.com/5679ab102df028a67916a736802943e232df12fd/src/d8.h

Project Member

Comment 45 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/3c5cb5e5c77b9aed4e0cb5a9bce14c381af26699

commit 3c5cb5e5c77b9aed4e0cb5a9bce14c381af26699
Author: John Barboza <jbarboza@ca.ibm.com>
Date: Fri Dec 08 14:21:50 2017

AIX: [Memory] Use madvise on POSIX to allow OS to reclaim memory.

Port 2cbfa2444d6192b472f02cab2c0f25b9df6145fb

Original Commit Message:

  [Memory] Use madvise on POSIX to allow OS to reclaim memory.

  - Use madvise when setting no permissions on memory.
  - Move platform specific mmap flag calculations to a helper fn.

  Bug:  chromium:756050 , chromium:788341 
  Change-Id: I7d420a0abee9656a57fb0317301322da2fd7d7b5
  Reviewed-on: https://chromium-review.googlesource.com/790932


Change-Id: I5f7957066d0be96bd429b3d55c9293ffb996750c
Reviewed-on: https://chromium-review.googlesource.com/804554
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49961}
[modify] https://crrev.com/3c5cb5e5c77b9aed4e0cb5a9bce14c381af26699/src/base/platform/platform-posix.cc

Project Member

Comment 46 by bugdroid1@chromium.org, Dec 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/39dfc337ca641a1833f14ec9ed21bbd29f65a5e3

commit 39dfc337ca641a1833f14ec9ed21bbd29f65a5e3
Author: Bill Budge <bbudge@chromium.org>
Date: Wed Dec 13 02:51:02 2017

[page_allocator] Don't allow read/write/execute permissions.

- V8 is moving to a read/write read/execute system. We won't need
  read/write/execute and should remove it from Chrome now.

Bug:  chromium:756050 
Change-Id: Icc8a3ec334535c460e74a413cb265de2872db9f5
Reviewed-on: https://chromium-review.googlesource.com/822514
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523663}
[modify] https://crrev.com/39dfc337ca641a1833f14ec9ed21bbd29f65a5e3/base/allocator/partition_allocator/page_allocator.cc
[modify] https://crrev.com/39dfc337ca641a1833f14ec9ed21bbd29f65a5e3/base/allocator/partition_allocator/page_allocator.h

Project Member

Comment 47 by bugdroid1@chromium.org, Dec 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a449f09fad66a328a81e8be48415549e8ef1d758

commit a449f09fad66a328a81e8be48415549e8ef1d758
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Dec 15 18:49:47 2017

[Memory] Create memory management API in v8::internal.

- Creates a memory management API in v8::internal, which corresponds
  to the existing one in base::OS.
- Implements the new API in terms of the old one.
- Changes all usage of the base::OS API to the one in v8::internal. This
  includes all tests, except platform and OS tests.
- Makes OS:: methods private.
- Moves all LSAN calls into the v8::internal functions.

Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Iaa3f022e3e12fdebf937f3c76b6c6455014beb8a
Reviewed-on: https://chromium-review.googlesource.com/794856
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Eric Holk <eholk@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50139}
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/allocation.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/allocation.h
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/api.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/arm/codegen-arm.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/base/platform/platform-posix.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/base/platform/platform.h
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/d8.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/heap/heap.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/heap/heap.h
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/heap/spaces.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/heap/store-buffer.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/ia32/codegen-ia32.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/mips/codegen-mips.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/mips64/codegen-mips64.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/ppc/codegen-ppc.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/s390/codegen-s390.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/wasm/wasm-code-manager.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/wasm/wasm-memory.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/src/x64/codegen-x64.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/cctest/cctest.h
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/cctest/heap/test-spaces.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/cctest/test-allocation.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/cctest/test-assembler-arm64.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/cctest/test-platform.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/cctest/wasm/wasm-run-utils.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/unittests/BUILD.gn
[add] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/unittests/allocation-unittest.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/unittests/base/platform/platform-unittest.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/unittests/heap/heap-unittest.cc
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/unittests/unittests.gyp
[modify] https://crrev.com/a449f09fad66a328a81e8be48415549e8ef1d758/test/unittests/wasm/wasm-code-manager-unittest.cc

Project Member

Comment 48 by bugdroid1@chromium.org, Dec 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a475833e3ec82a3d80ddd612bcb038c329edee12

commit a475833e3ec82a3d80ddd612bcb038c329edee12
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Dec 19 00:55:35 2017

[Build] Add USE_PARTITION_ALLOC define.

Bug:  chromium:756050 
Change-Id: Ieef0ee8e69cc4c4fb11d7bd657c40f39ad55471d
Reviewed-on: https://chromium-review.googlesource.com/833386
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524889}
[modify] https://crrev.com/a475833e3ec82a3d80ddd612bcb038c329edee12/base/BUILD.gn

Project Member

Comment 49 by bugdroid1@chromium.org, Dec 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5cce023721315702e4e5d475859ef5951d391731

commit 5cce023721315702e4e5d475859ef5951d391731
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Dec 19 22:40:42 2017

Revert "[Build] Add USE_PARTITION_ALLOC define."

This reverts commit a475833e3ec82a3d80ddd612bcb038c329edee12.

Reason for revert: A better solution is to use build/buildflag_header.gni

Original change's description:
> [Build] Add USE_PARTITION_ALLOC define.
> 
> Bug:  chromium:756050 
> Change-Id: Ieef0ee8e69cc4c4fb11d7bd657c40f39ad55471d
> Reviewed-on: https://chromium-review.googlesource.com/833386
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#524889}

TBR=bbudge@chromium.org,thestig@chromium.org,dpranke@chromium.org

Change-Id: I1668b05ca664daeaca1868e278320862d1f6af75
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:756050 
Reviewed-on: https://chromium-review.googlesource.com/834730
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525167}
[modify] https://crrev.com/5cce023721315702e4e5d475859ef5951d391731/base/BUILD.gn

Project Member

Comment 50 by bugdroid1@chromium.org, Dec 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a81123c1f99e52d4b4265cfeb13f3279642aff63

commit a81123c1f99e52d4b4265cfeb13f3279642aff63
Author: Bill Budge <bbudge@chromium.org>
Date: Wed Dec 20 01:21:29 2017

[Build] Make 'use_partition_alloc' more accessible.

- Moves declaration to build/config/allocator.gni, so it can be
  imported to other components.

Bug:  chromium:756050 
Change-Id: If1fd8383baf6ee576470a235b2e542ccc192505f
Reviewed-on: https://chromium-review.googlesource.com/835270
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525214}
[modify] https://crrev.com/a81123c1f99e52d4b4265cfeb13f3279642aff63/base/BUILD.gn
[modify] https://crrev.com/a81123c1f99e52d4b4265cfeb13f3279642aff63/build/config/allocator.gni

Project Member

Comment 51 by bugdroid1@chromium.org, Dec 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9baef6a7e19a1e3e522fd01c691483b7f6508452

commit 9baef6a7e19a1e3e522fd01c691483b7f6508452
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Dec 21 17:17:29 2017

[Memory] Add SetRandomMmapSeed function to v8::internal.

- Adds SetRandomMmapSeed method.
- Removes random seed from OS::Initialize signature.

Bug:  chromium:756050 
Change-Id: I46ef6a92efb8b97541b90383d08776dd73a35a0c
Reviewed-on: https://chromium-review.googlesource.com/836907
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50280}
[modify] https://crrev.com/9baef6a7e19a1e3e522fd01c691483b7f6508452/src/allocation.cc
[modify] https://crrev.com/9baef6a7e19a1e3e522fd01c691483b7f6508452/src/allocation.h
[modify] https://crrev.com/9baef6a7e19a1e3e522fd01c691483b7f6508452/src/base/platform/platform-posix.cc
[modify] https://crrev.com/9baef6a7e19a1e3e522fd01c691483b7f6508452/src/base/platform/platform-win32.cc
[modify] https://crrev.com/9baef6a7e19a1e3e522fd01c691483b7f6508452/src/base/platform/platform.h
[modify] https://crrev.com/9baef6a7e19a1e3e522fd01c691483b7f6508452/src/v8.cc

Project Member

Comment 52 by bugdroid1@chromium.org, Dec 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/699144a2258c15cb79aae4ca4b82ea5467f12b8f

commit 699144a2258c15cb79aae4ca4b82ea5467f12b8f
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Dec 21 19:46:23 2017

[Memory] Add PageAllocator concept to v8::Platform.

- Adds abstract base class PageAllocator, defined in v8-platform.h. Adds
  GetPageAllocator method to v8::Platform.
- Implements a DefaultPageAllocator, implemented in terms of base::OS
  page allocation methods.

Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Iece0b261a07294a49c30ac25e848dc39cb1a32e2
Reviewed-on: https://chromium-review.googlesource.com/809778
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50282}
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/BUILD.gn
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/include/v8-platform.h
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/allocation.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/allocation.h
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/api.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/arm/codegen-arm.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/base/DEPS
[add] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/base/page-allocator.cc
[add] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/base/page-allocator.h
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/base/platform/platform.h
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/d8.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/heap/spaces.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/heap/store-buffer.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/ia32/codegen-ia32.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/libplatform/default-platform.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/libplatform/default-platform.h
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/mips/codegen-mips.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/mips64/codegen-mips64.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/ppc/codegen-ppc.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/s390/codegen-s390.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/v8.gyp
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/wasm/wasm-code-manager.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/src/x64/codegen-x64.cc
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/test/cctest/cctest.h
[modify] https://crrev.com/699144a2258c15cb79aae4ca4b82ea5467f12b8f/test/unittests/allocation-unittest.cc

Project Member

Comment 53 by bugdroid1@chromium.org, Dec 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/29bb707e9b5d27110efadb22bad115d9ab356cfb

commit 29bb707e9b5d27110efadb22bad115d9ab356cfb
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Dec 22 19:28:48 2017

[Memory] Add OnCriticalMemoryPressure overload to v8::Platform.

- Adds overload to v8::Platform that will make it easier for embedders to
  maintain a reserve of address space for large, contiguous allocations.
- Rewrites retry logic using loops.
- Moves retry logic from some VirtualMemory allocation functions to AllocPages.

Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I52e66f9f8b15b6ce2a2f36e74783f178b8cd5cf7
Reviewed-on: https://chromium-review.googlesource.com/840724
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50303}
[modify] https://crrev.com/29bb707e9b5d27110efadb22bad115d9ab356cfb/include/v8-platform.h
[modify] https://crrev.com/29bb707e9b5d27110efadb22bad115d9ab356cfb/src/allocation.cc
[modify] https://crrev.com/29bb707e9b5d27110efadb22bad115d9ab356cfb/src/allocation.h
[modify] https://crrev.com/29bb707e9b5d27110efadb22bad115d9ab356cfb/src/zone/accounting-allocator.cc

Project Member

Comment 54 by bugdroid1@chromium.org, Dec 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/07c6ea6feeb56a12be487b9e8fd08955cf345008

commit 07c6ea6feeb56a12be487b9e8fd08955cf345008
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Dec 22 20:43:30 2017

[gin] Implement ArrayBuffer::Allocator using page_allocator.

Bug:  chromium:756050 
Change-Id: I13b8eaa26eb94dc1b1f4e37c678b82853246c423
Reviewed-on: https://chromium-review.googlesource.com/818449
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526054}
[modify] https://crrev.com/07c6ea6feeb56a12be487b9e8fd08955cf345008/gin/BUILD.gn
[modify] https://crrev.com/07c6ea6feeb56a12be487b9e8fd08955cf345008/gin/array_buffer.cc

Project Member

Comment 55 by bugdroid1@chromium.org, Dec 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/538e584ab4605c739948039be6777dc12bfa5be3

commit 538e584ab4605c739948039be6777dc12bfa5be3
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Dec 22 21:08:20 2017

[Memory] Add v8::internal::AllocWithRetry function.

- Moves all allocation retry logic into allocation.

Bug:  chromium:756050 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I810d01f0a0a002b08bf3f82ea4195d636ab6e03a
Reviewed-on: https://chromium-review.googlesource.com/843230
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50305}
[modify] https://crrev.com/538e584ab4605c739948039be6777dc12bfa5be3/src/allocation.cc
[modify] https://crrev.com/538e584ab4605c739948039be6777dc12bfa5be3/src/allocation.h
[modify] https://crrev.com/538e584ab4605c739948039be6777dc12bfa5be3/src/zone/accounting-allocator.cc

Project Member

Comment 56 by bugdroid1@chromium.org, Jan 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/7cb446c1d615696450c816583151ec8be3f81ed7

commit 7cb446c1d615696450c816583151ec8be3f81ed7
Author: Bill Budge <bbudge@chromium.org>
Date: Tue Jan 02 18:20:09 2018

[d8] Override memory functions for PredictablePlatform.

- Implements GetPageAllocator and OnCriticalMemoryPressure methods, delegating
  to the default platform, in preparation for switching over to these for
  handling memory management.

Bug:  chromium:756050 
Change-Id: I66edb35ce2669ee9ffd53e82a63b598cc5b7f40c
Reviewed-on: https://chromium-review.googlesource.com/845035
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Eric Holk <eholk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50330}
[modify] https://crrev.com/7cb446c1d615696450c816583151ec8be3f81ed7/src/d8.cc

Project Member

Comment 57 by bugdroid1@chromium.org, Jan 31 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de596034fecfd7373824bf5d5ffe1fd152e107a2

commit de596034fecfd7373824bf5d5ffe1fd152e107a2
Author: Bill Budge <bbudge@chromium.org>
Date: Wed Jan 31 01:03:47 2018

Revert "[page_allocator] Don't allow read/write/execute permissions."

This reverts commit 39dfc337ca641a1833f14ec9ed21bbd29f65a5e3.

Reason for revert: Switching V8 to use page_allocator is blocked on removal of RWX permissions on that side. Reverting this temporarily so we can switch V8 to page_allocator.

Original change's description:
> [page_allocator] Don't allow read/write/execute permissions.
> 
> - V8 is moving to a read/write read/execute system. We won't need
>   read/write/execute and should remove it from Chrome now.
> 
> Bug:  chromium:756050 
> Change-Id: Icc8a3ec334535c460e74a413cb265de2872db9f5
> Reviewed-on: https://chromium-review.googlesource.com/822514
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#523663}

TBR=palmer@chromium.org,bbudge@chromium.org,haraken@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  chromium:756050 
Change-Id: I3fd2b0172822af0ce7e5cf003c53f0b6f69305e8
Reviewed-on: https://chromium-review.googlesource.com/893609
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533130}
[modify] https://crrev.com/de596034fecfd7373824bf5d5ffe1fd152e107a2/base/allocator/partition_allocator/page_allocator.cc
[modify] https://crrev.com/de596034fecfd7373824bf5d5ffe1fd152e107a2/base/allocator/partition_allocator/page_allocator.h

Project Member

Comment 58 by bugdroid1@chromium.org, Feb 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1cc19640473a99e99ef5d4223a7470765a3616ef

commit 1cc19640473a99e99ef5d4223a7470765a3616ef
Author: Bill Budge <bbudge@chromium.org>
Date: Thu Feb 01 19:46:36 2018

[gin] Implement v8::Platform::GetPageAllocator.

- Implements a v8::PageAllocator in terms of base page allocator functions.
  This will cause V8 to use Chromium's page allocator and address space
  randomization.

Bug:  chromium:756050 
Change-Id: Id076e599e7d5f09eddc78888245fc6bf879b1236
Reviewed-on: https://chromium-review.googlesource.com/896959
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533782}
[modify] https://crrev.com/1cc19640473a99e99ef5d4223a7470765a3616ef/gin/public/v8_platform.h
[modify] https://crrev.com/1cc19640473a99e99ef5d4223a7470765a3616ef/gin/v8_platform.cc

Project Member

Comment 59 by bugdroid1@chromium.org, Feb 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/227b19dc462e19b50a2e2afa36846da9c406351d

commit 227b19dc462e19b50a2e2afa36846da9c406351d
Author: Tommy Steimel <steimel@chromium.org>
Date: Thu Feb 01 22:46:52 2018

Revert "[gin] Implement v8::Platform::GetPageAllocator."

This reverts commit 1cc19640473a99e99ef5d4223a7470765a3616ef.

Reason for revert: compile failed on linux cfi:

https://ci.chromium.org/buildbot/chromium.memory/Linux%20CFI/5604

[19881/22628] ACTION //tools/v8_context_snapshot:generate_v8_context_snapshot(//build/toolchain/linux:clang_x64)
FAILED: v8_context_snapshot.bin 
python ../../build/gn_run_binary.py ./v8_context_snapshot_generator --output_file=v8_context_snapshot.bin
../../base/no_destructor.h:64:21: runtime error: control flow integrity check for type 'gin::(anonymous namespace)::PageAllocator' failed during cast to unrelated type (vtable address 0x000000000000)
0x000000000000: note: invalid vtable
<memory cannot be printed>
./v8_context_snapshot_generator failed with exit code 1

Original change's description:
> [gin] Implement v8::Platform::GetPageAllocator.
> 
> - Implements a v8::PageAllocator in terms of base page allocator functions.
>   This will cause V8 to use Chromium's page allocator and address space
>   randomization.
> 
> Bug:  chromium:756050 
> Change-Id: Id076e599e7d5f09eddc78888245fc6bf879b1236
> Reviewed-on: https://chromium-review.googlesource.com/896959
> Reviewed-by: Jeremy Roman <jbroman@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#533782}

TBR=bbudge@chromium.org,jbroman@chromium.org,haraken@chromium.org

Change-Id: I220fe81ce429bf62f29a431187b8407c9740fc93
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:756050 
Reviewed-on: https://chromium-review.googlesource.com/898362
Reviewed-by: Tommy Steimel <steimel@chromium.org>
Commit-Queue: Tommy Steimel <steimel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533840}
[modify] https://crrev.com/227b19dc462e19b50a2e2afa36846da9c406351d/gin/public/v8_platform.h
[modify] https://crrev.com/227b19dc462e19b50a2e2afa36846da9c406351d/gin/v8_platform.cc

Project Member

Comment 60 by bugdroid1@chromium.org, Feb 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/24b75fd5ed27cbe18329feb6928b8a27607deb13

commit 24b75fd5ed27cbe18329feb6928b8a27607deb13
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Feb 02 01:45:20 2018

Reland "[gin] Implement v8::Platform::GetPageAllocator."

This is a reland of 1cc19640473a99e99ef5d4223a7470765a3616ef.

Original change's description:
> [gin] Implement v8::Platform::GetPageAllocator.
> 
> - Implements a v8::PageAllocator in terms of base page allocator functions.
>   This will cause V8 to use Chromium's page allocator and address space
>   randomization.
> 
> Bug:  chromium:756050 
> Change-Id: Id076e599e7d5f09eddc78888245fc6bf879b1236
> Reviewed-on: https://chromium-review.googlesource.com/896959
> Reviewed-by: Jeremy Roman <jbroman@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#533782}

Bug:  chromium:756050 
Change-Id: I950f3c2b4d488a558fe10893525b1c0f02bc69af
Reviewed-on: https://chromium-review.googlesource.com/898435
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533906}
[modify] https://crrev.com/24b75fd5ed27cbe18329feb6928b8a27607deb13/gin/public/v8_platform.h
[modify] https://crrev.com/24b75fd5ed27cbe18329feb6928b8a27607deb13/gin/v8_platform.cc

Project Member

Comment 61 by bugdroid1@chromium.org, Feb 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a231fed8bf14cd9ddaaacd1dc78906fde0066ed6

commit a231fed8bf14cd9ddaaacd1dc78906fde0066ed6
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Feb 02 13:53:22 2018

[memory] Make sure size is properly aligned in FreePages.

- Adds a DCHECK to FreePages that size is a multiple of allocation
  granularity.
- Makes VirtualMemory::Free conform to this.

This is to conform more closely to Chromium's page allocator API.

Bug: chromium:756050 

Change-Id: I673e1c225b8bd1009775de1597b575120bd06f8e
Reviewed-on: https://chromium-review.googlesource.com/898008
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51064}
[modify] https://crrev.com/a231fed8bf14cd9ddaaacd1dc78906fde0066ed6/src/allocation.cc
[modify] https://crrev.com/a231fed8bf14cd9ddaaacd1dc78906fde0066ed6/src/base/platform/platform-win32.cc

Project Member

Comment 62 by bugdroid1@chromium.org, Feb 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a1fc3c7b140a696fc3977811909cefe5964be75e

commit a1fc3c7b140a696fc3977811909cefe5964be75e
Author: Bill Budge <bbudge@chromium.org>
Date: Fri Feb 02 13:54:28 2018

[memory] Make sure parameters are properly aligned in AllocatePages.

- Adds a DCHECK to AllocatePages to enforce hint address alignment.
- Adds a DCHECK to AllocatePages to make length a multiple of allocation
  granularity.
- Properly aligns the hint address in MemoryAllocator::AllocateChunk
  to MemoryChunk::kAlignment.

This is to conform more closely to Chromium's page allocator API.

Bug: chromium:756050 

Change-Id: Ib991fa80609834107829a9559f4b5b6b0996fc72
Reviewed-on: https://chromium-review.googlesource.com/898095
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51065}
[modify] https://crrev.com/a1fc3c7b140a696fc3977811909cefe5964be75e/src/allocation.cc
[modify] https://crrev.com/a1fc3c7b140a696fc3977811909cefe5964be75e/src/heap/spaces.cc
[modify] https://crrev.com/a1fc3c7b140a696fc3977811909cefe5964be75e/test/unittests/allocation-unittest.cc

Project Member

Comment 63 by bugdroid1@chromium.org, Feb 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b4ec88d6cc7af4b9263b0036bb4712d1ff70337d

commit b4ec88d6cc7af4b9263b0036bb4712d1ff70337d
Author: Bill Budge <bbudge@chromium.org>
Date: Mon Feb 05 01:28:15 2018

[gin] Remove V8 TODOs now that it aligns allocations and sizes.

Bug:  chromium:756050 
Change-Id: If903e1072ad0da2d09acf7785c9b6b5fc43aeaaa
Reviewed-on: https://chromium-review.googlesource.com/899861
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534312}
[modify] https://crrev.com/b4ec88d6cc7af4b9263b0036bb4712d1ff70337d/gin/v8_platform.cc

Status: Fixed (was: Started)
This landed last week, and seems to be sticking.
Project Member

Comment 65 by bugdroid1@chromium.org, Aug 6

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d0468dede05fcd57b5a96d0fbfa117a76795fa58

commit d0468dede05fcd57b5a96d0fbfa117a76795fa58
Author: Bill Budge <bbudge@chromium.org>
Date: Mon Aug 06 18:06:18 2018

[heap] Fix StoreBuffer setup.

- Solves a problem for PPC in a configuration where commit page size
  is 64K. https://chromium-review.googlesource.com/c/v8/v8/+/1149515
- Uses existing VM allocation code to get properly aligned memory.
- Makes sure the size for SetPermissions is a multiple of system page
  size.

Bug: chromium:756050 

Change-Id: Ib3799ab7a3bb44b0091c234234c1cc47938379c2
Reviewed-on: https://chromium-review.googlesource.com/1161210
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54930}
[modify] https://crrev.com/d0468dede05fcd57b5a96d0fbfa117a76795fa58/src/heap/store-buffer.cc

Sign in to add a comment