Skip to content

腾讯JDK 社区贡献

felixxfyang edited this page May 12, 2021 · 1 revision

Kona蝉联JDK16贡献全国第一,世界排名第四

2021年3月16日,JDK16正式对外发布。据Oracle官方公告,腾讯蝉联JDK16中国企业贡献度排名第一,并再次作为全球Notable贡献者被Oracle点名致谢。在去年9月发布的JDK15中,腾讯首次获得贡献度排名全国第一,并且在国内历史首次作为全球Notable贡献者被OpenJDK社区主导者Oracle点名致谢。值得注意的是,JDK16中腾讯的贡献世界排名第四,较JDK15的世界第五又前进了一名。

开源贡献

本文列出了腾讯对JDK社区的贡献,通常来说我们将这些直接贡献给OpenJDK, 根据业务需求,我们也会将部分代码降级到Tencent Kona JDK的早期版本。

功能改进

GC领域

ZGC

将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

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

Runtime领域

AppCDS


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

Core-libs


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

Security-libs


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

Other-libs


OpenJDK
8264526: javax/swing/text/html/parser/Parser/8078268/bug8078268.java timeout 17
8261938: ASN1Formatter.annotate should not return in the finally block 17

服务能力扩张

Hotspot

JFR

改进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

Core-svc

Heap Dump 增强

对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

Tools


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