← Back to events
ActiveAIRelease

trunk/82e11efd09479cfbae9c03a174fa4714b09d1f89: [BE] Move MetalShaderLibrary cache guard out of the class (#197837)

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

Why it's spreading

Sources