[K/N] Rework static StaticInitializersLowering#5766
[K/N] Rework static StaticInitializersLowering#5766kunyavskiy wants to merge 1 commit intomasterfrom
Conversation
Code Owners
|
|
/dry-run |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/909203820 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
|
Triggered a retry attempt #1 out of 1. |
|
Quality gate failed. See https://buildserver.labs.intellij.net/build/909203820 to get full insight. |
62b072b to
f37f3a8
Compare
|
/dry-run |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/909898762 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
|
Triggered a retry attempt #1 out of 1. |
|
Quality gate failed. See https://buildserver.labs.intellij.net/build/909898762 to get full insight. |
In before, bodies of static init functions were generated directly in codegen. After this change, the proper IrBody is generated for them, and handled in all cases. As nice side effect, initializers of such fields stopped being global DCE roots on their own, and becoming reachable only if some function in this file is reachable. Another tricky part is registering in GC. In before, while generating bodies in codegen it was done automatically, now it's done by checking IrSetField's origin. ^KT-74763 Fixed
f37f3a8 to
c8b19ab
Compare
|
/dry-run |
|
THIS IS A DRY RUN Quality gate is triggered at https://buildserver.labs.intellij.net/build/910205684 — use this link to get full insight. Quality gate was triggered with the following revisions:
|
|
Triggered a retry attempt #1 out of 1. |
|
Quality gate failed. See https://buildserver.labs.intellij.net/build/910205684 to get full insight. |
In before, bodies of static init functions were generated directly in codegen. After this change, the proper IrBody is generated for them, and handled in all cases.
As nice side effect, initializers of such fields stopped being global DCE roots on their own, and becoming reachable only if some function in this file is reachable.
Another tricky part is registering in GC. In before, while generating bodies in codegen it was done automatically, now it's done by checking IrSetField's origin.
^KT-74763 Fixed