This is an archive of the discontinued LLVM Phabricator instance.

[ORC] Preliminary support for removable code.
AbandonedPublic

Authored by lhames on May 4 2020, 12:23 AM.

Details

Reviewers
lhames
dblaikie
Summary

This patch adds support for removal of JITDylibs with notification to registered
clients to enable resources (including allocated memory) to be freed.

It is currently unsafe if any symbols in the module are currently being
materialized.

Diff Detail

Event Timeline

lhames created this revision.May 4 2020, 12:23 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 4 2020, 12:23 AM
dblaikie added inline comments.May 4 2020, 1:39 PM
llvm/lib/ExecutionEngine/Orc/Core.cpp
1883

= default, maybe? (no functional difference, but I like that it at least has the potential to give the frontend a little more information it could use at some point)

lhames updated this revision to Diff 263555.May 12 2020, 4:02 PM

Update for changes in 41379f1ec46.

Adds an 'Open' state flag to JITDylib.

Adds error plumbing for 'JITDylibDestroyed' errors to JITDylib and
MaterializationResponsibility.

lhames abandoned this revision.Nov 16 2020, 9:59 PM

This has been superseded by the removable code support added in 0aec49c8531.