|
[heap] Move to page lookups for SemiSpace, NewSpace, and Heap containment methods
Preparing the young generation for (real) non-contiguous backing memory, this
change removes object masks that are used to compute containment in semi and new
space. The masks are replaced by lookups for object tags and page headers, where
possible.
Details:
- Use the fast checks (page header lookups) for containment in regular code.
- Use the slow version that masks out the page start adress and iterates all
pages of a space for debugging/verification.
- The slow version works for off-heap/unmapped memory.
- Encapsulate all checks for the old->new barrier in Heap::RecordWrite().
BUG= chromium:581412
LOG=N
Committed: https://crrev.com/cfbd25617cfb8177bbb6377280e23ec356eb2373
Cr-Commit-Position: refs/heads/master@{#33857}
Total comments: 24
Total comments: 1
Total comments: 2
Total comments: 14
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+244 lines, -285 lines) |
Patch |
|
M |
src/arm/macro-assembler-arm.h
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/arm/simulator-arm.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/arm64/macro-assembler-arm64.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm64/macro-assembler-arm64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+14 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/arm64/simulator-arm64.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/assembler.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/assembler.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/frames.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/heap/heap.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
3 chunks |
+9 lines, -11 lines |
0 comments
|
Download
|
|
M |
src/heap/heap.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
3 chunks |
+47 lines, -22 lines |
0 comments
|
Download
|
|
M |
src/heap/heap-inl.h
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+10 lines, -20 lines |
0 comments
|
Download
|
|
M |
src/heap/mark-compact.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
2 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/heap/slots-buffer.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/heap/spaces.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
12 chunks |
+20 lines, -73 lines |
0 comments
|
Download
|
|
M |
src/heap/spaces.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
6 chunks |
+15 lines, -29 lines |
0 comments
|
Download
|
|
M |
src/heap/spaces-inl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+52 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/heap/store-buffer-inl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+6 lines, -22 lines |
0 comments
|
Download
|
|
M |
src/mips/macro-assembler-mips.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
3 chunks |
+4 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/mips/macro-assembler-mips.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/mips/simulator-mips.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/mips64/macro-assembler-mips64.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
3 chunks |
+4 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/mips64/macro-assembler-mips64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/mips64/simulator-mips64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
3 chunks |
+6 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/snapshot/serialize.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
3 chunks |
+9 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.h
|
View
|
1
2
3
4
5
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+3 lines, -32 lines |
0 comments
|
Download
|
|
M |
test/cctest/heap/test-heap.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/cctest/test-weakmaps.cc
|
View
|
1
2
4
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/cctest/test-weaksets.cc
|
View
|
1
2
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
Total messages: 49 (28 generated)
|