Move PartitionAlloc into base/, so that we can start using it in more places. 1. Copy it 2. Migrate to base/ style 3. change Blink to use the base/ copy 4. Delete the Blink copy
This project is documented here: https://docs.google.com/document/d/16FROhiOc0eAg58Kn30mERT96I2eYOvTF8VDi6cwkvyc/edit#heading=h.d1e3f2gj8q9a
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/58184a8289cf6ae9cbe623b0c50f7e226e8bb35b commit 58184a8289cf6ae9cbe623b0c50f7e226e8bb35b Author: palmer <palmer@chromium.org> Date: Tue Nov 08 19:15:39 2016 Move some compiler intrinsic #defines to base/. PartitionAlloc uses these, and we are moving PA to base/. BUG= 632441 Review-Url: https://codereview.chromium.org/2473153003 Cr-Commit-Position: refs/heads/master@{#430681} [modify] https://crrev.com/58184a8289cf6ae9cbe623b0c50f7e226e8bb35b/base/compiler_specific.h [modify] https://crrev.com/58184a8289cf6ae9cbe623b0c50f7e226e8bb35b/ios/third_party/blink/src/html_tokenizer_adapter.h [modify] https://crrev.com/58184a8289cf6ae9cbe623b0c50f7e226e8bb35b/third_party/WebKit/Source/wtf/Compiler.h [modify] https://crrev.com/58184a8289cf6ae9cbe623b0c50f7e226e8bb35b/third_party/WebKit/Source/wtf/DEPS
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ad4cb83f4cdf1722bf611b842c16f50c2d60e58e commit ad4cb83f4cdf1722bf611b842c16f50c2d60e58e Author: Chris Palmer <palmer@chromium.org> Date: Fri Nov 18 20:02:25 2016 Correct the check in LIKELY. Per sdefresne in https://codereview.chromium.org/2473153003. BUG= 632441 R=dcheng@chromium.org, sdefresne@chromium.org Review URL: https://codereview.chromium.org/2507293002 . Cr-Commit-Position: refs/heads/master@{#433274} [modify] https://crrev.com/ad4cb83f4cdf1722bf611b842c16f50c2d60e58e/base/compiler_specific.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/79df70945ad30b96b8579ee2e6943dc6cac3ba19 commit 79df70945ad30b96b8579ee2e6943dc6cac3ba19 Author: Chris Palmer <palmer@chromium.org> Date: Fri Nov 18 21:21:23 2016 Move wtf/BitwiseOperations.h into base/bits.h. Part of the plan for WTF, and supports the PartitionAllocator move as well. BUG= 632441 R=dcheng@chromium.org, esprehn@chromium.org Review URL: https://codereview.chromium.org/2512593002 . Cr-Commit-Position: refs/heads/master@{#433301} [modify] https://crrev.com/79df70945ad30b96b8579ee2e6943dc6cac3ba19/base/bits.h [modify] https://crrev.com/79df70945ad30b96b8579ee2e6943dc6cac3ba19/base/bits_unittest.cc [modify] https://crrev.com/79df70945ad30b96b8579ee2e6943dc6cac3ba19/third_party/WebKit/Source/wtf/BitwiseOperations.h [modify] https://crrev.com/79df70945ad30b96b8579ee2e6943dc6cac3ba19/third_party/WebKit/Source/wtf/DEPS [modify] https://crrev.com/79df70945ad30b96b8579ee2e6943dc6cac3ba19/third_party/WebKit/Source/wtf/allocator/PartitionAlloc.h [modify] https://crrev.com/79df70945ad30b96b8579ee2e6943dc6cac3ba19/third_party/WebKit/Source/wtf/allocator/PartitionAllocTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d9dbd59434791ddc998d2aeb24f7f1326431ed14 commit d9dbd59434791ddc998d2aeb24f7f1326431ed14 Author: palmer <palmer@chromium.org> Date: Sat Nov 19 02:02:33 2016 Move WTF::SpinLock to base::SpinLock. This CL depends on https://codereview.chromium.org/2473153003 ("Move some compiler intrinsic #defines to base/."). BUG= 632441 Review-Url: https://codereview.chromium.org/2484803003 Cr-Commit-Position: refs/heads/master@{#433378} [modify] https://crrev.com/d9dbd59434791ddc998d2aeb24f7f1326431ed14/base/BUILD.gn [rename] https://crrev.com/d9dbd59434791ddc998d2aeb24f7f1326431ed14/base/synchronization/spin_lock.cc [add] https://crrev.com/d9dbd59434791ddc998d2aeb24f7f1326431ed14/base/synchronization/spin_lock.h [modify] https://crrev.com/d9dbd59434791ddc998d2aeb24f7f1326431ed14/third_party/WebKit/Source/wtf/BUILD.gn [modify] https://crrev.com/d9dbd59434791ddc998d2aeb24f7f1326431ed14/third_party/WebKit/Source/wtf/DEPS [modify] https://crrev.com/d9dbd59434791ddc998d2aeb24f7f1326431ed14/third_party/WebKit/Source/wtf/SpinLock.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d0f9937ffbecc604e21893ee38f2385550daa8c5 commit d0f9937ffbecc604e21893ee38f2385550daa8c5 Author: kapishnikov <kapishnikov@chromium.org> Date: Mon Nov 21 04:28:26 2016 Revert of Move WTF::SpinLock to base::SpinLock. (patchset #4 id:60001 of https://codereview.chromium.org/2484803003/ ) Reason for revert: Broke Android Cronet ARMv6 Builder: https://build.chromium.org/p/chromium.android/builders/Android%20Cronet%20ARMv6%20Builder/builds/3565 Original issue's description: > Move WTF::SpinLock to base::SpinLock. > > This CL depends on https://codereview.chromium.org/2473153003 ("Move some > compiler intrinsic #defines to base/."). > > BUG= 632441 > > Committed: https://crrev.com/d9dbd59434791ddc998d2aeb24f7f1326431ed14 > Cr-Commit-Position: refs/heads/master@{#433378} TBR=esprehn@chromium.org,dcheng@chromium.org,hans@chromium.org,thakis@chromium.org,primiano@chromium.org,palmer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= 632441 Review-Url: https://codereview.chromium.org/2517033002 Cr-Commit-Position: refs/heads/master@{#433472} [modify] https://crrev.com/d0f9937ffbecc604e21893ee38f2385550daa8c5/base/BUILD.gn [delete] https://crrev.com/de140185f3e7ad6664c8962be990d3176293c976/base/synchronization/spin_lock.h [modify] https://crrev.com/d0f9937ffbecc604e21893ee38f2385550daa8c5/third_party/WebKit/Source/wtf/BUILD.gn [modify] https://crrev.com/d0f9937ffbecc604e21893ee38f2385550daa8c5/third_party/WebKit/Source/wtf/DEPS [rename] https://crrev.com/d0f9937ffbecc604e21893ee38f2385550daa8c5/third_party/WebKit/Source/wtf/SpinLock.cpp [modify] https://crrev.com/d0f9937ffbecc604e21893ee38f2385550daa8c5/third_party/WebKit/Source/wtf/SpinLock.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/74db88dc263113165c33ab008028b6685e575019 commit 74db88dc263113165c33ab008028b6685e575019 Author: palmer <palmer@chromium.org> Date: Thu Nov 24 00:34:36 2016 Move WTF::SpinLock to base::SpinLock. This CL depends on https://codereview.chromium.org/2473153003 ("Move some compiler intrinsic #defines to base/."). This CL is a re-land of https://codereview.chromium.org/2484803003. BUG= 632441 TBR=esprehn Review-Url: https://codereview.chromium.org/2519183002 Cr-Commit-Position: refs/heads/master@{#434297} [modify] https://crrev.com/74db88dc263113165c33ab008028b6685e575019/base/BUILD.gn [rename] https://crrev.com/74db88dc263113165c33ab008028b6685e575019/base/synchronization/spin_lock.cc [add] https://crrev.com/74db88dc263113165c33ab008028b6685e575019/base/synchronization/spin_lock.h [modify] https://crrev.com/74db88dc263113165c33ab008028b6685e575019/third_party/WebKit/Source/wtf/BUILD.gn [modify] https://crrev.com/74db88dc263113165c33ab008028b6685e575019/third_party/WebKit/Source/wtf/DEPS [modify] https://crrev.com/74db88dc263113165c33ab008028b6685e575019/third_party/WebKit/Source/wtf/SpinLock.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61343b095788170874ce18d6ffd86963cba14141 commit 61343b095788170874ce18d6ffd86963cba14141 Author: Chris Palmer <palmer@chromium.org> Date: Tue Nov 29 20:44:10 2016 Move IMMEDIATE_CRASH and OOM_CRASH from wtf to base. Part of the WTF Headers Audit, and needed for moving PartitionAllocator to base. BUG= 632441 R=danakj@chromium.org, yutak@chromium.org Review URL: https://codereview.chromium.org/2525723004 . Cr-Commit-Position: refs/heads/master@{#435077} [modify] https://crrev.com/61343b095788170874ce18d6ffd86963cba14141/base/logging.h [modify] https://crrev.com/61343b095788170874ce18d6ffd86963cba14141/third_party/WebKit/Source/wtf/Assertions.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a988c5022f9bc4fb75ac0b86dda8005ee57ff357 commit a988c5022f9bc4fb75ac0b86dda8005ee57ff357 Author: palmer <palmer@chromium.org> Date: Wed Dec 14 09:40:38 2016 Move Partition Allocator into Chromium base. This will enable more parts of Chromium to use PA, and will make it easier for things outside of Chromium (e.g. PDFium) to use PA. This change is intended to be merely a move, and should not have significant performance impact. This moves only the core of PA; higher API layers that Blink uses to call into PA remain in Blink. BUG= 632441 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2518253002 Cr-Commit-Position: refs/heads/master@{#438471} [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/BUILD.gn [add] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/allocator/oom.h [add] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/allocator/partition_allocator/OWNERS [rename] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/allocator/partition_allocator/PartitionAlloc.md [rename] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/allocator/partition_allocator/address_space_randomization.cc [add] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/allocator/partition_allocator/address_space_randomization.h [rename] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/allocator/partition_allocator/page_allocator.cc [add] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/allocator/partition_allocator/page_allocator.h [rename] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/allocator/partition_allocator/partition_alloc.cc [rename] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/allocator/partition_allocator/partition_alloc.h [rename] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/allocator/partition_allocator/partition_alloc_unittest.cc [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/logging.cc [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/logging.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/sys_byteorder.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/base/sys_byteorder_unittest.cc [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/docs/memory-infra/README.md [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/core/layout/LayoutObject.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/core/layout/line/InlineBox.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/core/paint/PaintLayer.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/platform/PartitionAllocMemoryDumpProvider.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/platform/heap/CallbackStack.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/platform/heap/HeapPage.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/platform/heap/HeapPage.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/platform/heap/PageMemory.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/platform/heap/PageMemory.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/platform/heap/Persistent.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/Allocator.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/Assertions.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/BUILD.gn [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/BitVector.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/Compiler.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/DEPS [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/Deque.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/HashCountedSet.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/HashMap.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/HashSet.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/LinkedHashSet.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/ListHashSet.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/RefPtr.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/ThreadSpecific.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/Vector.h [delete] https://crrev.com/194573909b0c042f8b809c58e24fa9b8db178f8d/third_party/WebKit/Source/wtf/allocator/AddressSpaceRandomization.h [delete] https://crrev.com/194573909b0c042f8b809c58e24fa9b8db178f8d/third_party/WebKit/Source/wtf/allocator/PageAllocator.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/allocator/PartitionAllocator.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/allocator/PartitionAllocator.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/allocator/Partitions.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/allocator/Partitions.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/text/CString.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/text/CString.h [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/text/StringImpl.cpp [modify] https://crrev.com/a988c5022f9bc4fb75ac0b86dda8005ee57ff357/third_party/WebKit/Source/wtf/typed_arrays/ArrayBufferContents.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6a6836143aac1e1ad32aae278e0e9f9e2488d322 commit 6a6836143aac1e1ad32aae278e0e9f9e2488d322 Author: palmer <palmer@chromium.org> Date: Mon Jan 09 22:50:32 2017 Change PartitionAlloc to Chromium naming style. BUG= 632441 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2614883006 Cr-Commit-Position: refs/heads/master@{#442387} [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/base/allocator/partition_allocator/address_space_randomization.cc [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/base/allocator/partition_allocator/address_space_randomization.h [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/base/allocator/partition_allocator/page_allocator.cc [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/base/allocator/partition_allocator/page_allocator.h [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/base/allocator/partition_allocator/partition_alloc.cc [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/base/allocator/partition_allocator/partition_alloc.h [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/base/allocator/partition_allocator/partition_alloc_unittest.cc [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/core/layout/LayoutObject.cpp [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/core/layout/line/InlineBox.cpp [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/core/paint/PaintLayer.cpp [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/platform/PartitionAllocMemoryDumpProvider.cpp [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/platform/heap/CallbackStack.cpp [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/platform/heap/HeapPage.cpp [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/platform/heap/PageMemory.cpp [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/platform/text/BidiCharacterRun.cpp [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/web/WebMemoryStatistics.cpp [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/wtf/allocator/PartitionAllocator.h [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/wtf/allocator/Partitions.cpp [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/wtf/allocator/Partitions.h [modify] https://crrev.com/6a6836143aac1e1ad32aae278e0e9f9e2488d322/third_party/WebKit/Source/wtf/typed_arrays/ArrayBufferContents.cpp
OK, PA is moved and its style Chromiumized. Other stuff can be handled in other bugs.
Comment 1 by palmer@chromium.org
, Nov 3 2016Components: Blink>Internals>WTF Internals