llvm-project/llvm/lib/ExecutionEngine
Lang Hames 7565b20b50 [ORC] Switch ObjectLinkingLayer::Plugins to shared ownership, copy pipeline.
Previously ObjectLinkingLayer held unique ownership of Plugins, and links
always used the Layer's plugin list at each step. This can cause problems if
plugins are added while links are in progress however, as the newly added
plugin may receive only some of the callbacks for links that are already
running.

In this patch each link gets its own copy of the pipeline that remains
consistent throughout the link's lifetime, and it is guaranteed that Plugin
objects (now with shared ownership) will remain valid until the link completes.

Coding my way home: 9.80469S, 139.03167W
2024-04-30 23:10:06 -09:30
..