JEP 232 RFR: JDK-8065942 and JDK-8056179

Sean Mullan sean.mullan at oracle.com
Wed Jun 3 20:38:01 UTC 2015


This is the third and fourth in a series of fixes for JEP 232 (Improve 
Secure Application Performance) [1].

webrev: 
http://cr.openjdk.java.net/~mullan/webrevs/8065942-8056179/webrev.00/
bugs: https://bugs.openjdk.java.net/browse/JDK-8065942 and 
https://bugs.openjdk.java.net/browse/JDK-8056179

This fix changes the Permissions and PermissionCollection subclasses to 
use concurrent collections, which significantly reduces contention when 
multiple threads are performing security checks. The bugs needed to be 
fixed together, because removing the synchronized blocks in Permissions 
revealed that several of the underlying PermissionCollection 
implementations were not thread-safe.

Several new unit tests were also added to test basic functionality of 
these classes.

With these fixes, the throughput of the Permissions.implies method 
improves from approximately 6x to 10x when more than one thread is 
running. Each of the bugs contains a performance chart with more details.

Thanks,
Sean

[1] http://openjdk.java.net/jeps/232



More information about the security-dev mailing list