> > > > In fact, the bugs we're having issues with now are also in the branch you're > > working on, they've been brought to the surface by recent hardware and jvm > > optimisations, new concurrent code etc. Eg, trunk fails on jdk7, while jdk6 > > passes. > > > > I'm very close to resolving these bugs. I'm currently working on jtreg > > tests. > > Awesome. Can you also apply them to the 2.2 branch? > > Regards > > Dennis >
Hmm, that's probably a lot more work than whorthwhile, once I squash this last bug I'm practically ready to release. The next release will blow the doors off the old 2.2 branch when it arrives (but don't let that deter you, it'll need a longer release candidate trial period due to significant changes). The new SecurityManager eliminates duplicate permission checks for concurrent code. The new dynamic policy provider uses immutability and performs most security checks in cpu cache without thread contention and permissions are ordered prior to checking for best match performance. A PermissionComparator avoids calling equals or hashcode on Permission objects (due to broken equals contracts or poor blocking implementations). A new dns nameservice provider is included, that's faster too for SocketPermission and URL's and fixes reverse dns lookup issues. River performs numerous permission checks, so this will remove a lot of contention points, which also will unfortunately break some code with inadequate synchronisation as I've discovered myself, it's great for discovering bugs :) PreferredClassProvider uses URI in place of URL, which also should provide a big speed up. URL is no longer used in any collections, another big speed up. There are also numerous StringBuilder improvements to replace string concatenation and reduction of object creation for primitive's. Plus a heap of concurrency bug fixes (brought to the surface during development, by new faster or concurrent code). Cheers, Peter.
