{"push_id":2964907043,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e87aaa1093866a4508421db59822a9c2a6b50c4a","before":"4998e62d5745cca132cf92cec718be0746e70bcf","commits":[{"sha":"e87aaa1093866a4508421db59822a9c2a6b50c4a","author":{"name":"Lang Hames","email":"74486463aa8344ad78208a26153a7177f8db5983@gmail.com"},"message":"[ORC] Make the VModuleKey optional, propagate it via MaterializationUnit and\nMaterializationResponsibility.\n\nVModuleKeys are intended to enable selective removal of modules from a JIT\nsession, however for a wide variety of use cases selective removal is not\nneeded and introduces unnecessary overhead. As of this commit, the default\nconstructed VModuleKey value is reserved as a \"do not track\" value, and\nbecomes the default when adding a new module to the JIT.\n\nThis commit also changes the propagation of VModuleKeys. They were passed\nalongside the MaterializationResponsibity instance in XXLayer::emit methods,\nbut are now propagated as part of the MaterializationResponsibility instance\nitself (and as part of MaterializationUnit when stored in a JITDylib).\nAssociating VModuleKeys with MaterializationUnits in this way should allow\nfor a thread-safe module removal mechanism in the future, even when a module\nis in the process of being compiled, by having the\nMaterializationResponsibility object check in on its VModuleKey's state\nbefore commiting its results to the JITDylib.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@344643 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm/commits/e87aaa1093866a4508421db59822a9c2a6b50c4a"}]}
{"actor":{"display_login":"chapuni"}}