676 B
676 B
Priority of locks in parallel runs of the JVM IR backend
To avoid deadlocks in backend code, please make sure that a lock that comes earlier in the list never gets acquired by a thread that already holds one of the locks that come later.
JvmBackendContext.inlineMethodGenerationLock. Used to prevent concurrent generation of inline functions.- Global
IrLockinstance. Used inSymbolTable,lazyVarinstances inIrLazyDeclaration,Fir2IrLazyDeclarationsubclasses,Fir2IrDeclarationStorage. -
- lock in
ClassBuilderAndSourceFileList.asBytes. - lock on
methodNodeinInlineCodegen.cloneMethodNode. - Locks protecting
InlineCachemaps.
- lock in