|
Reland [heap] Avoid the use of cells to point from code to new-space objects.
The reason for reverting is: This breaks gc-stress bot:
https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot
Abortion of compaction could cause duplicate entries in the typed-old-to-new remembered set. These duplicates could cause a DCHECK to trigger which checks that slots recorded in the remembered set never point to to-space. This reland-CL allows duplicates in the remembered set by removing the DCHECK, and additionally clears entries in the remembered set if objects are moved.
Original issue's description:
Cells were needed originally because there was no typed remembered set to
record direct pointers from code space to new space. A previous
CL ( https://codereview.chromium.org/2003553002/) already introduced
the remembered set, this CL uses it.
This CL
* stores direct pointers in code objects, even if the target is in new space,
* records the slot of the pointer in typed-old-to-new remembered set,
* adds a list which stores weak code-to-new-space references,
* adds a test to test-heap.cc for weak code-to-new-space references,
* removes prints in tail-call-megatest.js
Committed: https://crrev.com/5e058540192eaf95e8d1c2c3d0920219491cde15
Cr-Commit-Position: refs/heads/master@{#37325}
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+260 lines, -173 lines) |
Patch |
|
M |
src/arm/assembler-arm.cc
|
View
|
1
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/arm/assembler-arm-inl.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.cc
|
View
|
1
|
1 chunk |
+1 line, -13 lines |
0 comments
|
Download
|
|
M |
src/arm64/assembler-arm64.cc
|
View
|
1
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/arm64/assembler-arm64-inl.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/arm64/macro-assembler-arm64.cc
|
View
|
1
|
1 chunk |
+1 line, -8 lines |
0 comments
|
Download
|
|
M |
src/compiler.cc
|
View
|
|
1 chunk |
+8 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/heap/heap.h
|
View
|
|
3 chunks |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/heap/heap.cc
|
View
|
1
|
7 chunks |
+37 lines, -37 lines |
0 comments
|
Download
|
|
M |
src/heap/heap-inl.h
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/heap/mark-compact.cc
|
View
|
1
|
11 chunks |
+58 lines, -25 lines |
0 comments
|
Download
|
|
M |
src/heap/remembered-set.h
|
View
|
1
|
2 chunks |
+15 lines, -1 line |
0 comments
|
Download
|
|
M |
src/heap/remembered-set.cc
|
View
|
|
2 chunks |
+14 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/assembler-ia32-inl.h
|
View
|
|
3 chunks |
+1 line, -4 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.cc
|
View
|
|
1 chunk |
+3 lines, -25 lines |
0 comments
|
Download
|
|
M |
src/mips/assembler-mips.cc
|
View
|
1
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/mips/assembler-mips-inl.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/mips/macro-assembler-mips.cc
|
View
|
1
|
1 chunk |
+1 line, -13 lines |
0 comments
|
Download
|
|
M |
src/mips64/assembler-mips64.cc
|
View
|
1
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/mips64/assembler-mips64-inl.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/mips64/macro-assembler-mips64.cc
|
View
|
1
|
1 chunk |
+1 line, -13 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
1
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/objects-debug.cc
|
View
|
1
|
1 chunk |
+19 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
1
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/x64/assembler-x64-inl.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.cc
|
View
|
1
|
1 chunk |
+1 line, -8 lines |
0 comments
|
Download
|
|
M |
src/x87/assembler-x87-inl.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/heap/test-heap.cc
|
View
|
|
1 chunk |
+61 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/test-serialize.cc
|
View
|
|
1 chunk |
+13 lines, -9 lines |
0 comments
|
Download
|
Total messages: 9 (4 generated)
|