8.1.8发布


此次发布的版本包含OpenJDK社区的2个CVE安全更新(CVE-2021-2161, CVE-2021-2163)、4个非CVE类安全更新以及jdk8u292中的其他更新。在此次发布的版本中,龙芯进行了SHA1/SHA256/AES Intrinsics、数组拷贝等性能优化工作,这些优化使得SPECjvm2008总体提升约3.6%,其中crypto.signverify提升180%以上,crypto.aes提升20%以上。另外,此次发布的版本还包含针对龙芯平台的若干稳定性和功能性修复。


关键更新


版本升级,由jdk8u282-b08升级至jdk8u292-b10

此次升级包含2个CVE安全更新(CVE-2021-2161, CVE-2021-2163)和4个非CVE类安全更新,同时包含上游jdk8u292中的其他更新。


SHA1/SHA256 Intrinsics优化

此次发布的版本包含了针对LoongArch的SHA1和SHA256 Intrinsics优化。通过高版本JDK的JMH测试显示,MessageDigests.digest中SHA类相关的测试用例优化后最高项提升了132%,SPECjvm2008中的crypto.signverify项优化后提升了约71%。

8.1.8-jmh-sha.png


8.1.8-crypto.signverify-sha.png


AES Intrinsics优化

此次发布的版本包含了针对LoongArch的AES Intrinsics优化。通过高版本JDK的JMH测试显示,AES类相关的测试用例优化后平均提升了46%,最高项提升了109%,SPECjvm2008中的crypto.aes项优化后提升了约6.14%。

8.1.8-jmh-aes-opt.png


优化C2中Rotation操作

通过优化C2中Rotation相关的寄存器分配策略,达到消除冗余Spill的效果,使得SPECjvm2008中的crypto.signverify项在LoongArch和MIPS上分别提升了4.3%和2.6%。


数组拷贝优化

此次发布的版本针对LoongArch进行了数组拷贝相关Stub的重构和优化。通过高版本JDK的JMH测试显示,org.openjdk.bench.java.lang.ArrayCopy相关测试用例优化后平均执行时间下降33%,最多项下降了76.77%,SPECjvm2008中的serial项优化后提升了6.4%。

8.1.8-jmh-array-opt.png

8.1.8-serial-array-opt.png


稳定性提升

解决了一处LoongArch和MIPS解释器中由于乱序执行可能导致的随机崩溃问题。崩溃现象可能表现为:

# Java VM: OpenJDK 64-Bit Server VM (25.71-b00 mixed mode linux-mips64el compressed oops)
#
# Problematic frame:
# V [libjvm.so+0x8c7e80] oopDesc* PSPromotionManager::copy_to_survivor_space<false>(oopDesc*)+0x120
#



CVE修复

此次发布的版本包含如下Common Vulnerabilities and Exposures (CVE) 安全修复。

社区ID 概要
8249906 Enhance opening JARs
8250568 Less ambiguous processing

非CVE安全类修复

此次发布的版本包含如下非CVE安全类修复。

社区ID 概要
8227467 Better class method invocations
8244473 Contextualize registration for JNDI
8244543 Enhanced handling of abstract classes
8253799 Make lists of normal filenames
本页面最后修改于2021年8月12日 (星期四) 17:01。

© 2021 by 龙芯开源社区 • Powered by MediaWiki

京ICP备14017781号-2

京公网安备 11010802035787号