trunk/82e11efd09479cfbae9c03a174fa4714b09d1f89: [BE] Move MetalShaderLibrary cache guard out of the class (#197837)
- PyTorch: 1366 events in the last 90 days
- PyTorch: 1349th Release in the last 90 days
- Previous: earlier the same day · trunk/436848ff28b08e226be1c47ee096e7f08023544f: Revert "[dynamo] Validate getattr arguments before dispatch (#196526)"
What happened
The guard that landed in #167541 uses std::recursive_mutex , that changes sizeof(MetalShaderLibrary) and therefore breaks ABI with existing out-of-tree C++ extensions, and recursive calls were made from other methods within the same class. Make it a file-static std::mutex in OperationUtils.mm, where every accessor that touches library caches are defined. Dropping recursion means untangling the two chains that nested…
Summary assembled by rule from the sources below