Commit a12693f
committed
Track deletion of merged constants
This fixes an intermittent segfault in the Diffractor test.
The error very closely depends on the order of events,
but essentially what happens is that a
GlobalVariable gets stored into mergedConstants, but then
deleted in jl_merge_module when the opaque closure module
is merged into its parent. A test case is included, but it
is quite specific to current codegen, so it'll probably stop
being useful the next time we restructure things. It's also
intermittent (though would show up under valgrind/asan).
Hopefully, it'll nevertheless be useful.1 parent 7eb9615 commit a12693f
3 files changed
+29
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1750 | 1750 | | |
1751 | 1751 | | |
1752 | 1752 | | |
1753 | | - | |
| 1753 | + | |
1754 | 1754 | | |
1755 | 1755 | | |
| 1756 | + | |
1756 | 1757 | | |
1757 | 1758 | | |
1758 | 1759 | | |
| |||
1771 | 1772 | | |
1772 | 1773 | | |
1773 | 1774 | | |
| 1775 | + | |
1774 | 1776 | | |
1775 | 1777 | | |
1776 | 1778 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | | - | |
| 196 | + | |
197 | 197 | | |
198 | 198 | | |
199 | 199 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
270 | 270 | | |
271 | 271 | | |
272 | 272 | | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
0 commit comments