You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently object slots are created in the preamble basic block. This is not effective and consumes stack space for all potential objects in all possible branches.
Object slot should be moved back to the origin basic block and it's holder should be updated accordingly: when control flow reaches end of the origin basic block, object holder should be nulled.
This may be achieved using llvm.lifetime.x intrinsics.
P.S.: Object slot was moved to a preamble in commit 1f26550
The text was updated successfully, but these errors were encountered:
Previously commit 1f26550 fixed the crash by moving the alloca from local basic block to the preamble.
Actually, crash may be triggered by access to a disposed alloca memory referenced throgh gc-root by GC.
This may happen if gc-roots are not cleared when leaving the local basic block. We need to check it.
Currently object slots are created in the preamble basic block. This is not effective and consumes stack space for all potential objects in all possible branches.
Object slot should be moved back to the origin basic block and it's holder should be updated accordingly: when control flow reaches end of the origin basic block, object holder should be nulled.
This may be achieved using llvm.lifetime.x intrinsics.
P.S.: Object slot was moved to a preamble in commit 1f26550
The text was updated successfully, but these errors were encountered: