This is an archive of the discontinued LLVM Phabricator instance.

[ORC] Enable JITEventListeners in the RTDyldObjectLinkingLayer.
ClosedPublic

Authored by lhames on Mar 8 2020, 11:08 PM.

Details

Summary

Enable use of ExecutionEngine JITEventListeners in RTDyldObjectLinkingLayer.
This allows existing MCJIT clients to more easily migrate to LLJIT / ORCv2.

Still needs some polish, but posting now so that potential clients can road
test it early.

Diff Detail

Event Timeline

lhames created this revision.Mar 8 2020, 11:08 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 8 2020, 11:08 PM
wenju added a subscriber: wenju.Mar 11 2020, 4:19 PM
wenju added inline comments.Mar 14 2020, 8:29 PM
llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
87

&MemMgr should be MemMgr.get()

lhames marked an inline comment as done.Mar 15 2020, 3:02 PM
lhames added inline comments.
llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
87

You're right. Thanks Wenju!

lhames accepted this revision.Mar 15 2020, 3:05 PM

I am going to fix the issue Wenju identified and commit this: further development can happen in-tree.

This revision is now accepted and ready to land.Mar 15 2020, 3:05 PM
thakis added a subscriber: thakis.Mar 15 2020, 3:21 PM

This broke tests in exactly the way the precommit test predicted (http://45.33.8.238/linux/12615/step_12.txt). Please fix or revert. (And please look at precommit test results going forward.)

This revision was automatically updated to reflect the committed changes.

This broke tests in exactly the way the precommit test predicted (http://45.33.8.238/linux/12615/step_12.txt). Please fix or revert. (And please look at precommit test results going forward.)

Already reverted. I didn't realize the pre-commit tests were actually reliable: previous Harbormaster messages seemed to just be noise. That's very handy!

Re-enabled in 39253a50f0f with fixes for the use-after-free bug.