2021年3月16日,JDK16正式对外发布。据Oracle官方公告,腾讯蝉联JDK16中国企业贡献度排名第一,并再次作为全球Notable贡献者被Oracle点名致谢。在去年9月发布的JDK15中,腾讯首次获得贡献度排名全国第一,并且在国内历史首次作为全球Notable贡献者被OpenJDK社区主导者Oracle点名致谢。值得注意的是,JDK16中腾讯的贡献世界排名第四,较JDK15的世界第五又前进了一名。
本文列出了腾讯对JDK社区的贡献,通常来说我们将这些直接贡献给OpenJDK, 根据业务需求,我们也会将部分代码降级到Tencent Kona JDK的早期版本。
将ZGC在生产环境使用,发现并解决遇到的问题。
|
OpenJDK |
8263579: ZGC: Concurrent mark hangs with debug loglevel |
17 |
8261028: ZGC: SIGFPE when MaxVirtMemFraction=0 |
17 |
8260473: [vector] ZGC: VectorReshape test produces incorrect results with ZGC enabled |
16 |
|
OpenJDK |
8262819: gc/shenandoah/compiler/TestLinkToNativeRBP.java fails with release VMs |
17 |
8259231: Epsilon: improve performance under contention during virtual space expansion |
11,17 |
8258534: Epsilon: clean up unused includes |
11,17 |
8257230: assert(InitialHeapSize >= MinHeapSize) failed: Ergonomics decided on incompatible initial and minimum heap sizes |
16 |
8257673: Build fails without shenandoahgc after JDK-8257563 |
16 |
8257228: G1: SIGFPE in G1ConcurrentRefine::create(int*) due to buffers_to_cards overflow |
16 |
8255982: Extend BasicJMapTest to test with different GC Heap |
16 |
8255213: Shenandoah build fails without JFR after JDK-8255036 |
16 |
VectorAPI在生产环境落地,发现并解决问题。
|
OpenJDK |
8263164: assert(_base >= VectorA && _base <= VectorZ) failed: Not a Vector while calling StoreVectorNode::memory_size() |
17 |
8262998: Vector API intrinsincs should not modify IR when bailing out |
17 |
8262508: Vector API's ergonomics is incorrect |
17 |
8262096: Vector API fails to work due to VectorShape initialization exception |
17 |
8260501: [Vector API] Improve register usage for shift operations on x86 |
17 |
8259775: [Vector API] Incorrect code-gen for VectorReinterpret operation |
17 |
8258703: Incorrect 512-bit vector registers restore on x86_32 |
16 |
8258134: assert(size == calc_size) failed: incorrect size calculation on x86_32 with AVX512 machines |
16 |
8255565: [Vector API] Add missing format strings for extract instructs in x86.ad
|
16 |
8255438: [Vector API] More instructs in x86.ad should use legacy mode for code-gen
|
16 |
8255378: [Vector API] Remove redundant vector length check after JDK-8254814 and JDK-8255210 |
16 |
8255210: [Vector API] jdk/incubator/vector/Int256VectorTests.java crashes on AVX512 machines |
16 |
8254814: [Vector API] Fix an AVX512 crash after JDK-8223347 |
16 |
8250745: assert(eval_map.contains(n)) failed: absent |
16 |
|
OpenJDK |
8263353: assert(CompilerOracle::option_matches_type(option, value)) failed: Value must match option type |
17 |
8263206: assert(*error_msg != '\0') failed: Must have error_message while parsing -XX:CompileCommand=unknown |
17 |
8262097: Improve CompilerConfig ergonomics to fix a VM crash after JDK-8261229 |
17 |
8259957: Build failure without C1 Compiler after JDK-8258004 |
17 |
8264223: CodeHeap::verify fails extra_hops assertion in fastdebug test |
17 |
8263707: C1 RangeCheckEliminator support constant array and NewMultiArray |
17 |
8261585: Restore HandleArea used in Deoptimization::uncommon_trap |
11,17 |
8263904: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails on x86_32 |
17 |
8263501: compiler/oracle/TestInvalidCompileCommand.java fails with release VMs |
17 |
8260576: Typo in compiler/runtime/safepoints/TestRegisterRestoring.java |
17 |
8264557: Incorrect copyright year for test/micro/org/openjdk/bench/java/lang/MathBench.java after JDK-8264054 |
17 |
8257794: Zero: assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1) failed: wrong on Linux/x86_32 |
16 |
8257232: CompileThresholdScaling fails to work on 32-bit platforms |
16 |
8257420: Zero VM build broken with clang after JDK-8256726 due to strlen() is not a constexpr |
16 |
8256956: RegisterImpl::max_slots_per_register is incorrect on AMD64 |
16 |
8250825: C2 crashes with assert(field != __null) failed: missing field |
16 |
8252404: compiler/c1/TestTraceLinearScanLevel.java fails with release VMs |
16 |
8257796: [TESTBUG] TestUseSHA512IntrinsicsOptionOnSupportedCPU.java fails on x86_32 |
16 |
8252264: tools/javac/flags/LockedFlagClash.java fails to compile |
16 |
8253748: StressIGV tests fail with release VMs |
16 |
8241232: -XX:+BootstrapJVMCI is not compatible with TieredStopAtLevel < CompLevel_full_optimization |
15 |
8242379: [TESTBUG] compiler/loopopts/TestLoopUnswitchingLostCastDependency.java fails with release VMs |
11,15 |
8237055: [TESTBUG] compiler/c2/TestJumpTable.java fails with release VMs |
11,15 |
8246805: Incorrect copyright header in TestInvalidTieredStopAtLevel.java |
15 |
|
OpenJDK |
8263915: runtime/cds/appcds/MismatchedPathTriggerMemoryRelease.java fails when UseCompressedClassPointers is off |
17 |
8263914: CDS fails to find the default shared archive on x86_32 |
17 |
8263908: Build fails due to initialize_static_field_for_dump defined but not used after JDK-8263771 |
17 |
8254348: Build fails when cds is disabled after JDK-8247536 |
16 |
8247377: Zero and Minimal VMs are broken after JDK-8198698 ('SystemDictionaryShared' has not been declared) |
15 |
8244276: Zero and minimal VM build failure after JDK-8178349 (use of undeclared identifier 'SystemDictionaryShared') |
15 |
8240254: Build is broken when cds is disabled after JDK-8236604 |
15 |
8240695: Build is broken when cds is disabled after JDK-8232081 |
15 |
|
OpenJDK |
8264524: jdk/internal/platform/docker/TestDockerMemoryMetrics.java fails due to swapping not working |
17 |
8255883: Avoid duplicated GeneratedMethodAccessor when reflect method invoked from different threads |
16 |
8253970: Build error: address argument to atomic builtin must be a pointer to integer or pointer ('volatile narrowOop *' invalid) |
16 |
8255040: Replace __sync_add_and_fetch with __atomic_add_fetch to avoid build errors with clang |
16 |
8254351: Minimal VM build fails with undeclared identifier 'MaxVectorSize' after JDK-8252847 |
16 |
8244497: [TESTBUG] Incompatible types conversion error in vmTestbase/vm/runtime/defmeth/StressTest.java after JDK-8243432 |
15 |
8245761: [TESTBUG] runtime/logging/TestMethodHandlesVerbose.java fails with release VMs |
15 |
8242480: Negative value may be returned by getFreeSwapSpaceSize() in the docker |
11,15 |
8247522: assert(is_aligned(class_space_rs.base(), class_space_alignment)) failed: Sanity |
15 |
8244489: Zero and minimal VM build failure after JDK-8241071 (MetaspaceShared::symbol_space_alloc is undefined) |
15 |
|
OpenJDK |
8258584: java/util/HexFormat/HexFormatTest.java fails on x86_32 |
17 |
8256037: [TESTBUG] com/sun/jndi/dns/ConfigTests/PortUnreachable.java fails due to the hard coded threshold is small |
16 |
8251155: HostIdentifier fails to canonicalize hostnames starting with digits |
16 |
8252740: java/util/Properties/LoadAndStoreXMLWithDefaults.java fails after JDK-8252354 |
16 |
8239139: test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/libInheritedChannel.c does not compile with gcc 8.3.1 |
15 |
8243539: Copyright info (Year) should be updated for fix of 8241638 |
15 |
|
OpenJDK |
8263188: JSSE should fail fast if there isn't supported signature algorithm |
17 |
8263137: Typos in sun.security.ssl.RenegoInfoExtension |
17 |
8261969: SNIHostName should check if the encoded hostname conform to RFC 3490 |
17 |
8262509: JSSE Server should check the legacy version in TLSv1.3 ClientHello |
17 |
8261510: Use RFC numbers and protocol titles in sun.security.ssl.SSLExtension comments |
17 |
|
OpenJDK |
8264526: javax/swing/text/html/parser/Parser/8078268/bug8078268.java timeout |
17 |
8261938: ASN1Formatter.annotate should not return in the finally block |
17 |
改进Java Flight Recorder 的使用
|
OpenJDK |
8264809: test-lib fails to build due to some warnings in ASN1Formatter and jfr |
17 |
8260878: com/sun/jdi/JdbOptions.java fails without jfr |
17 |
8253837: JFR 8u fix symbol and cstring hashtable equals implementaion |
8 |
8255717: Fix JFR crash in WriteObjectSampleStacktrace due to object not initialized |
8 |
|
OpenJDK |
8264008: Incorrect metaspace statistics after JEP 387 when UseCompressedClassPointers is off |
17 |
8264411: serviceability/jvmti/HeapMonitor tests intermittently fail due to large TLAB size |
17 |
对Heap Dump进行持续性的改进,为客户提供有效的诊断工具
|
OpenJDK |
8258593: remove redundant codes in HeapObjectDumper |
17 |
8257668: SA JMap - skip non-java thread stack dump for heap dump |
17 |
8256450: Add gz option to jmap to write a gzipped heap dump |
17 |
8257234: Add gz option to SA jmap to write a gzipped heap dump |
17 |
8252103: Parallel heap inspection for ParallelScavengeHeap |
16 |
8252104: parallel heap inspection for ShenandoahHeap |
16 |
8251374: jmap -dump could accept invalid options |
16 |
8215624: Add parallel heap iteration for jmap –histo |
16 |
8252101: Add description of expected behavior of using "live" and "all" options together for jmap |
16 |
8251848: JMap.histo() and JMap.dump() should parse sub-arguments similarly |
16 |
8239916: SA: delete dead code in jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java |
16 |
8254799: runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryError.java fails with release VMs |
16 |
8256671: Incorrect assignment operator used in guarantee() in genCollectedHeap |
8 |
|
OpenJDK |
8261131: jcmd jmap dump should not accept gz option with no value |
17 |
8251031: Some vmTestbase/nsk/monitoring/RuntimeMXBean tests fail with hostnames starting from digits |
16 |
|
OpenJDK |
8264220: jdk/javadoc/doclet/testRelatedPackages/TestRelatedPackages.java fails to compile |
17 |
8241638: launcher time metrics always report 1 on Linux when _JAVA_LAUNCHER_DEBUG set |
8,11,15 |
深度参与OpenJDK社区开发,解决开发中遇到的各类问题。
|
OpenJDK |
8264273: macOS: zero VM is broken due to no member named 'is_cpu_emulated' after JDK-8261966 |
17 |
8258073: x86_32 build broken after JDK-8257731 |
17 |
8258687: Build broken on Windows after fix for JDK-8258134 |
16 |
8256009: Remove src/hotspot/share/adlc/Test/i486.ad
|
16 |
8256048: Incomplete gitignore setting for netbeans project |
16 |
8254722: bsd_zero builds broken after JDK-8253717 |
16 |
8254297: Zero and Minimal VMs are broken with undeclared identifier 'DerivedPointerTable' after JDK-8253180 |
16 |
8253084: Zero VM is broken after JDK-8252689 |
16 |
8252887: Zero VM is broken after JDK-8252661 |
16 |
8248612: Back quotes and double quotes must not be escaped in: Cannot convert \"$unix_path\" to Windows path |
16 |
8247284: Zero VM is broken after JDK-8244920 ('class JavaFrameAnchor' has no member named 'set_last_Java_sp') |
15 |
8247396: Exclude PCH for files in $(OPT_SPEED_SRC) with clang after JDK-8246751 |
16 |
8244625: Zero VM is broken after JDK-8244550 (java_lang_Class::as_Klass(oopDesc*) undefined) |
15 |
8244971: Zero VM is broken after JDK-8241825 (COMPRESSED_CLASS_POINTERS_DEPENDS_ON_COMPRESSED_OOPS not defined) |
15 |
8241034: Fix a configuring error with "-Xmx2048M: command not found" |
15 |
8240846: Zero VM is broken after JDK-8238681: UseSSE not defined |
15 |
8239886: Minimal VM build fails after JDK-8237499 |
15 |
8238284: [macos] Zero VM build fails due to an obvious typo |
15 |
8237752: Minimal VM build fails after JDK-8236236 |
15 |
8239110: Zero VM build fails after JDK-8203883 |
15 |