Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Issue 1220253004: Implement a fast buffer allocator for Vector, HashTable and StringBuilder

Created:
5 years, 5 months ago by haraken
Modified:
5 years, 4 months ago
Reviewers:
CC:
blink-reviews, Mads Ager (chromium), oilpan-reviews, haraken, blink-reviews-wtf_chromium.org, kouhei+heap_chromium.org, Mikhail
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Implement a fast buffer allocator for Vector, HashTable and StringBuilder PartitionAlloc is optimized for fixed-sized object allocations. If we use PartitionAlloc for expandable buffers such as Vector, HashTable and StringBuilder, we will end up with reallocating & copying the underlying buffers almost every time they are expanded/shrunk. We need an allocator that is optimized for expandable/shrinkable buffers (i.e., we need an allocator that can expand/shrink buffers without reallocating & copying the buffers.) With that motivation, this CL exports Oilpan's buffer allocator to non-Oilpan Vectors, HashTables and StringBuilders. This CL is still a WIP. Not ready for review. BUG=

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1350 lines, -176 lines) Patch
M PerformanceTests/Bindings/create-element.html View 1 2 3 4 5 6 7 1 chunk +8 lines, -0 lines 0 comments Download
M Source/bindings/core/v8/V8GCController.cpp View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M Source/bindings/core/v8/WindowProxy.cpp View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/dom/Node.cpp View 1 2 3 4 5 6 7 8 1 chunk +86 lines, -0 lines 0 comments Download
A Source/platform/heap/BufferAllocator.h View 1 2 1 chunk +186 lines, -0 lines 0 comments Download
A Source/platform/heap/BufferAllocator.cpp View 1 2 3 4 5 6 7 1 chunk +247 lines, -0 lines 0 comments Download
M Source/platform/heap/Heap.h View 1 2 3 4 5 6 7 8 4 chunks +14 lines, -0 lines 0 comments Download
M Source/platform/heap/Heap.cpp View 1 2 3 4 5 6 7 8 23 chunks +178 lines, -36 lines 0 comments Download
M Source/platform/heap/HeapAllocator.h View 1 2 5 chunks +29 lines, -11 lines 0 comments Download
M Source/platform/heap/ThreadState.h View 1 2 3 4 5 6 7 8 11 chunks +56 lines, -18 lines 0 comments Download
M Source/platform/heap/ThreadState.cpp View 1 2 3 4 5 6 7 8 12 chunks +68 lines, -25 lines 0 comments Download
M Source/platform/heap/blink_heap.gypi View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/platform/testing/RunAllTests.cpp View 1 2 1 chunk +22 lines, -0 lines 0 comments Download
M Source/web/WebKit.cpp View 1 2 3 4 5 6 7 8 2 chunks +23 lines, -0 lines 0 comments Download
M Source/wtf/DefaultAllocator.h View 1 2 3 4 5 4 chunks +203 lines, -35 lines 0 comments Download
M Source/wtf/DefaultAllocator.cpp View 1 2 3 4 5 6 7 8 1 chunk +62 lines, -11 lines 0 comments Download
M Source/wtf/HashTable.h View 1 2 3 4 5 6 7 8 5 chunks +29 lines, -10 lines 0 comments Download
M Source/wtf/Vector.h View 1 2 3 4 5 6 7 8 5 chunks +8 lines, -10 lines 0 comments Download
M Source/wtf/WTF.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M Source/wtf/testing/RunAllTests.cpp View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M Source/wtf/text/StringBuilder.cpp View 1 2 3 4 5 6 7 6 chunks +16 lines, -8 lines 0 comments Download
M Source/wtf/text/StringImpl.h View 1 2 10 chunks +17 lines, -7 lines 0 comments Download
M Source/wtf/text/StringImpl.cpp View 1 2 3 4 5 6 7 8 5 chunks +90 lines, -5 lines 0 comments Download

Powered by Google App Engine
This is Rietveld 408576698