|
|
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=
|
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
|
|