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%。
AES Intrinsics优化
此次发布的版本包含了针对LoongArch的AES Intrinsics优化。通过高版本JDK的JMH测试显示,AES类相关的测试用例优化后平均提升了46%,最高项提升了109%,SPECjvm2008中的crypto.aes项优化后提升了约6.14%。
优化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%。
稳定性提升
解决了一处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 |