12 RFR(M) 8214583: AccessController.getContext may return wrong value after JDK-8212605
Mandy Chung
mandy.chung at oracle.com
Mon Dec 17 22:55:30 UTC 2018
This looks okay to me.
Mandy
On 12/14/18 4:59 PM, dean.long at oracle.com wrote:
> https://bugs.openjdk.java.net/browse/JDK-8214583
> http://cr.openjdk.java.net/~dlong/8214583/webrev
>
> This change includes two new regression test that demonstrate the
> problem, and a fix that allows the tests
> to pass.
>
> The problem happens when the JIT compiler's escape analysis eliminates
> the allocation of the AccessControlContext object passed to
> doPrivileged. The compiler thinks this is safe because it does not
> see that the object "escapes". However, getContext needs to be able
> to find the object using a stack walk, so we need a way to tell the
> compiler that it does indeed escape. To do this we pass the value to
> a native method that does nothing.
>
> Microbenchmark results:
>
> jdk12-b18:
>
> Benchmark Mode Cnt Score Error Units
> DoPrivileged.test avgt 25 255.626 ± 6.446 ns/op
> DoPrivileged.testInline avgt 25 250.968 ± 4.975 ns/op
>
>
> jdk12-b19:
>
> Benchmark Mode Cnt Score Error Units
> DoPrivileged.test avgt 25 5.689 ± 0.001 ns/op
> DoPrivileged.testInline avgt 25 2.765 ± 0.001 ns/op
>
> this fix:
>
> Benchmark Mode Cnt Score Error Units
> DoPrivileged.test avgt 25 5.020 ± 0.001 ns/op
> DoPrivileged.testInline avgt 25 2.774 ± 0.025 ns/op
>
>
> dl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/security-dev/attachments/20181217/11f1d1ee/attachment.htm>
More information about the security-dev
mailing list