[ORC] Fix an iterator invalidation issue in JITDylib::defineMaterializing.
The loop body may add and remove entries in the symbol table so we can't hold iterators to the entries. This commit updates the method to use the newly added NonOwningSymbolStringPtr type as keys for removal instead. Side note: This bug has been present since the introduction of the defineMaterializing method, but the method is called rarely and DenseMap resizes are also rare so we didn't see any fallout until a large program was thrown at it. There's no testcase as I haven't been able to reproduce the failure with smaller testcases.
Loading
Please sign in to comment