> >
> > 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.

 

Reply via email to