|
Reland [heap] Avoid the use of cells to point from code to new-space objects.
The reason for reverting was: [Sheriff] Breaks arm debug:
https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038.
The problem was the dereferencing of handles for smi checks. It turned out
that these smi checks can be removed anyways, both on arm and on mips.
Additionally some rebasing was necessary.
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
R=mlippautz@chromium.org
Committed: https://crrev.com/5508e16592522658587da71ba6743c8e832fe4d1
Cr-Commit-Position: refs/heads/master@{#37217}
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+251 lines, -167 lines) |
Patch |
|
M |
src/arm/assembler-arm.cc
|
View
|
|
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 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 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
|
|
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
|
|
9 chunks |
+50 lines, -20 lines |
0 comments
|
Download
|
|
M |
src/heap/remembered-set.h
|
View
|
|
1 chunk |
+14 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/heap/remembered-set.cc
|
View
|
1
2
|
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 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 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 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/objects-debug.cc
|
View
|
|
1 chunk |
+19 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
|
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 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: 11 (3 generated)
|