DescriptionX87: Reland [heap] Avoid the use of cells to point from code to new-space objects.
port 5e058540192eaf95e8d1c2c3d0920219491cde15 (r37325)
original commit message:
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 neve
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
BUG=
Committed: https://crrev.com/35f3143c6a8040de92e38cadd5685ee2d9d3296b
Cr-Commit-Position: refs/heads/master@{#37466}
Patch Set 1 #
Messages
Total messages: 8 (3 generated)
|