Skip to content

阿里巴巴Dragonwell21 Extended发布说明

Yude Lin edited this page Dec 13, 2024 · 4 revisions

21.0.5.0.5+9

openjdk version "21.0.5.0.5" 2024-10-15
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-21.0.5.0.5+9-GA (build 21.0.5.0.5)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-21.0.5.0.5+9-GA (build 21.0.5.0.5, mixed mode, sharing)

特性

Backport

Compiler

  • 8329332,8329433,8331087: 减少NMethod在CodeCache中的大小
  • 8339063: 对于仅支持128 bit的SVE架构,无需验证native call是否修改了当前进程的Vector Length
  • 8333334: 使支配计算结果更为精确,以优化逃逸分析中的标量替换流程

Lilliput

  • 8318015, 8319778, 8319773, 8324881: 修复对象头压缩所使用的LM_LIGHTWEIGHT模式monitor的inflation相关的问题
  • 8319796, 8329091, 8329757: 使LM_LIGHTWEIGHT模式monitor的reentrant locking可以不再inflate以提升性能 (比如减少GC暂停时deflate开销)
  • 8340906: 生产对象头压缩的CDS archive

Runtime

  • 8322149: 简化 ConcurrentHashMap 的拷贝构造流程以优化性能

提交记录

summary cr
[Misc] Update version Issue#1
[Lilliput] Test fix for EATests after backport Issue#132
[Lilliput] Fix CDSPluginTest.java jlink not using COH Issue#128
[JIT] Backport changes to reduce nmethod size in code cache Issue#88
[Backport] 8339063: [aarch64] Skip verify_sve_vector_length after native calls if SVE supports 128 bits VL only Issue#106
[Backport] 8333334: C2: Make result of Node::dominates more precise to enhance scalar replacement Issue#104
[Backport] 8322149: ConcurrentHashMap smarter presizing for copy constructor and putAll Issue#101
[Misc] Add make.sh Issue#99
[Misc] Add globals_ext.hpp for Dragonwell specific flags Issue#93

21.0.4.0.4+7

openjdk version "21.0.4.0.4" 2024-07-16
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-21.0.4.0.4+7-GA (build 21.0.4.0.4)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-21.0.4.0.4+7-GA (build 21.0.4.0.4, mixed mode, sharing)

特性

Backport

Runtime

  • 移植Dragonwell11中的快速序列化特性,可以提升Java原生序列化的性能。默认关闭,添加-Dcom.alibaba.enableFastSerialization=true以开启
  • 8333396: 优化java.text.Format.*中format方法性能
  • 8333462:优化new DecimalFormat的性能

Lilliput

  • 8316126: 移植对象头压缩特性 (Lilliput), 使用选项-XX:+UseCompactObjectHeaders开启, 使得每个对象可以使用一个紧凑的64-bit word作为对象头 (原本则需要一个以上word), 从而减少内存开销和GC频率
  • 8315046: Lilliput移植的前置特性, 修改了Full GC时forwarding pointer的存储和解析方式, 仅在Lilliput开启时开启
  • 8139457: Lilliput移植的前置特性, 修改了数组元素起始地址的对齐方式, 非必要时不进行8字节对齐, 不管Lilliput生效与否此特性都生效

Compiler

  • 8300148: 在"init方法"对final field进行写操作的时候,使用StoreStore barrier 替代 Store Release barrier,从而提升性能
  • 8307352: 提升aarch64平台itable_stub的性能

GC

  • 加入选项-XX:+G1BarrierSimple (默认关), 精简G1 barrier逻辑, 减少barrier里的分支跳转, 增加编译优化机会, 提高吞吐率, 略微影响暂停时间

提交记录

summary cr
[Misc] Update version Issue#1
[Misc] Fast serialization (#87) Issue#76
[Backport] Lilliput test fixes and conditional option enabling Issue#91
[Backport] 8333396: Use StringBuilder internally for java.text.Format.* formatting Issue#83
[Backport] 8333462: Performance regression of new DecimalFormat() when compare to jdk11 Issue#79
[Backport] 8316126: [Lilliput/JDK21] Cherry-pick: 8305895: Implementation: JEP 450: Compact Object Headers Issue#75
[Backport] 8315046: [Lilliput/JDK21] Cherry-pick: 8305896: Alternative Issue#69
[Backport] 8139457: Relax alignment of array elements Issue#68
[GC] Add option G1BarrierSimple to use simple g1 post barrier Issue#56
[Misc] Fix the workflow for building riscv Issue#65
[Misc] Support GHA re-run failed jobs Issue#61
[Misc] Add commit message check Issue#57
Merge pull request #54 from sendaoYan/issue53 CR#
[Backport] 8300148: Consider using a StoreStore barrier instead of Release barrier on ctor exit Issue#97
[Backport] 8307352: AARCH64: Improve itable_stub Issue#96
[Misc] Add version.txt Issue#1