Commit 058870c
[heap] Fix allocation tracker line end retrieval
Tests in NodeJS with DCHECK enabled were failing because of two
different problems:
- One was that we were also disallowing heap allocations in the
serialization stage. But NodeJS tests process the heap snapshot
result in JS, so all those were broken.
- But, also, the code that would retrieve from line ends would assume
all the scripts populated line ends in the snapshot. But this was
wrong. To fix it, this patch adds another storage of the line ends
in the allocation tracker. This storage needs to keep weak references
to the scripts so we do not leak the line ends data when scripts are
disposed.
This change keeps a weak reference to the scripts so, when they are
freed, the line ends cache is also freed as it is not useful anymore.
Node issue: nodejs/node-v8#282
Change-Id: I4314d707903175f0005893e9aa06d3ae52fc57f8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5531355
Commit-Queue: José Dapena Paz <[email protected]>
Reviewed-by: Michael Lippautz <[email protected]>
Reviewed-by: Simon Zünd <[email protected]>
Cr-Commit-Position: refs/heads/main@{#94418}1 parent a0a4172 commit 058870c
3 files changed
Lines changed: 94 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
10 | 12 | | |
| 13 | + | |
11 | 14 | | |
12 | 15 | | |
13 | 16 | | |
| |||
96 | 99 | | |
97 | 100 | | |
98 | 101 | | |
99 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
100 | 105 | | |
101 | 106 | | |
102 | 107 | | |
| |||
199 | 204 | | |
200 | 205 | | |
201 | 206 | | |
202 | | - | |
| 207 | + | |
203 | 208 | | |
204 | 209 | | |
205 | 210 | | |
| |||
220 | 225 | | |
221 | 226 | | |
222 | 227 | | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
223 | 279 | | |
224 | | - | |
| 280 | + | |
| 281 | + | |
225 | 282 | | |
226 | 283 | | |
227 | 284 | | |
| |||
236 | 293 | | |
237 | 294 | | |
238 | 295 | | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
239 | 300 | | |
240 | 301 | | |
241 | 302 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| 17 | + | |
16 | 18 | | |
| 19 | + | |
| 20 | + | |
17 | 21 | | |
18 | 22 | | |
19 | 23 | | |
| |||
105 | 109 | | |
106 | 110 | | |
107 | 111 | | |
| 112 | + | |
| 113 | + | |
108 | 114 | | |
109 | 115 | | |
110 | 116 | | |
| |||
121 | 127 | | |
122 | 128 | | |
123 | 129 | | |
124 | | - | |
125 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
126 | 136 | | |
127 | 137 | | |
128 | 138 | | |
| |||
134 | 144 | | |
135 | 145 | | |
136 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
137 | 163 | | |
138 | 164 | | |
139 | 165 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3090 | 3090 | | |
3091 | 3091 | | |
3092 | 3092 | | |
3093 | | - | |
3094 | 3093 | | |
3095 | 3094 | | |
3096 | 3095 | | |
| |||
3450 | 3449 | | |
3451 | 3450 | | |
3452 | 3451 | | |
3453 | | - | |
3454 | | - | |
3455 | | - | |
3456 | | - | |
3457 | | - | |
3458 | | - | |
3459 | | - | |
3460 | 3452 | | |
3461 | | - | |
| 3453 | + | |
3462 | 3454 | | |
3463 | | - | |
| 3455 | + | |
3464 | 3456 | | |
3465 | 3457 | | |
3466 | 3458 | | |
| |||
0 commit comments