| The method SessionImpl#fireLoad is extremely hot when it's invoked by internal events. Because of the merge with the EntityManager interface, this method now also checks for several pre-conditions of usage of the current Session, and fires after completion delayed events. These methods also avoid the relatively simple fireLoad to be inlined when used within hot loops, so we should simply extract a lighter alternative to be used by selected internal methods: fireLoadNoChecks. This has a good impact on performance, especially with non-trivial object models. |