-
Notifications
You must be signed in to change notification settings - Fork 115
Alibaba Dragonwell 11 Extended Edition Release Notes
lvfei.lv edited this page Aug 15, 2024
·
10 revisions
openjdk version "11.0.24.21" 2024-07-16
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.24.21+8-GA (build 11.0.24.21+8)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.24.21+8-GA (build 11.0.24.21+8, mixed mode)
- optimize java.math.BigDecimal for BigData applications. Enabled via UseBigDecimalOpt
- optimization for IO intensive cases. Enabled via UseIOPrioritySizePolicy.
- Backport 8246718 to improve ParallelGC performance by prefetching referenced objects before copied to survivor region
- Add option G1BarrierSimple which could reduce instructions of G1 post barrier
- Add new option ReduceNMethodSize, JVM will reduce footprint of nmethod in code cache when enable it. By default it's disabled.
summary | cr |
---|---|
[Misc] Update version | Issue#225 |
[Misc] optimize BigDecimal.divide | Issue#848 |
[GC] Fix data type in IOPrioritySizePolicy | Issue#855 |
[GC] Fix an assertion that assumed ICBuffer should be cleaned | Issue#850 |
[GC] Fix option type in IOPrioritySizePolicy | CR#852 |
[GC] Add IO related size policy for Parallel GC | CR#847 |
[JIT] Backport: 8331087: Move immutable nmethod data from CodeCache | Issue#842 |
[Misc] Reduce runner permissions | Issue#840 |
[Backport] 8246718: ParallelGC should not check for forward objects for copy task queue | CR#804 |
[GC] Add option G1BarrierSimple to use simple g1 post barrier | Issue#828 |
[GC] Disable ArrayBaseOffsets.java on risc64 | Issue#814 |
[GC] Disable ArrayBaseOffsets.java on risc64 | Issue#814 |
openjdk version "11.0.23.20" 2024-04-16
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.23.20+9-ga (build 11.0.23.20+9)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.23.20+9-ga (build 11.0.23.20+9, mixed mode)
- Arrays now have compact layout with -XX:+UseCompactObjectHeaders
- code to sync with upstream OpenJDK11u-riscv-port
summary | cr |
---|---|
[Misc] Update version | Issue#225 |
[Misc] Disable ArrayBaseOffsets.java#no-coh-no-ccp when test with -XX:+UseCompactObjectHeaders | Issue#812 |
Merge pull request #811 from dragonwell-project/dragonwell_extended-11.0.23.20.9 | CR#811 |
[GC] Fix & optimize arrayEquals on AArch64 (#743) | Issue#743 |
[Backport] 8139457: Relax alignment of array elements | Issue#727 |
[Backport] 8276799: Implementation of JEP 422: Linux/RISC-V Port | CR#800 |
[Misc] Update CI configuration | Issue#796 |
[Misc] Test CdsDifferentCompactObjectHeaders.java should only run with supported GC | Issue#794 |
openjdk version "11.0.22.19" 2024-01-16
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.22.19+7-ga (build 11.0.22.19+7)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.22.19+7-ga (build 11.0.22.19+7, mixed mode)
- Backport 8266074, 8065760, 8036580, introduce new CHA implementation which relies on vtable information when looking for a monomorphic target method
- Backport 8225776, optimize branch frequency of G1's write post-barrier in C2
- Backport 8254723, support generating Linux perf map files during exiting of JVM with option -XX:+DumpPerfMapAtExit or during runtime with jcmd Compiler.perfmap
- Backport 8307352, optimize the loops in itable stub to improve performance
summary | cr |
---|---|
[Misc] Update version | Issue#225 |
[GC] Fix a test failure on G1 Concurrent GC MXBean (#789) | Issue#790 |
[JIT] Change option UseVtableBasedCHA to product | Issue#774 |
[JIT] Disable UseVtableBasedCHA by default | Issue#774 |
[Misc] Add failed test cases to linux-riscv problem list | Issue#770 |
[Backport] 8307352: AARCH64: Improve itable_stub (#764) | Issue#763 |
[Backport] 8232828: AArch64: compiler/c2/aarch64/TestVolatilesG1.java fails after JDK-8225776 | Issue#766 |
[Backport] 8225776: Optimize branch frequency of G1's write post-barrier in C2 | Issue#766 |
[Backport] 8254723: add diagnostic command to write Linux perf map file | Issue#744 |
openjdk version "11.0.21.18" 2023-10-17
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.21.18+9-GA (build 11.0.21.18+9)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.21.18+9-GA (build 11.0.21.18+9, mixed mode)
- Use -XX:+UseCompactObjectHeaders to enable object header compaction which will typically reduce memory occupation of Java objects by 10%. Only supports G1 GC and Parallel GC.
- Decouple compressed oops and compressed class pointers on x86 and aarch64
- Segment file can not deleted on Windows
summary | cr |
---|---|
[Misc] Update version | Issue#225 |
[Revert] Backout [Backport] 8139457: Relax alignment of array elements | Issue#743 |
[Backport] 8305895: Fix G1 root region scanning crash of original 8305895 backport | Issue#755 |
[Backport] 8305895: Fix a -UseTLAB crash of original 8305895 backport | Issue#747 |
[Backport] 8291555: Fix jvmti of original 8291555 backport | Issue#748 |
[EagerAppCDS] fix compile bugs in testcase | Issue#731 |
[Backport] 8139457: Relax alignment of array elements | Issue#727 |
[Backport] 8305895: Implementation: JEP 450: Compact Object Headers | Issue#721 |
[Misc] Update dragonwell standard commit template | Issue#724 |
[Backport] Fix new fast-locking is_lock_owned of backport of 8291555 | Issue#679 |
[Backport] 8319053: Segment dump files remain after parallel heap dump on Windows | Issue#714 |
[Backport] 8283710: JVMTI: Use BitSet for object marking | Issue#704 |
[EagerAppCDS] Add a EagerAppCDS testcase that test when source is null | Issue#710 |
[Backport] Fix windows build failure | Issue#704 |
[Backport] 8275415: Prepare Leak Profiler for Lilliput | Issue#704 |
[Backport] 8234173: assert(loader != __null && oopDesc::is_oop(loader)) failed: loader must be oop | Issue#704 |
[Wisp] Support new fast locking from backport of 8291555 | Issue#697 |
[Backport] 8305898: Alternative self-forwarding mechanism | Issue#692 |
[Backport] Missing monitor inflation log | Issue#679 |
[Backport] 8305896: Alternative full GC forwarding | Issue#683 |
[Backport] C2CodeStubList should be ResourceObj | Issue#685 |
[EagerAppCDS] Fix unstable test case TestExecStartupProbe | Issue#687 |
[GC] Avoid testing TestSoftMaxHeapSizeFlag.java while using other GCs | Issue#332 |
[Backport] 8291555: Implement alternative fast-locking scheme | Issue#679 |
[Backport] 8246689: Enable independent compressed oops/class ptrs on Aarch64 | Issue#677 |
[Backport] 8241825: Make compressed oops and compressed class pointers independent(x86_64) | Issue#669 |
[Misc] Update riscv build environment | Issue#674 |
[Misc] Fix CI workflow | Issue#674 |
openjdk version "11.0.20.17" 2023-07-18
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.20.17+8-GA (build 11.0.20.17+8)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.20.17+8-GA (build 11.0.20.17+8, mixed mode)
- Backport JEP346 Promptly Return Unused Committed Memory from G1. This involves two new jvm options, G1PeriodicGCInterval and G1PeriodicGCSystemLoadThreshold. G1 triggers a periodic garbage collection if more than G1PeriodicGCInterval milliseconds have passed since any previous garbage collection pause and there is no concurrent cycle in progress at this point, and average one-minute system load value as returned by the getloadavg() call on the JVM host system (e.g. container) is below G1PeriodicGCSystemLoadThreshold. See JEP346 for more informantion.
- Extend time for the testcase TestExecStartupProbe.java.
- Introduce the two-phase segmented heap dump to significantly alleviate heap dump STW pain
- Reorder segment layout of code cache to avoid long jumps and trampolines, therefore decrease code cache memory usage
- Backport C2 patches to improve JIT generated code.
summary | cr |
---|---|
[Misc] Update version | Issue#225 |
[HeapDump] Optimize segmented heap file merging phase | Issue#630 |
[Backport] 8280872: Reorder code cache segments to improve code density | Issue#664 |
[Backport] 8210853: JIT: C2 doesn't skip post barrier for new allocated objects | Issue#658 |
[Backport] 8212883: Setting a double manageable flag with jcmd/jinfo crashes the JVM | Issue#662 |
[Backport] 8218880: G1 crashes when issuing a periodic GC while the GCLocker is held | Issue#662 |
[Backport] JEP346 and bug fixes | Issue#662 |
[Backport] 6490394 and 8213898 | Issue#662 |
[Backport] 8071913: Filter out entries to free/uncommitted regions during iteration | Issue#662 |
[Backport] 8231412: C2: InitializeNode::detect_init_independence() bails out on simple IR shapes | Issue#660 |
[Backport] 8276673: Optimize abs operations in C2 compiler | Issue#648 |
[Backport] Two phase segmented heap dump | Issue#630 |
[EagerAppCDS] extend time for testcase TestExecStartupProbe | Issue#655 |
openjdk version "11.0.20.16" 2023-07-18
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.20.16+8-GA (build 11.0.20.16+8)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.20.16+8-GA (build 11.0.20.16+8, mixed mode)
- When inlining through MethodHandle calls, C2 can improve inlining decisions by taking speculative types into account.
- C2 will not depend on absolute call site counts in its inlining decisions and continue using InlineFrequencyRatio instead.
- Fix lost lock caused by
_do_not_unlock_if_synchronized
mechanism
summary | cr |
---|---|
[Misc] Update version | Issue#225 |
[Backport] 8272873: C2: Inlining should not depend on absolute call site counts | Issue#635 |
[Wisp] Fix potential issues: unbalanced monitors and killed arrayoop pending_unpark | Issue#619 |
[Backport] 8269285: Crash/miscompile in CallGenerator::for_method_handle_inline after JDK-8191998 | Issue#636 |
[Backport] 8192001: C2: inlining through dispatching MH linkers ignores speculative type of the receiver | Issue#635 |
[Backport] 8191998: C2: inlining through MH linkers drops speculative part of argument types | Issue#634 |
openjdk version "11.0.19.15" 2023-04-18
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.19.15+7-GA (build 11.0.19.15+7)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.19.15+7-GA (build 11.0.19.15+7, mixed mode)
- Provide the first incubator of VectorAPI, to express vector computations that reliably compile at runtime to optimal vector hardware instructions on supported CPU architectures and thus achieve superior performance to equivalent scalar computations.
- Supported architecture: x86 platform
- Fix numerous bugs related with 1st incuabtor.
- Related commits:
- JDK-8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL
- JDK-8263125: During deoptimization vectors should reassign scalarized payload after all objects are reallocated.
- JDK-8262096: Vector API fails to work due to VectorShape initialization exception
- JDK-8257625: C2: Harden input checks in vector intrinsics
- JDK-8265956: JVM crashes when matching LShiftVB Node
- JDK-8255915: jdk/incubator/vector/AddTest.java timed out
- JDK-8263972: C2: LoadVector/StoreVector type mismatch in MemNode::can_see_stored_value()
- JDK-8259775: [Vector API] Incorrect code-gen for VectorReinterpret operation
- JDK-8258272: LoadVectorMaskedNode can't be replaced by zero con
- JDK-8259213: Vector conversion with part > 0 is not getting intrinsic implementation
- JDK-8257537: [vector] Cleanup redundant bitwise cases on floating point vectors
- JDK-8257165: C2: Improve box elimination for vector masks and shuffles
- JDK-8259353: VectorReinterpretNode is incorrectly optimized out
- JDK-8258989: JVM is failed to inline in jdk.internal.vm.vector.VectorSupport::convert
- JDK-8257806: Optimize x86 allTrue and anyTrue vector mask operations of Vector API
- JDK-8255959: Timeouts in VectorConversion tests
- JDK-8257057: C2: Improve safepoint processing during vector scalarization pass
- JDK-8256585: Remove in-place conversion vector operators from Vector API
- JDK-8256995: [vector] Improve broadcast operations
- JDK-8256073: Improve vector rematerialization support
- JDK-8255367: C2: Deoptimization during vector box construction is broken
- JDK-8256058: Improve vector register handling in RegisterMap::pd_location() on x86
- JDK-8256581: Refactor vector conversion tests
- JDK-8255448: Fastdebug JVM crashes with Vector API when PrintAssembly is turned on
- JDK-8256054: C2: Floating-point min/max operations on vectors intermittently produce wrong results for NaN values
- JDK-8255565 [Vector API] Add missing format strings for extract instructs in x86.ad
- JDK-8255438 [Vector API] More instructs in x86.ad should use legacy mode for code-gen
- JDK-8255349: Vector API issues on Big Endian
- JDK-8255378 [Vector API] Remove redundant vector length check after JDK-8254814 and JDK-8255210
- JDK-8255210 [Vector API] jdk/incubator/vector/Int256VectorTests.java crashes on AVX512 machines
- JDK-8255174: Vector API unit tests for missed public api code coverage
- JDK-8255022: Documentation missing for Vector API zero methods
- JDK-8255020: Minor updates to docs jdk.incubator.vector
- JDK-8244186: assertion failure test/jdk/javax/net/ssl/DTLS/RespondToRetransmit.java
- JDK-8242491: C2: assert(v2->bottom_type() == vt) failed: mismatch when creating MacroLogicV
- JDK-8250745: assert(eval_map.contains(n)) failed: absent
- JDK-8223347: Integration of Vector API (Incubator)
- JDK-8239009: C2: Don't use PSHUF to load scalars from memory on x86
- JDK-8242492: C2: Remove Matcher::vector_shift_count_ideal_reg()
- JDK-8241434: x86: Fix Assembler::emit_operand asserts for XMM registers
- JDK-8242070: AArch64: Fix a typo introduced by JDK-8238690
- JDK-8238690: C2: Handle vector shifts by constant and non-constant scalar uniformly
- JDK-8242073: x86_32 build failure after JDK-8241040
- JDK-8241040: Support for AVX-512 Ternary Logic Instruction.
- JDK-8239008: C2: Simplify Replicate support for sub-word types on x86
- JDK-8238680: C2: Remove redundant AD instructions for Replicate nodes
- Subset of 8223320 for VectorAPI: 8223347
- JDK-8241042: x86_64: Improve Assembler generation.
- JDK-8234891: AArch64: Fix build failure after JDK-8234387
- JDK-8240248: Extend superword reduction optimizations for x86
- JDK-8236443: Issues with specializing vector register type for phi operand with generic operands
- JDK-8236364: TEMP vector registers could be incorrectly assigned upper bank xmm registers after Generic Operands (JDK-8234391)
- JDK-8235756: C2: Merge AD instructions for DivV, SqrtV, and FmaV nodes
- JDK-8235825: C2: Merge AD instructions for Replicate nodes
- JDK-8235688: C2: Merge AD instructions for AddV, SubV, and MulV nodes
- JDK-8235719: C2: Merge AD instructions for ShiftV, AbsV, and NegV nodes
- JDK-8235824: C2: Merge AD instructions for AddReductionV and MulReductionV nodes
- JDK-8235405: C2: Merge AD instructions for different vector operations
- JDK-8234391: C2: Generic vector operands
- JDK-8234392 C2: Extend Matcher::match_rule_supported_vector() with element type information
- JDK-8234394: C2: Dynamic register class support in ADLC
- JDK-8234387: C2: Better support of operands with multiple match rules in AD files
- JDK-8286277: Fix verify error when run CDS with okhttp library.
- Support features EagerAppCDS and QuickStart. Users can enable them using
-Xquickstart:verbose
to run application twice. The first time is to trace internal VM data and to dump shared archive; the second time is to use the archive file to speed up application start-up process.
- JDK-8255756: Modify and simplify disabling logging
- JDK-8256178: Add RAII object for file lock.
- JDK-8256008: Report error if disk writing failed.
- JDK-8266536: Provide a variant of os::iso8601_time which works with arbitrary timestamps. This makes asynchronous UL cheaper.
- JDK-8266503: Make Decorations safely copy-able and reduce their size.
- JDK-8229517: Support for optional asynchronous/buffered logging.
- JDK-8267926: Fix the problem that _decorators in LogDecorations may be inconsistent with LogOutput::_decorators.
- JDK-8268165: Add null check for _stream in LogFileOutput::write_blocking() to fix the crash when rotate() fails.
- JDK-8268852: AsyncLogWriter should not override is_Named_thread().
- JDK-8268638: Fix break of semaphores of AsyncLogWriter when JVM is exiting.
- JDK-8269064: Fix memory leak of Dropped messages of AsyncLogWriter.
- JDK-8267952: Async logging supports to dynamically change tags and decorators.
- JDK-8269865: Handle ERANGE on exceeding SEM_VALUE_MAX in Async UL.
- JDK-8273610: LogTestFixture::restore_config() should not restore options.
- JDK-8267517: Add async logging for stdout and stderr.
- JDK-8288904: Fix incorrect memory ordering in UL.
- JDK-8305819: Fix memory ordering when reading and writing LogOutputList.
- Support CDS dump if match specific condition without explicit execute the jcmd command. It should only used when deploy Java Application in K8s.
- Add CDS Support for AArch64
- JDK-8297247: Add GarbageCollectorMXBean for Remark and Cleanup
- Add Hygon Dhyana processor support
summary | cr |
---|---|
[Misc] Update version | Issue#225 |
[Backport] 8305819: LogConfigurationTest intermittently fails on AArch64 | Issue#529 |
[Backport] 8288904: Incorrect memory ordering in UL | Issue#529 |
[EagerAppCDS] Add CDS Support for AArch64 | Issue#547 |
[Backport] 8297247: Add GarbageCollectorMXBean for Remark and Cleanup | Issue#538 |
[Backport] 8262096: Vector API fails to work due to VectorShape initialization exception | Issue#543 |
[Misc] Add riscv build in workflow | Issue#540 |
[Misc] RISC-V backend build broken after merging VectorAPI | Issue#510 |
[Backport] JDK-8286277: CDS VerifyError when calling clone() on object array | Issue#536 |
[Backport] 8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL | Issue#507 |
[Backport] 8263125: During deoptimization vectors should reassign scalarized payload after all objects are reallocated. | Issue#465 |
[Backport] 8257625: C2: Harden input checks in vector intrinsics | Issue#453 |
[Backport] 8265956: JVM crashes when matching LShiftVB Node | Issue#464 |
[Backport] 8255915: jdk/incubator/vector/AddTest.java timed out | Issue#467 |
[Backport] 8263972: C2: LoadVector/StoreVector type mismatch in MemNode::can_see_stored_value() | Issue#466 |
[Backport] 8259775: [Vector API] Incorrect code-gen for VectorReinterpret operation | Issue#462 |
[Backport] 8258272: LoadVectorMaskedNode can't be replaced by zero con | Issue#461 |
[Backport] 8259213: Vector conversion with part > 0 is not getting intrinsic implementation | Issue#458 |
[Backport] 8257537: [vector] Cleanup redundant bitwise cases on floating point vectors | Issue#452 |
[Backport] 8257165: C2: Improve box elimination for vector masks and shuffles | Issue#450 |
[Backport] 8259353: VectorReinterpretNode is incorrectly optimized out | Issue#460 |
[Backport] 8258989: JVM is failed to inline in jdk.internal.vm.vector.VectorSupport::convert | Issue#459 |
[Backport] 8257806: Optimize x86 allTrue and anyTrue vector mask operations of Vector API | Issue#455 |
[Backport] 8255959: Timeouts in VectorConversion tests | Issue#454 |
[Backport] 8257057: C2: Improve safepoint processing during vector scalarization pass | Issue#449 |
[Backport] 8256585: Remove in-place conversion vector operators from Vector API | Issue#448 |
[Backport] 8256995: [vector] Improve broadcast operations | Issue#451 |
[Backport] 8256073: Improve vector rematerialization support | Issue#447 |
[Backport] 8255367: C2: Deoptimization during vector box construction is broken | Issue#446 |
[Backport] 8256058: Improve vector register handling in RegisterMap::pd_location() on x86 | Issue#444 |
[Backport] 8256581: Refactor vector conversion tests | Issue#443 |
[Backport] 8255448: Fastdebug JVM crashes with Vector API when PrintAssembly is turned on | Issue#442 |
[Backport] 8256054: C2: Floating-point min/max operations on vectors intermittently produce wrong results for NaN values | Issue#439 |
[Backport] 8255565 [Vector API] Add missing format strings for extract instructs in x86.ad | Issue#438 |
[Backport] 8255438 [Vector API] More instructs in x86.ad should use legacy mode for code-gen | Issue#437 |
[Backport] 8255349: Vector API issues on Big Endian | Issue#435 |
[Backport] 8255378 [Vector API] Remove redundant vector length check after JDK-8254814 and JDK-8255210 | Issue#436 |
[Backport] 8255210 [Vector API] jdk/incubator/vector/Int256VectorTests.java crashes on AVX512 machines | Issue#434 |
[Backport] 8255174: Vector API unit tests for missed public api code coverage | Issue#433 |
[Backport] 8255022: Documentation missing for Vector API zero methods | Issue#432 |
[Backport] 8255020: Minor updates to docs jdk.incubator.vector | Issue#431 |
[Backport] 8244186: assertion failure test/jdk/javax/net/ssl/DTLS/RespondToRetransmit.java | Issue#414 |
[Backport] 8242491: C2: assert(v2->bottom_type() == vt) failed: mismatch when creating MacroLogicV | Issue#413 |
[Backport] 8250745: assert(eval_map.contains(n)) failed: absent | Issue#412 |
[Backport] 8223347: Integration of Vector API (Incubator) | Issue#294 |
[Backport] 8239009: C2: Don't use PSHUF to load scalars from memory on x86 | Issue#381 |
[Backport] 8242492: C2: Remove Matcher::vector_shift_count_ideal_reg() | Issue#352 |
[Backport] 8241434: x86: Fix Assembler::emit_operand asserts for XMM registers | Issue#374 |
[Backport] 8242070: AArch64: Fix a typo introduced by JDK-8238690 | Issue#376 |
[Backport] 8238690: C2: Handle vector shifts by constant and non-constant scalar uniformly | Issue#373 |
[Backport] 8242073: x86_32 build failure after JDK-8241040 | Issue#369 |
[Backport] 8241040: Support for AVX-512 Ternary Logic Instruction. | Issue#367 |
[Backport] 8239008: C2: Simplify Replicate support for sub-word types on x86 | Issue#365 |
[Backport] 8238680: C2: Remove redundant AD instructions for Replicate nodes | Issue#363 |
[Backport] Subset of 8223320 for VectorAPI: 8223347 | Issue#361 |
[Backport] 8241042: x86_64: Improve Assembler generation. | Issue#350 |
[Backport] 8234891: AArch64: Fix build failure after JDK-8234387 | Issue#348 |
[Backport] VectorAPI: 8240248: Extend superword reduction optimizations for x86 | Issue#304 |
[Backport] VectorAPI: 8236443: Issues with specializing vector register type for phi operand with generic operands | Issue#302 |
[Backport] VectorAPI: 8236364: TEMP vector registers could be incorrectly assigned upper bank xmm registers after Generic Operands (JDK-8234391) | Issue#300 |
[Backport] 8235756: C2: Merge AD instructions for DivV, SqrtV, and FmaV nodes | Issue#292 |
[Backport] 8235825: C2: Merge AD instructions for Replicate nodes | Issue#286 |
[Backport] 8235688: C2: Merge AD instructions for AddV, SubV, and MulV nodes | Issue#290 |
[Backport] 8235719: C2: Merge AD instructions for ShiftV, AbsV, and NegV nodes | Issue#287 |
[Backport] 8235824: C2: Merge AD instructions for AddReductionV and MulReductionV nodes | Issue#284 |
[Backport] 8235405: C2: Merge AD instructions for different vector operations | Issue#282 |
[Backport] 8234391: C2: Generic vector operands | Issue#277 |
[Backport] 8234392 C2: Extend Matcher::match_rule_supported_vector() with element type information | Issue#278 |
[Backport] 8234394: C2: Dynamic register class support in ADLC | Issue#269 |
[Backport] 8234387: C2: Better support of operands with multiple match rules in AD files | Issue#268 |
[QuickStart] Add startupProbe support and disable Quickstart by environment variable | Issue#521 |
[Misc] Update serverless-adapter.jar in Git Action | Issue#345 |
[Backport] 8222090: Add Hygon Dhyana processor support | Issue#516 |
[Backport] 8267517: async logging for stdout and stderr | Issue#514 |
[Backport] 8273610: LogTestFixture::restore_config() should not restore options | Issue#514 |
[Backport] 8269865: Async UL needs to handle ERANGE on exceeding SEM_VALUE_MAX | Issue#514 |
[Backport] 8267952: async logging supports to dynamically change tags and decorators | Issue#514 |
[Backport] 8269064: Dropped messages of AsyncLogWriter cause | Issue#514 |
[Backport] 8268638: semaphores of AsyncLogWriter may be broken when JVM is exiting | Issue#514 |
[Backport] 8268852: AsyncLogWriter should not overide | Issue#514 |
[Backport] 8268165: AsyncLogging will crash if rotate() fails | Issue#514 |
[Backport] 8267926: AsyncLogGtest.java fails on assert with: | Issue#514 |
[Backport] 8229517: Support for optional asynchronous/buffered | Issue#514 |
[Backport] 8266503: [UL] Make Decorations safely copy-able and | Issue#514 |
[Backport] 8266536: Provide a variant of os::iso8601_time which | Issue#514 |
[Backport] 8256008: UL does not report anything if disk writing | Issue#514 |
[Backport] 8256178: Add RAII object for file lock | Issue#514 |
[Backport] 8255756: Disabling logging does unnecessary work | Issue#514 |
[Misc] Update dragonwell links to new org | Issue#510 |
[QuickStart] Add Quickstart tests | Issue#345 |
[EagerAppCDS] Add EagerAppCDS tests | Issue#345 |
[Misc] Enable serverless-adapter build in aciton workflow | Issue#497 |
[QuickStart] QuickStart implementation | Issue#345 |
[EagerAppCDS] EagerAppCDS implementation | Issue#345 |
[Backport] 8218029: [TESTBUG] Use -Djava.class.path= to specify empty -cp in CDS tests | Issue#402 |
[Misc] Fix CDS test failures | Issue#402 |
[Backport] 8221351: Crash in KlassFactory::check_shared_class_file_load_hook | Issue#402 |
[Misc] Introduce a ClassLoader instance signature mechanism | Issue#402 |
[Backport] Port missing tests from upstream for the JDK11 port: 8218751: Do not store original classfiles inside the CDS archive | Issue#402 |
[Wisp] Fix test/jdk/java/dyn tests | Issue#405 |
[Backport] JDK-8213587: Speed up CDS dump time by using resizable hashtables | Issue#402 |
[Backport] 8232069: Enable CDS even when UseCompressedClassPointers and/or UseCompressedOops are false | Issue#402 |
openjdk version "11.0.18.14" 2023-01-17
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.18.14+9-GA (build 11.0.18.14+9)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.18.14+9-GA (build 11.0.18.14+9, mixed mode)
- Wisp: Fix NullPointerException thrown from WispThreadCompositeData.getCompositeData().
- Wisp: Supports different coroutines waiting on the same socket's read and write events.
- Add Alibaba Dragonwell vendor specific JDK_TOOLS_OPTIONS: DRAGONWELL_JAVA_TOOL_OPTIONS and DRAGONWELL_JAVA_TOOL_OPTIONS_JDK_ONLY. If set "DRAGONWELL_JAVA_TOOL_OPTIONS_JDK_ONLY" to true, the "DRAGONWELL_JAVA_TOOL_OPTIONS" has no effect on JDK tools like jps,jmap,jstat.
- Release Dragonwell11 RISC-V version.
summary | cr |
---|---|
[Misc] Update version | Issue#225 |
[Wisp] Separate IO poller | Issue#311 |
[Misc] Add vendor specific java tool options: DRAGONWELL_JAVA_TOOL_OPTIONS | Issue#406 |
[Misc] add arm64 build and test in workflow | Issue#341 |
[Wisp] WispThreadCompositeData.getCompositeData() should use legal Thread State String | Issue#345 |
[Misc] Fix ported TestLibmIntrinsics.java | Issue#209 |
[Wisp] WispThreadCompositeData.getCompositeData() should handle null WispTask | Issue#345 |
[Misc] fix github action and add arm64 build in workflow | Issue#341 |
[RISCV] Backport RVV and support RVV-0.7.1 | Issue#295 |
[RISCV] support paired memory instruction in CSky (#217) | Issue#217 |
[Backport] Backport RISC-V backend code from the openjdk/riscv-port repo's initial load | Issue#209 |
[Misc] fix TestPolicy.java and BuildEEBasicConstraints.java fail because of certificates expired | Issue#327 |
[Misc] fix SpecTest.java intermittently timeout | Issue#322 |
[Misc] fix testcase bug Test7029048.java | Issue#261 |
openjdk version "11.0.17.13" 2022-10-18
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.17.13+8-GA (build 11.0.17.13+8)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.17.13+8-GA (build 11.0.17.13+8, mixed mode)
- Fix missing oops_do for WispThread
- Blocking io support for SocketChannel and Pipe
- Adapt Thread.stackSize
summary | cr |
---|---|
[Misc] Update version | Issue#225 |
[Misc] fix TestPreemptWisp2InternalBug.java intermittently fail | Issue#313 |
[Misc] fix port conflict between TestBlockingAccept2.java and TestBlockingAccept2.java | Issue#310 |
[Misc] fix error get PID method in TestMiniHeapDumpOpts.sh and enable it | Issue#308 |
[Misc] fix TestMiniDump.sh intermittently does not terminate java process when test finish | Issue#306 |
[Wisp] Blocking io support for SocketChannel and Pipe | Issue#272 |
[Wisp] Adapt Thread.stackSize
|
Issue#331 |
[Wisp] C1: Clear dead locals for MonitorExit that copies state to generate debuginfo | Issue#216 |
[Misc] fix UnsafeIntrinsicsTest.java run OOM on same machine | Issue#267 |
[Wisp] Fix missing oops_do for WispThread | Issue#263 |
openjdk version "11.0.16.12" 2022-07-19
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition)-11.0.16.12+8-GA (build 11.0.16.12+8)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition)-11.0.16.12+8-GA (build 11.0.16.12+8, mixed mode)
- Enable thread state and ThreadMxbean for wisp threads
- Support ZUnmapBadViews
Summary | Issue |
---|---|
[Misc] Update DRAGONWELL_VERSION to 11.0.16.12.8 | Issue #225 |
[Misc] Decrease the probability of intermittent fail/timeout for wisp/wisp2 testcases; Disable TestSocket.java TestSleep.java by problem list | Issue #255 |
[Misc] fix testcase bug StepTest.java | Issue #252 |
[Backport] 8244508: JFR: FlightRecorderOptions reset date format | Issue #243 |
[GC] Restore option ZUnmapBadViews | Pull #240 |
[Wisp] Support thread state and ThreadMxbean | Issue #175 |
dragonwell_patches : 6 | |
upstream_patches : 272 | |
malformed_patches : 3 | |
internal_patches : 0 |
openjdk version "11.0.15.11" 2022-04-19
OpenJDK Runtime Environment (Alibaba Dragonwell)-11.0.15.11+9-GA (build 11.0.15.11+9)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell)-11.0.15.11+9-GA (build 11.0.15.11+9, mixed mode)
- Fixed unexpected behavior of ObjectProfiling started via JCMD when sampleobjectallocations is disabled
- Correct copied bytes calculation for more predicatable gc
- Fixed a C-heap memory leak issue related to OWSTTaskTerminator
- Correctly handle processor id that might be bigger than the number of processors, which caused ZGC to crash
Summary | Issue |
---|---|
[JFR] Unexpected behavior when enable Opto related allocation event by JCMD when -XX:FlightRecorderOptions=sampleobjectallocations=true is disabled | Issue #237 |
[Misc] Fix version number | Issue #225 |
[GC] 8228609: G1 copy cost prediction uses used vs. actual copied bytes | Issue #226 |
[GC] Memory leak because OWSTTaskTerminator destructor not called | Issue #220 |
[Misc] Fix unstable wisp tests | Issue #192 |
[GC] 8259765: ZGC: Handle incorrect processor id reported by the operating | Issue #214 |
[Misc] Remove unnecessary tests for Dragonwell11 | Issue #212 |
[Misc] Enable action for Dragonwell features | Issue #192 |
dragonwell_patches : 8 | |
upstream_patches : 188 | |
malformed_patches : 0 | |
internal_patches : 0 |
openjdk 11.0.14.10 2022-01-18
OpenJDK Runtime Environment (Alibaba Dragonwell)-11.0.14.10+0-GA (build 11.0.14.10+0)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell)-11.0.14.10+0-GA (build 11.0.14.10+0, mixed mode)
Summary | Issue |
---|---|
[Misc] Update Dragonwell11 version to 11.0.14.10-GA | Issue #206 |
[Misc] Update Dragonwell11 version to 11.0.14.10 | Issue #206 |
[Wisp] Fix TestPassToken | Issue #204 |
[GC] 8233061: ZGC: Enforce memory ordering in segmented bit maps | Issue #194 |
[GC] 8233073: Make BitMap accessors more memory ordering friendly | Issue #194 |
[Misc] fix unstable wisp tests | Issue #192 |
[GC] 8248048: ZGC: AArch64: SIGILL in load barrier register spilling | Issue #196 |
[GC] Backport a part of 8257073 for the correctness of accessing a forwarded object | Issue #195 |
[GC] 8245233: ZGC: Load volatile oops using Atomic::load() | Issue #195 |
[GC] 8254672: ZGC: ZParallelOopsDo/ZSerialWeakOopsDo should use atomic load/store | Issue #195 |
[Misc] Update publications in README.md | Issue #136 |
[JFR] Fix object profiling stacktrace problem on aarch64 platform | Issue #189 |
dragonwell_patches : 12 | |
upstream_patches : 381 | |
malformed_patches : 0 | |
internal_patches : 0 |
openjdk version "11.0.13.9" 2021-10-19
OpenJDK Runtime Environment (Alibaba Dragonwell)-11.0.13.9+0 (build 11.0.13.9+0)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell)-11.0.13.9+0 (build 11.0.13.9+0, mixed mode)
Summary | Issue |
---|---|
[JFR] Fix object profiling stacktrace problem on aarch64 platform | Issue #189 |
[Misc] Update Dragonwell11 version to 11.0.13.9 | Issue #183 |
[JFR] Fix JFR related test cases caused by merging 11.0.13 | Issue #188 |
[Misc] Add gated checkin github action | Issue #187 |
[GC] Add test for pause time record of ZGC class unloading | Issue #181 |
[Wisp] Fix Windows and MacOS capability | Issue #140 |
[GC] MXBean should report the pause time of class unloading | Issue #180 |
[GC] Disarm all nmethods if the ZGC cycle does not unload classes | Issue #177 |
[GC] 8252500: ZGC on aarch64: Unable to allocate heap for certain Linux kernel configurations | Issue #173 |
[Backport] 8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern | Issue #70 |
[Misc] Backport 8263185: Mallinfo deprecated in glibc 2.33 | Issue #168 |
[Wisp] Port bug fixes and Multi-tenant support to JDK11 | |
[Wisp] Port Wisp1/2 to JDK11 | |
[Misc] Update Dragonwell11 version to 11.0.12.8 | Issue #131 |
[GC] 8265136: ZGC: Expose GarbageCollectorMXBeans for both pauses and cycles | Issue #133 |
[GC] 8244291: Test: gc/z/TestGarbageCollectorMXBean.java failed: "unexpected cycles" | Issue #133 |
[GC] 8240679: ZGC GarbageCollectorMXBean reports inaccurate post GC heap size for ZHeap pool | Issue #133 |
[Wisp] Port JKU coroutine support to JDK11 | Issue #130 |
# 11.0.12.8
openjdk version "11.0.12.8" 2021-07-20
OpenJDK Runtime Environment (Alibaba Dragonwell) (build 11.0.12.8+0)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell) (build 11.0.12.8+0, mixed mode)
- Issue 133: ZGC Monitoring: GarbageCollectorMXBean reports both ZGC cycles and ZGC pauses
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (Alibaba Dragonwell) (build 11.0.11+0)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell) (build 11.0.11+0, mixed mode)
- Issue 125: ZGC options and ZGC JFR events become production-ready features
- Issue 128: Fix an assertion failure in ZGC class unloading
Type | Option | Description |
---|---|---|
Memory Uncommit | ZUncommit | Uncommit unused memory |
ZUncommitDelay | Uncommit memory if it has been unused for the specified amount of time (in seconds) | |
Class Unloading | ZUnloadClassesFrequency | Unload the classes every Nth ZGC cycle. (Set to zero to disable class unloading.) |
GC Trigger Timing | ZAllocationSpikeTolerance | Allocation spike tolerance factor |
ZCollectionInterval | Force GC at a fixed time interval (in seconds) | |
ZProactive | Enable proactive GC cycles | |
SoftMaxHeapSize | Soft limit for maximum heap size (manageable option) | |
ZHighUsagePercent | Percentage of heap usage for ZGC high usage rule | |
Other | ZPath | Filesystem path for Java heap backing storage |
ZFragmentationLimit | Maximum allowed heap fragmentation | |
ZMarkStackSpaceLimit | Maximum number of bytes allocated for mark stacks | |
ZRelocationReservePercent | Percentage of total heap size reserved for relocation. (To prevent accidental OOM) | |
ZMediumObjectUpperBound | Upper bound of the object size in ZGC medium page | |
ZStatisticsInterval | Time between statistics print outs (in seconds) (with -XX:+UnlockDiagnosticVMOptions) |
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (Alibaba Dragonwell) (build 11.0.11+0)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell) (build 11.0.11+0, mixed mode)
- Backporting production-ready features for ZGC:
- Redesign C2 load barrier;
- Class unloading (
ClassUnloading
is available); - Uncommit unused memory (
ZUncommit
/ZUncommitDelay
/SoftMaxHeapSize
); - Huge and tiny heaps (8MB~16TB);
- Parallel heap pre-touching;
- Improved allocation concurrency;
- JFR events;
- Reserve memory space to avoid OOM (
ZRelocationReservePercent
); - High usage limitation for heaps (
ZHighUsagePercent
); - Medium object size limitation (
ZMediumObjectUpperBound
); - Class unloading frequency (
ZUnloadClassesFrequency
).
- issue 107 Backport: Eliminate continuous uncommon traps in CallSite::init during execution.
- Optimize Java ObjectStream serialization performance. Enabled by
-Dcom.alibaba.enableFastSerialization=true
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment (Alibaba Dragonwell) (build 11.0.10+0)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell) (build 11.0.10+0, mixed mode)
- Issue 56 Backport Portola project. Publish Dragonwell11 JDK which supports Alpine Linux x86-64 platform.
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment (Alibaba Dragonwell) (build 11.0.9+0)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell) (build 11.0.9+0, mixed mode)
- Released aarch64 Dragonwell11
- The released Dragonwell11 binary was built by GCC9.2.0 with -march=armv8.2. Please use it on an aarch64 server with arm v8.2 support.
- Backport GC working stealing optimizaitons
- Released binary with Windows support. But this version is EXPERIMENTAL ONLY. Please do not use it in product environment.
openjdk version "11.0.7.2" 2020-04-26
OpenJDK Runtime Environment (Alibaba Dragonwell) (build 11.0.7.2+9)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell) (build 11.0.7.2+9, mixed mode)
- Issue 18 Fixed JTreg testing failure caused by JFR object profiling feature
-
Issue 20 Upgrade base JDK version to tag
jdk-11.0.7-ga
openjdk version "11.0.5.1-preview" 2019-12-29
OpenJDK Runtime Environment (Alibaba Dragonwell) (build 11.0.5.1-preview+7)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell) (build 11.0.5.1-preview+7, mixed mode)
- Added object allocation profiling support in JFR and you can use
-XX:FlightRecorderOptions=sampleobjectallocations=true
to enable this feature, which allows to sample object allocation(instance or array) in C2 compiler and two new sampling JFR events, OptoInstanceObjectAllocation and OptoArrayObjectAllocation are added to trace object allocation once the target sample is hit, which is configured byobjectallocationssamplinginterval
option. The user can use JMC to analyze the hot path of object allocation. Please reference the user guide for more details.
- Added new option
-XX:ArrayAllocationWarningSize=<size>
to print the calling stack of an array allocation whose size beyond theArrayAllocationWarningSize
, the default value of this option is512M
. It can be changed byjinfo
. - Added new option
-mini
to sub-command dump ofjmap
tool to skip the content of primitive type arrays in heapdump. Seejmap -help
for more information.