changeset 59809:29d13e886b4f amber-demo-II

Automatic merge with sealed-types
author mcimadamore
date Mon, 27 Jan 2020 12:15:50 +0000
parents 875054312830 1ea2e4333f0b
children afd8bd2a2890
files .hgtags make/Main.gmk make/autoconf/flags-cflags.m4 make/autoconf/spec.gmk.in src/hotspot/cpu/aarch64/aarch64.ad src/hotspot/cpu/aarch64/assembler_aarch64.hpp src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp src/hotspot/cpu/aarch64/globals_aarch64.hpp src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp src/hotspot/cpu/s390/interp_masm_s390.cpp src/hotspot/cpu/s390/macroAssembler_s390.cpp src/hotspot/cpu/s390/sharedRuntime_s390.cpp src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp src/hotspot/cpu/zero/globals_zero.hpp src/hotspot/os/bsd/gc/z/zBackingFile_bsd.cpp src/hotspot/os/bsd/gc/z/zBackingFile_bsd.hpp src/hotspot/os/linux/gc/z/zBackingFile_linux.cpp src/hotspot/os/linux/gc/z/zBackingFile_linux.hpp src/hotspot/os/linux/gc/z/zBackingPath_linux.cpp src/hotspot/os/linux/gc/z/zBackingPath_linux.hpp src/hotspot/os/linux/gc/z/zMountPoint_linux.cpp src/hotspot/os/linux/gc/z/zMountPoint_linux.hpp src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.hpp src/hotspot/os/posix/os_posix.cpp src/hotspot/os/windows/gc/z/zBackingFile_windows.cpp src/hotspot/os/windows/gc/z/zBackingFile_windows.hpp src/hotspot/share/aot/aotCodeHeap.cpp src/hotspot/share/c1/c1_Runtime1.cpp src/hotspot/share/classfile/classFileParser.cpp src/hotspot/share/classfile/classLoader.cpp src/hotspot/share/classfile/javaClasses.cpp src/hotspot/share/classfile/systemDictionary.cpp src/hotspot/share/code/nmethod.cpp src/hotspot/share/compiler/compileBroker.cpp src/hotspot/share/gc/epsilon/epsilonHeap.cpp src/hotspot/share/gc/epsilon/epsilonHeap.hpp src/hotspot/share/gc/g1/g1CollectedHeap.cpp src/hotspot/share/gc/g1/g1CollectedHeap.hpp src/hotspot/share/gc/g1/g1ConcurrentMark.cpp src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp src/hotspot/share/gc/g1/g1EvacFailure.cpp src/hotspot/share/gc/g1/g1FullCollector.cpp src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp src/hotspot/share/gc/g1/g1OopClosures.inline.hpp src/hotspot/share/gc/g1/g1ParScanThreadState.cpp src/hotspot/share/gc/g1/g1ParScanThreadState.hpp src/hotspot/share/gc/g1/g1RemSet.cpp src/hotspot/share/gc/g1/heapRegion.cpp src/hotspot/share/gc/g1/heapRegion.hpp src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp src/hotspot/share/gc/parallel/psMarkSweep.cpp src/hotspot/share/gc/parallel/psMarkSweep.hpp src/hotspot/share/gc/parallel/psMarkSweepDecorator.cpp src/hotspot/share/gc/parallel/psMarkSweepDecorator.hpp src/hotspot/share/gc/parallel/psMarkSweepProxy.hpp src/hotspot/share/gc/parallel/psParallelCompact.cpp src/hotspot/share/gc/parallel/psParallelCompact.hpp src/hotspot/share/gc/parallel/psPromotionManager.cpp src/hotspot/share/gc/parallel/psPromotionManager.hpp src/hotspot/share/gc/parallel/psScavenge.cpp src/hotspot/share/gc/parallel/psYoungGen.cpp src/hotspot/share/gc/shared/collectedHeap.hpp src/hotspot/share/gc/shared/gc_globals.hpp src/hotspot/share/gc/shared/genCollectedHeap.cpp src/hotspot/share/gc/shared/generation.cpp src/hotspot/share/gc/shared/memAllocator.cpp src/hotspot/share/gc/shared/memAllocator.hpp src/hotspot/share/gc/shared/preservedMarks.inline.hpp src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalAggressiveHeuristics.cpp src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp src/hotspot/share/gc/shenandoah/shenandoahTraversalMode.cpp src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp src/hotspot/share/gc/z/zHeap.cpp src/hotspot/share/gc/z/zRootsIterator.cpp src/hotspot/share/gc/z/zStat.cpp src/hotspot/share/include/cds.h src/hotspot/share/interpreter/bytecodeInterpreter.cpp src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.cpp src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp src/hotspot/share/jfr/leakprofiler/chains/objectSampleMarker.hpp src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.cpp src/hotspot/share/jvmci/jvmciCompilerToVM.cpp src/hotspot/share/jvmci/jvmciRuntime.cpp src/hotspot/share/jvmci/vmStructs_jvmci.cpp src/hotspot/share/memory/filemap.cpp src/hotspot/share/memory/filemap.hpp src/hotspot/share/memory/heapInspection.cpp src/hotspot/share/memory/heapInspection.hpp src/hotspot/share/memory/heapShared.cpp src/hotspot/share/memory/metaspaceShared.cpp src/hotspot/share/memory/universe.cpp src/hotspot/share/oops/instanceKlass.cpp src/hotspot/share/oops/instanceKlass.hpp src/hotspot/share/oops/klass.cpp src/hotspot/share/oops/klass.hpp src/hotspot/share/oops/klassVtable.cpp src/hotspot/share/oops/markWord.hpp src/hotspot/share/oops/method.cpp src/hotspot/share/oops/method.hpp src/hotspot/share/oops/oopsHierarchy.hpp src/hotspot/share/oops/recordComponent.cpp src/hotspot/share/oops/recordComponent.hpp src/hotspot/share/opto/c2_globals.hpp src/hotspot/share/opto/compile.cpp src/hotspot/share/opto/loopnode.cpp src/hotspot/share/opto/memnode.cpp src/hotspot/share/opto/memnode.hpp src/hotspot/share/opto/runtime.cpp src/hotspot/share/prims/jvm.cpp src/hotspot/share/prims/jvmtiExport.cpp src/hotspot/share/prims/jvmtiTagMap.cpp src/hotspot/share/prims/unsafe.cpp src/hotspot/share/prims/whitebox.cpp src/hotspot/share/runtime/arguments.cpp src/hotspot/share/runtime/biasedLocking.cpp src/hotspot/share/runtime/flags/jvmFlag.cpp src/hotspot/share/runtime/flags/jvmFlagRangeList.cpp src/hotspot/share/runtime/flags/jvmFlagWriteableList.cpp src/hotspot/share/runtime/flags/jvmFlagWriteableList.hpp src/hotspot/share/runtime/globals.hpp src/hotspot/share/runtime/handshake.cpp src/hotspot/share/runtime/mutexLocker.cpp src/hotspot/share/runtime/mutexLocker.hpp src/hotspot/share/runtime/os.cpp src/hotspot/share/runtime/safepoint.cpp src/hotspot/share/runtime/safepoint.hpp src/hotspot/share/runtime/serviceThread.cpp src/hotspot/share/runtime/thread.cpp src/hotspot/share/runtime/thread.hpp src/hotspot/share/runtime/vmOperations.hpp src/hotspot/share/runtime/vmStructs.cpp src/hotspot/share/runtime/vmThread.cpp src/hotspot/share/services/attachListener.cpp src/hotspot/share/utilities/globalDefinitions.hpp src/java.base/share/classes/java/lang/Class.java src/java.base/share/classes/java/lang/Record.java src/java.base/share/classes/java/lang/System.java src/java.base/share/classes/java/lang/annotation/ElementType.java src/java.base/share/classes/java/lang/invoke/MethodHandles.java src/java.base/share/classes/java/net/URL.java src/java.base/share/classes/java/security/CodeSource.java src/java.base/share/classes/java/time/chrono/hijrah-config-islamic-umalqura.properties src/java.base/share/classes/java/util/regex/Pattern.java src/java.base/share/classes/jdk/internal/access/SharedSecrets.java src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java src/java.base/share/classes/sun/net/idn/Punycode.java src/java.base/share/classes/sun/net/idn/StringPrep.java src/java.base/share/classes/sun/net/idn/StringPrepDataReader.java src/java.base/share/classes/sun/net/idn/UCharacterDirection.java src/java.base/share/classes/sun/net/idn/UCharacterEnums.java src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java src/java.base/share/classes/sun/security/x509/AlgorithmId.java src/java.base/share/classes/sun/text/bidi/BidiBase.java src/java.base/share/classes/sun/text/bidi/BidiLine.java src/java.base/share/classes/sun/text/bidi/BidiRun.java src/java.base/share/classes/sun/text/bidi/BidiWriter.java src/java.base/share/classes/sun/text/normalizer/BMPSet.java src/java.base/share/classes/sun/text/normalizer/CharTrie.java src/java.base/share/classes/sun/text/normalizer/CharacterIteratorWrapper.java src/java.base/share/classes/sun/text/normalizer/CodePointMap.java src/java.base/share/classes/sun/text/normalizer/CodePointTrie.java src/java.base/share/classes/sun/text/normalizer/FilteredNormalizer2.java src/java.base/share/classes/sun/text/normalizer/ICUBinary.java src/java.base/share/classes/sun/text/normalizer/Norm2AllModes.java src/java.base/share/classes/sun/text/normalizer/Normalizer2.java src/java.base/share/classes/sun/text/normalizer/NormalizerBase.java src/java.base/share/classes/sun/text/normalizer/NormalizerImpl.java src/java.base/share/classes/sun/text/normalizer/OutputInt.java src/java.base/share/classes/sun/text/normalizer/Replaceable.java src/java.base/share/classes/sun/text/normalizer/ReplaceableString.java src/java.base/share/classes/sun/text/normalizer/ReplaceableUCharacterIterator.java src/java.base/share/classes/sun/text/normalizer/Trie.java src/java.base/share/classes/sun/text/normalizer/Trie2.java src/java.base/share/classes/sun/text/normalizer/Trie2_16.java src/java.base/share/classes/sun/text/normalizer/UBiDiProps.java src/java.base/share/classes/sun/text/normalizer/UCharacter.java src/java.base/share/classes/sun/text/normalizer/UCharacterIterator.java src/java.base/share/classes/sun/text/normalizer/UCharacterProperty.java src/java.base/share/classes/sun/text/normalizer/UTF16.java src/java.base/share/classes/sun/text/normalizer/UnicodeSet.java src/java.base/share/classes/sun/text/normalizer/UnicodeSetStringSpan.java src/java.base/share/classes/sun/text/normalizer/Utility.java src/java.base/share/classes/sun/text/normalizer/VersionInfo.java src/java.base/share/classes/sun/text/resources/nfc.nrm src/java.base/share/classes/sun/text/resources/nfkc.nrm src/java.base/share/classes/sun/text/resources/ubidi.icu src/java.base/share/classes/sun/text/resources/uprops.icu src/java.base/share/man/java.1 src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java src/jdk.compiler/share/classes/com/sun/tools/javac/code/SymbolMetadata.java src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MatchBindingsComputer.java src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider.java src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BytecodeParser.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/PackageSummaryBuilder.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java src/jdk.javadoc/share/man/javadoc.1 src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java test/hotspot/jtreg/ProblemList-aot.txt test/hotspot/jtreg/ProblemList-graal.txt test/hotspot/jtreg/ProblemList.txt test/hotspot/jtreg/gc/CriticalNativeArgs.java test/hotspot/jtreg/gc/g1/TestGCLogMessages.java test/hotspot/jtreg/gc/shenandoah/TestAllocHumongousFragment.java test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java test/hotspot/jtreg/gc/shenandoah/jni/TestPinnedGarbage.java test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java test/hotspot/jtreg/gc/shenandoah/options/TestHeuristicsUnlock.java test/hotspot/jtreg/gc/stress/CriticalNativeStress.java test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java test/hotspot/jtreg/resourcehogs/serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java test/hotspot/jtreg/resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java test/hotspot/jtreg/runtime/cds/SpaceUtilizationCheck.java test/hotspot/jtreg/runtime/cds/appcds/SharedArchiveConsistency.java test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ArchiveConsistency.java test/hotspot/jtreg/runtime/records/TEST.properties test/jdk/java/io/Serializable/records/TEST.properties test/jdk/java/lang/instrument/TEST.properties test/jdk/java/lang/reflect/records/TEST.properties test/jdk/java/lang/runtime/TEST.properties test/jdk/java/util/Locale/LocaleProvidersRun.java test/jdk/jdk/jfr/api/consumer/recordingstream/TestSetFlushInterval.java test/jdk/jdk/jfr/api/recording/time/TestSetFlushInterval.java test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java test/jdk/sun/security/krb5/auto/KDC.java test/jdk/sun/security/krb5/auto/SaslGSS.java test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java test/langtools/lib/combo/tools/javac/combo/CompilationTestCase.java test/langtools/tools/javac/patterns/BindingsExistTest.out test/langtools/tools/javac/patterns/BindingsTest1.java test/langtools/tools/javac/patterns/DuplicateBindingTest.java test/langtools/tools/javac/patterns/DuplicateBindingTest.out test/langtools/tools/javac/patterns/MatchBindingScopeTest.out test/langtools/tools/javac/records/RecordCompilationTests.java
diffstat 2095 files changed, 52493 insertions(+), 41045 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Fri Jan 24 17:07:09 2020 +0100
+++ b/.hgtags	Mon Jan 27 12:15:50 2020 +0000
@@ -604,5 +604,13 @@
 63e17cf29bed191ea21020b4648c9cdf893f80f5 jdk-15+1
 2069b4bfd23b56b6fc659fba8b75aaaa23debbe0 jdk-14+28
 f33197adda9ad82fdef46ac0f7dc0126204f35b2 jdk-15+2
+563fa900fa17c290ae516c7a3a69e8c069dde304 jdk-14+29
 d05fcdf25717d85e80a3a39a6b719458b22be5fe jdk-15+3
+d54ce919da90dab361995bb4d87be9851f00537a jdk-14+30
 bb0a7975b31ded63d594ee8dbfc4d4ead587f79b jdk-15+4
+decd3d2953b640f1043ee76953ff89238bff92e8 jdk-14+31
+b97c1773ccafae4a8c16cc6aedb10b2a4f9a07ed jdk-15+5
+2776da28515e087cc8849acf1e131a65ea7e77b6 jdk-14+32
+ef7d53b4fccd4a0501b17d974e84f37aa99fa813 jdk-15+6
+f728b6c7f4910d6bd6070cb4dde8393f4ba95113 jdk-14+33
+e2bc57500c1b785837982f7ce8af6751387ed73b jdk-15+7
--- a/make/CompileJavaModules.gmk	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/CompileJavaModules.gmk	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -39,7 +39,7 @@
 # Module specific build settings
 
 java.base_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference,-accessibility '-Xdoclint/package:java.*,javax.*' -XDstringConcat=inline
-java.base_COPY += .icu .dat .spp .nrm content-types.properties hijrah-config-islamic-umalqura.properties
+java.base_COPY += .icu .dat .spp .nrm content-types.properties hijrah-config-Hijrah-umalqura_islamic-umalqura.properties
 java.base_CLEAN += intrinsic.properties
 
 java.base_EXCLUDE_FILES += \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/GraalBuilderImage.gmk	Mon Jan 27 12:15:50 2020 +0000
@@ -0,0 +1,57 @@
+#
+# Copyright (c) 2020, Red Hat Inc.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# This makefile creates a jdk image overlayed with statically linked core
+# libraries.
+
+default: all
+
+include $(SPEC)
+include MakeBase.gmk
+
+################################################################################
+
+TARGETS :=
+
+$(eval $(call SetupCopyFiles, COPY_JDK_IMG, \
+      SRC := $(JDK_IMAGE_DIR)/, \
+      DEST := $(GRAAL_BUILDER_IMAGE_DIR)/, \
+      FILES := $(call FindFiles, $(JDK_IMAGE_DIR)/), \
+))
+TARGETS += $(COPY_JDK_IMG)
+
+$(eval $(call SetupCopyFiles, COPY_STATIC_LIBS, \
+      SRC := $(STATIC_LIBS_IMAGE_DIR)/lib, \
+      DEST := $(GRAAL_BUILDER_IMAGE_DIR)/lib, \
+      FILES := $(filter %$(STATIC_LIBRARY_SUFFIX), \
+          $(call FindFiles, $(STATIC_LIBS_IMAGE_DIR)/lib)), \
+))
+TARGETS += $(COPY_STATIC_LIBS)
+
+################################################################################
+
+all: $(TARGETS)
+
+.PHONY: all
--- a/make/Main.gmk	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/Main.gmk	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -407,6 +407,9 @@
 exploded-image-optimize:
 	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ExplodedImageOptimize.gmk)
 
+graal-builder-image:
+	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f GraalBuilderImage.gmk)
+
 ifeq ($(JCOV_ENABLED), true)
   jcov-image:
 	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Coverage.gmk jcov-image)
@@ -415,7 +418,7 @@
 ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \
     zip-source jrtfs-jar jdk-image legacy-jre-image \
     symbols-image static-libs-image mac-jdk-bundle mac-legacy-jre-bundle \
-    release-file exploded-image-optimize jcov-image
+    release-file exploded-image-optimize graal-builder-image jcov-image
 
 ################################################################################
 # Docs targets
@@ -886,6 +889,8 @@
 
   static-libs-image: $(STATIC_LIBS_TARGETS)
 
+  graal-builder-image: jdk-image static-libs-image
+
   mac-jdk-bundle: jdk-image
   mac-legacy-jre-bundle: legacy-jre-image
 
--- a/make/autoconf/flags-cflags.m4	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/autoconf/flags-cflags.m4	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -532,10 +532,13 @@
   if test "x$TOOLCHAIN_TYPE" = xgcc; then
     TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fcheck-new -fstack-protector"
     TOOLCHAIN_CFLAGS_JDK="-pipe -fstack-protector"
-    # reduce lib size on s390x in link step, this needs also special compile flags
-    if test "x$OPENJDK_TARGET_CPU" = xs390x; then
-      TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
+    # reduce lib size on linux in link step, this needs also special compile flags
+    # do this on s390x also for libjvm (where serviceability agent is not supported)
+    if test "x$ENABLE_LINKTIME_GC" = xtrue; then
       TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK -ffunction-sections -fdata-sections"
+      if test "x$OPENJDK_TARGET_CPU" = xs390x; then
+        TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
+      fi
     fi
     # technically NOT for CXX (but since this gives *worse* performance, use
     # no-strict-aliasing everywhere!)
--- a/make/autoconf/flags-ldflags.m4	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/autoconf/flags-ldflags.m4	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -72,9 +72,13 @@
     # Add -z defs, to forbid undefined symbols in object files.
     # add relro (mark relocations read only) for all libs
     BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro"
-    # s390x : remove unused code+data in link step
-    if test "x$OPENJDK_TARGET_CPU" = xs390x; then
-      BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections -Wl,--print-gc-sections"
+    # Linux : remove unused code+data in link step
+    if test "x$ENABLE_LINKTIME_GC" = xtrue; then
+      if test "x$OPENJDK_TARGET_CPU" = xs390x; then
+        BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections -Wl,--print-gc-sections"
+      else
+        BASIC_LDFLAGS_JDK_ONLY="$BASIC_LDFLAGS_JDK_ONLY -Wl,--gc-sections"
+      fi
     fi
 
     BASIC_LDFLAGS_JVM_ONLY="-Wl,-O1"
--- a/make/autoconf/hotspot.m4	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/autoconf/hotspot.m4	Mon Jan 27 12:15:50 2020 +0000
@@ -523,8 +523,7 @@
     fi
   fi
 
-  # Disable CDS for zero, minimal, core..
-  if HOTSPOT_CHECK_JVM_VARIANT(zero) || HOTSPOT_CHECK_JVM_VARIANT(minimal) || HOTSPOT_CHECK_JVM_VARIANT(core); then
+  if ! HOTSPOT_CHECK_JVM_VARIANT(server) && ! HOTSPOT_CHECK_JVM_VARIANT(client); then
     # ..except when the user explicitely requested it with --enable-jvm-features
     if ! HOTSPOT_CHECK_JVM_FEATURE(cds); then
       ENABLE_CDS="false"
--- a/make/autoconf/jdk-options.m4	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/autoconf/jdk-options.m4	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -139,6 +139,30 @@
 
   AC_SUBST(ENABLE_HEADLESS_ONLY)
 
+  # should we linktime gc unused code sections in the JDK build ?
+  AC_MSG_CHECKING([linktime gc])
+  AC_ARG_ENABLE([linktime-gc], [AS_HELP_STRING([--enable-linktime-gc],
+      [linktime gc unused code sections in the JDK build @<:@disabled@:>@])])
+
+  if test "x$enable_linktime_gc" = "xyes"; then
+    ENABLE_LINKTIME_GC="true"
+    AC_MSG_RESULT([yes])
+  elif test "x$enable_linktime_gc" = "xno"; then
+    ENABLE_LINKTIME_GC="false"
+    AC_MSG_RESULT([no])
+  elif test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = xs390x; then
+    ENABLE_LINKTIME_GC="true"
+    AC_MSG_RESULT([yes])
+  elif test "x$enable_linktime_gc" = "x"; then
+    ENABLE_LINKTIME_GC="false"
+    AC_MSG_RESULT([no])
+  else
+    AC_MSG_ERROR([--enable-linktime-gc can only take yes or no])
+  fi
+
+  AC_SUBST(ENABLE_LINKTIME_GC)
+
+
   # Should we build the complete docs, or just a lightweight version?
   AC_ARG_ENABLE([full-docs], [AS_HELP_STRING([--enable-full-docs],
       [build complete documentation @<:@enabled if all tools found@:>@])])
@@ -302,15 +326,21 @@
           if test "x$withval" = xexternal || test "x$withval" = xzipped; then
             AC_MSG_ERROR([AIX only supports the parameters 'none' and 'internal' for --with-native-debug-symbols])
           fi
+        else
+          if test "x$OPENJDK_TARGET_OS" = xwindows; then
+            if test "x$withval" = xinternal; then
+              AC_MSG_ERROR([Windows does not support the parameter 'internal' for --with-native-debug-symbols])
+            fi
+          fi
         fi
       ],
       [
-        if test "x$OPENJDK_TARGET_OS" = xaix; then
-          # AIX doesn't support 'external' so use 'internal' as default
-          with_native_debug_symbols="internal"
+        if test "x$STATIC_BUILD" = xtrue; then
+          with_native_debug_symbols="none"
         else
-          if test "x$STATIC_BUILD" = xtrue; then
-            with_native_debug_symbols="none"
+          if test "x$OPENJDK_TARGET_OS" = xaix; then
+            # AIX doesn't support 'external' so use 'internal' as default
+            with_native_debug_symbols="internal"
           else
             with_native_debug_symbols="external"
           fi
@@ -319,20 +349,7 @@
   NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols
   AC_MSG_RESULT([$NATIVE_DEBUG_SYMBOLS])
 
-  if test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
-
-    if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
-      if test "x$OBJCOPY" = x; then
-        # enabling of enable-debug-symbols and can't find objcopy
-        # this is an error
-        AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
-      fi
-    fi
-
-    COMPILE_WITH_DEBUG_SYMBOLS=true
-    COPY_DEBUG_SYMBOLS=true
-    ZIP_EXTERNAL_DEBUG_SYMBOLS=true
-  elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
+  if test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
     COMPILE_WITH_DEBUG_SYMBOLS=false
     COPY_DEBUG_SYMBOLS=false
     ZIP_EXTERNAL_DEBUG_SYMBOLS=false
@@ -353,6 +370,19 @@
     COMPILE_WITH_DEBUG_SYMBOLS=true
     COPY_DEBUG_SYMBOLS=true
     ZIP_EXTERNAL_DEBUG_SYMBOLS=false
+  elif test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
+
+    if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
+      if test "x$OBJCOPY" = x; then
+        # enabling of enable-debug-symbols and can't find objcopy
+        # this is an error
+        AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
+      fi
+    fi
+
+    COMPILE_WITH_DEBUG_SYMBOLS=true
+    COPY_DEBUG_SYMBOLS=true
+    ZIP_EXTERNAL_DEBUG_SYMBOLS=true
   else
     AC_MSG_ERROR([Allowed native debug symbols are: none, internal, external, zipped])
   fi
--- a/make/autoconf/spec.gmk.in	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/autoconf/spec.gmk.in	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -301,6 +301,8 @@
 # Only build headless support or not
 ENABLE_HEADLESS_ONLY := @ENABLE_HEADLESS_ONLY@
 
+ENABLE_LINKTIME_GC := @ENABLE_LINKTIME_GC@
+
 ENABLE_FULL_DOCS := @ENABLE_FULL_DOCS@
 
 # JDK_OUTPUTDIR specifies where a working jvm is built.
@@ -903,6 +905,10 @@
 STATIC_LIBS_IMAGE_SUBDIR := static-libs
 STATIC_LIBS_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(STATIC_LIBS_IMAGE_SUBDIR)
 
+# Graal builder image
+GRAAL_BUILDER_IMAGE_SUBDIR := graal-builder-jdk
+GRAAL_BUILDER_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(GRAAL_BUILDER_IMAGE_SUBDIR)
+
 # Macosx bundles directory definitions
 JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle
 JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle
--- a/make/autoconf/toolchain_windows.m4	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/autoconf/toolchain_windows.m4	Mon Jan 27 12:15:50 2020 +0000
@@ -209,8 +209,8 @@
   eval SDK_INSTALL_DIR="\${VS_SDK_INSTALLDIR_${VS_VERSION}}"
   eval VS_ENV_ARGS="\${VS_ENV_ARGS_${VS_VERSION}}"
   eval VS_TOOLSET_SUPPORTED="\${VS_TOOLSET_SUPPORTED_${VS_VERSION}}"
-    
-  VS_ENV_CMD="" 
+
+  VS_ENV_CMD=""
 
   # When using --with-tools-dir, assume it points to the correct and default
   # version of Visual Studio or that --with-toolchain-version was also set.
--- a/make/conf/jib-profiles.js	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/conf/jib-profiles.js	Mon Jan 27 12:15:50 2020 +0000
@@ -1066,7 +1066,7 @@
             // build_number: "b07",
             // file: "bundles/jcov-3_0.zip",
             organization: common.organization,
-            revision: "3.0-58-support+1.0",
+            revision: "3.0-59-support+1.0",
             ext: "zip",
             environment_name: "JCOV_HOME",
         },
--- a/make/data/symbols/java.base-E.sym.txt	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/data/symbols/java.base-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,7 @@
 # ##########################################################
 #
 module name java.base
-header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
+header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
 
 class name java/io/PrintStream
 method name write descriptor ([B)V thrownTypes java/io/IOException flags 1
@@ -36,6 +36,10 @@
 class name java/io/Serial
 header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;FIELD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)
 
+class name java/lang/Class
+method name getRecordComponents descriptor ()[Ljava/lang/reflect/RecordComponent; flags 1 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse) runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
+method name isRecord descriptor ()Z flags 1 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+
 class name java/lang/Math
 -method name ceil descriptor (D)D
 -method name floor descriptor (D)D
@@ -47,6 +51,13 @@
 class name java/lang/NullPointerException
 method name getMessage descriptor ()Ljava/lang/String; flags 1
 
+class name java/lang/Record
+header extends java/lang/Object flags 421 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Ztrue)
+method name <init> descriptor ()V flags 4
+method name equals descriptor (Ljava/lang/Object;)Z flags 401
+method name hashCode descriptor ()I flags 401
+method name toString descriptor ()Ljava/lang/String; flags 401
+
 class name java/lang/StrictMath
 method name incrementExact descriptor (I)I flags 9
 method name incrementExact descriptor (J)J flags 9
@@ -79,6 +90,9 @@
 method name resume descriptor ()V flags 11 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2")
 method name allowThreadSuspension descriptor (Z)Z flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2")
 
+class name java/lang/annotation/ElementType
+field name RECORD_COMPONENT descriptor Ljava/lang/annotation/ElementType; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Ztrue)
+
 class name java/lang/invoke/ConstantBootstraps
 -method name <init> descriptor ()V
 method name <init> descriptor ()V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")
@@ -93,6 +107,39 @@
 -method name <init> descriptor ()V
 method name <init> descriptor ()V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")
 
+class name java/lang/reflect/RecordComponent
+header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 31 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+method name getName descriptor ()Ljava/lang/String; flags 1
+method name getType descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>;
+method name getGenericSignature descriptor ()Ljava/lang/String; flags 1
+method name getGenericType descriptor ()Ljava/lang/reflect/Type; flags 1
+method name getAnnotatedType descriptor ()Ljava/lang/reflect/AnnotatedType; flags 1
+method name getAccessor descriptor ()Ljava/lang/reflect/Method; flags 1
+method name getAnnotation descriptor (Ljava/lang/Class;)Ljava/lang/annotation/Annotation; flags 1 signature <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)TT;
+method name getAnnotations descriptor ()[Ljava/lang/annotation/Annotation; flags 1
+method name getDeclaredAnnotations descriptor ()[Ljava/lang/annotation/Annotation; flags 1
+method name toString descriptor ()Ljava/lang/String; flags 1
+method name getDeclaringRecord descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>;
+
+class name java/lang/runtime/ObjectMethods
+header extends java/lang/Object flags 21 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name bootstrap descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/TypeDescriptor;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/Object; thrownTypes java/lang/Throwable flags 89 signature (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/TypeDescriptor;Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/Object;
+
+class name java/net/MulticastSocket
+-method name joinGroup descriptor (Ljava/net/InetAddress;)V
+-method name leaveGroup descriptor (Ljava/net/InetAddress;)V
+-method name setInterface descriptor (Ljava/net/InetAddress;)V
+-method name getInterface descriptor ()Ljava/net/InetAddress;
+-method name setLoopbackMode descriptor (Z)V
+-method name getLoopbackMode descriptor ()Z
+method name joinGroup descriptor (Ljava/net/InetAddress;)V thrownTypes java/io/IOException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
+method name leaveGroup descriptor (Ljava/net/InetAddress;)V thrownTypes java/io/IOException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
+method name setInterface descriptor (Ljava/net/InetAddress;)V thrownTypes java/net/SocketException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
+method name getInterface descriptor ()Ljava/net/InetAddress; thrownTypes java/net/SocketException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
+method name setLoopbackMode descriptor (Z)V thrownTypes java/net/SocketException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
+method name getLoopbackMode descriptor ()Z thrownTypes java/net/SocketException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
+
 class name java/nio/channels/SelectionKey
 header extends java/lang/Object flags 421
 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
@@ -125,6 +172,14 @@
 
 -class name java/security/acl/Permission
 
+class name java/text/CompactNumberFormat
+header extends java/text/NumberFormat flags 31
+innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9
+innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9
+innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name <init> descriptor (Ljava/lang/String;Ljava/text/DecimalFormatSymbols;[Ljava/lang/String;Ljava/lang/String;)V flags 1
+
 class name java/util/HashSet
 method name toArray descriptor ()[Ljava/lang/Object; flags 1
 method name toArray descriptor ([Ljava/lang/Object;)[Ljava/lang/Object; flags 1 signature <T:Ljava/lang/Object;>([TT;)[TT;
@@ -167,3 +222,9 @@
 -method name readLockInterruptibly descriptor ()J
 -method name unlock descriptor (J)V
 
+-class name java/util/jar/Pack200
+
+-class name java/util/jar/Pack200$Packer
+
+-class name java/util/jar/Pack200$Unpacker
+
--- a/make/data/symbols/java.compiler-E.sym.txt	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/data/symbols/java.compiler-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -29,30 +29,111 @@
 class name javax/lang/model/SourceVersion
 field name RELEASE_14 descriptor Ljavax/lang/model/SourceVersion; flags 4019
 
+class name javax/lang/model/element/ElementKind
+field name RECORD descriptor Ljavax/lang/model/element/ElementKind; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+field name RECORD_COMPONENT descriptor Ljavax/lang/model/element/ElementKind; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+field name BINDING_VARIABLE descriptor Ljavax/lang/model/element/ElementKind; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;PATTERN_MATCHING_IN_INSTANCEOF;,essentialAPI=Zfalse)
+
+class name javax/lang/model/element/ElementVisitor
+method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+
+class name javax/lang/model/element/RecordComponentElement
+header extends java/lang/Object implements javax/lang/model/element/Element flags 601 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+method name getEnclosingElement descriptor ()Ljavax/lang/model/element/Element; flags 401
+method name getSimpleName descriptor ()Ljavax/lang/model/element/Name; flags 401
+method name getAccessor descriptor ()Ljavax/lang/model/element/ExecutableElement; flags 401
+
+class name javax/lang/model/element/TypeElement
+method name getRecordComponents descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<+Ljavax/lang/model/element/RecordComponentElement;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+
+class name javax/lang/model/util/AbstractAnnotationValueVisitor14
+header extends javax/lang/model/util/AbstractAnnotationValueVisitor9 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractAnnotationValueVisitor9<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
+method name <init> descriptor ()V flags 4
+
 class name javax/lang/model/util/AbstractAnnotationValueVisitor9
 header extends javax/lang/model/util/AbstractAnnotationValueVisitor8 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractAnnotationValueVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
 
+class name javax/lang/model/util/AbstractElementVisitor14
+header extends javax/lang/model/util/AbstractElementVisitor9 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractElementVisitor9<TR;TP;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
+method name <init> descriptor ()V flags 4
+method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
+
+class name javax/lang/model/util/AbstractElementVisitor6
+method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
+
 class name javax/lang/model/util/AbstractElementVisitor9
 header extends javax/lang/model/util/AbstractElementVisitor8 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractElementVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
 
+class name javax/lang/model/util/AbstractTypeVisitor14
+header extends javax/lang/model/util/AbstractTypeVisitor9 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractTypeVisitor9<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
+method name <init> descriptor ()V flags 4
+
 class name javax/lang/model/util/AbstractTypeVisitor9
 header extends javax/lang/model/util/AbstractTypeVisitor8 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractTypeVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
 
+class name javax/lang/model/util/ElementFilter
+method name recordComponentsIn descriptor (Ljava/lang/Iterable;)Ljava/util/List; flags 9 signature (Ljava/lang/Iterable<+Ljavax/lang/model/element/Element;>;)Ljava/util/List<Ljavax/lang/model/element/RecordComponentElement;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+method name recordComponentsIn descriptor (Ljava/util/Set;)Ljava/util/Set; flags 9 signature (Ljava/util/Set<+Ljavax/lang/model/element/Element;>;)Ljava/util/Set<Ljavax/lang/model/element/RecordComponentElement;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+
+class name javax/lang/model/util/ElementKindVisitor14
+header extends javax/lang/model/util/ElementKindVisitor9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementKindVisitor9<TR;TP;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
+method name <init> descriptor ()V flags 4
+method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
+method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
+method name visitTypeAsRecord descriptor (Ljavax/lang/model/element/TypeElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/TypeElement;TP;)TR;
+method name visitVariableAsBindingVariable descriptor (Ljavax/lang/model/element/VariableElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/VariableElement;TP;)TR;
+
+class name javax/lang/model/util/ElementKindVisitor6
+method name visitTypeAsRecord descriptor (Ljavax/lang/model/element/TypeElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/TypeElement;TP;)TR; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+method name visitVariableAsBindingVariable descriptor (Ljavax/lang/model/element/VariableElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/VariableElement;TP;)TR;
+
 class name javax/lang/model/util/ElementKindVisitor9
 header extends javax/lang/model/util/ElementKindVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementKindVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
 
+class name javax/lang/model/util/ElementScanner14
+header extends javax/lang/model/util/ElementScanner9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementScanner9<TR;TP;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
+method name <init> descriptor ()V flags 4
+method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
+method name visitType descriptor (Ljavax/lang/model/element/TypeElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/TypeElement;TP;)TR;
+method name visitExecutable descriptor (Ljavax/lang/model/element/ExecutableElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/ExecutableElement;TP;)TR;
+method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
+
 class name javax/lang/model/util/ElementScanner9
 header extends javax/lang/model/util/ElementScanner8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementScanner8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
 
+class name javax/lang/model/util/Elements
+method name recordComponentFor descriptor (Ljavax/lang/model/element/ExecutableElement;)Ljavax/lang/model/element/RecordComponentElement; flags 1 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
+
+class name javax/lang/model/util/SimpleAnnotationValueVisitor14
+header extends javax/lang/model/util/SimpleAnnotationValueVisitor9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleAnnotationValueVisitor9<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
+method name <init> descriptor ()V flags 4
+method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
+
 class name javax/lang/model/util/SimpleAnnotationValueVisitor9
 header extends javax/lang/model/util/SimpleAnnotationValueVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleAnnotationValueVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
 
+class name javax/lang/model/util/SimpleElementVisitor14
+header extends javax/lang/model/util/SimpleElementVisitor9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleElementVisitor9<TR;TP;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
+method name <init> descriptor ()V flags 4
+method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
+method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
+
 class name javax/lang/model/util/SimpleElementVisitor9
 header extends javax/lang/model/util/SimpleElementVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleElementVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
 
+class name javax/lang/model/util/SimpleTypeVisitor14
+header extends javax/lang/model/util/SimpleTypeVisitor9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleTypeVisitor9<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
+method name <init> descriptor ()V flags 4
+method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
+
 class name javax/lang/model/util/SimpleTypeVisitor9
 header extends javax/lang/model/util/SimpleTypeVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleTypeVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
 
+class name javax/lang/model/util/TypeKindVisitor14
+header extends javax/lang/model/util/TypeKindVisitor9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/TypeKindVisitor9<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
+method name <init> descriptor ()V flags 4
+method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
+
 class name javax/lang/model/util/TypeKindVisitor9
 header extends javax/lang/model/util/TypeKindVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/TypeKindVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
 
--- a/make/data/symbols/jdk.compiler-E.sym.txt	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/data/symbols/jdk.compiler-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -59,6 +59,7 @@
 -field name YIELD descriptor Lcom/sun/source/tree/Tree$Kind;
 field name BINDING_PATTERN descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019
 field name SWITCH_EXPRESSION descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019
+field name RECORD descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
 field name YIELD descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019
 
 class name com/sun/source/tree/TreeVisitor
@@ -71,6 +72,9 @@
 class name com/sun/source/tree/YieldTree
 header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
 
+class name com/sun/source/util/Plugin
+method name autoStart descriptor ()Z flags 1
+
 class name com/sun/source/util/SimpleTreeVisitor
 -method name visitSwitchExpression descriptor (Lcom/sun/source/tree/SwitchExpressionTree;Ljava/lang/Object;)Ljava/lang/Object;
 -method name visitYield descriptor (Lcom/sun/source/tree/YieldTree;Ljava/lang/Object;)Ljava/lang/Object;
--- a/make/data/symbols/jdk.httpserver-E.sym.txt	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/data/symbols/jdk.httpserver-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -29,7 +29,6 @@
 class name com/sun/net/httpserver/BasicAuthenticator
 -field name realm descriptor Ljava/lang/String;
 field name realm descriptor Ljava/lang/String; flags 14
-field name charset descriptor Ljava/nio/charset/Charset; flags 14
 method name <init> descriptor (Ljava/lang/String;Ljava/nio/charset/Charset;)V flags 1
 
 class name com/sun/net/httpserver/HttpExchange
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.incubator.foreign-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -0,0 +1,204 @@
+#
+# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.incubator.foreign
+header exports jdk/incubator/foreign requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 resolution 9 flags 8000
+
+class name jdk/incubator/foreign/AbstractLayout
+header extends java/lang/Object implements jdk/incubator/foreign/MemoryLayout flags 420
+innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name <init> descriptor (Ljava/util/OptionalLong;JLjava/util/Optional;)V flags 1 signature (Ljava/util/OptionalLong;JLjava/util/Optional<Ljava/lang/String;>;)V
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout; flags 1
+method name name descriptor ()Ljava/util/Optional; flags 11 signature ()Ljava/util/Optional<Ljava/lang/String;>;
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/AbstractLayout; flags 1
+method name bitAlignment descriptor ()J flags 11
+method name hasSize descriptor ()Z flags 1
+method name bitSize descriptor ()J flags 1
+method name hashCode descriptor ()I flags 1
+method name equals descriptor (Ljava/lang/Object;)Z flags 1
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 1041
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 1041
+
+class name jdk/incubator/foreign/GroupLayout
+header extends jdk/incubator/foreign/AbstractLayout flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name memberLayouts descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/incubator/foreign/MemoryLayout;>;
+method name toString descriptor ()Ljava/lang/String; flags 1
+method name isStruct descriptor ()Z flags 1
+method name isUnion descriptor ()Z flags 1
+method name equals descriptor (Ljava/lang/Object;)Z flags 1
+method name hashCode descriptor ()I flags 1
+method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional<Ljava/lang/constant/DynamicConstantDesc<Ljdk/incubator/foreign/GroupLayout;>;>;
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/GroupLayout; flags 1
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/GroupLayout; flags 1
+method name bitSize descriptor ()J flags 1041
+method name hasSize descriptor ()Z flags 1041
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/AbstractLayout; flags 1041
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout; flags 1041
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 1041
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 1041
+
+class name jdk/incubator/foreign/MemoryAddress
+header extends java/lang/Object flags 601
+method name addOffset descriptor (J)Ljdk/incubator/foreign/MemoryAddress; flags 401
+method name offset descriptor ()J flags 401
+method name segment descriptor ()Ljdk/incubator/foreign/MemorySegment; flags 401
+method name equals descriptor (Ljava/lang/Object;)Z flags 401
+method name hashCode descriptor ()I flags 401
+method name copy descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/MemoryAddress;J)V flags 9
+
+class name jdk/incubator/foreign/MemoryHandles
+header extends java/lang/Object flags 31
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name varHandle descriptor (Ljava/lang/Class;Ljava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle; flags 9 signature (Ljava/lang/Class<*>;Ljava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle;
+method name varHandle descriptor (Ljava/lang/Class;JLjava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle; flags 9 signature (Ljava/lang/Class<*>;JLjava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle;
+method name withOffset descriptor (Ljava/lang/invoke/VarHandle;J)Ljava/lang/invoke/VarHandle; flags 9
+method name withStride descriptor (Ljava/lang/invoke/VarHandle;J)Ljava/lang/invoke/VarHandle; flags 9
+
+class name jdk/incubator/foreign/MemoryLayout
+header extends java/lang/Object implements java/lang/constant/Constable nestMembers jdk/incubator/foreign/MemoryLayout$PathElement flags 601
+innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name describeConstable descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<+Ljava/lang/constant/DynamicConstantDesc<+Ljdk/incubator/foreign/MemoryLayout;>;>;
+method name hasSize descriptor ()Z flags 401
+method name bitSize descriptor ()J flags 401
+method name byteSize descriptor ()J flags 1
+method name name descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/lang/String;>;
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 401
+method name bitAlignment descriptor ()J flags 401
+method name byteAlignment descriptor ()J flags 1
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 401
+method name offset descriptor ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)J flags 81
+method name varHandle descriptor (Ljava/lang/Class;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/VarHandle; flags 81 signature (Ljava/lang/Class<*>;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/VarHandle;
+method name select descriptor ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout; flags 81
+method name map descriptor (Ljava/util/function/UnaryOperator;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout; flags 81 signature (Ljava/util/function/UnaryOperator<Ljdk/incubator/foreign/MemoryLayout;>;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout;
+method name equals descriptor (Ljava/lang/Object;)Z flags 401
+method name hashCode descriptor ()I flags 401
+method name toString descriptor ()Ljava/lang/String; flags 401
+method name ofPaddingBits descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 9
+method name ofValueBits descriptor (JLjava/nio/ByteOrder;)Ljdk/incubator/foreign/ValueLayout; flags 9
+method name ofSequence descriptor (JLjdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/SequenceLayout; flags 9
+method name ofSequence descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/SequenceLayout; flags 9
+method name ofStruct descriptor ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/GroupLayout; flags 89
+method name ofUnion descriptor ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/GroupLayout; flags 89
+
+class name jdk/incubator/foreign/MemoryLayout$PathElement
+header extends java/lang/Object nestHost jdk/incubator/foreign/MemoryLayout flags 601
+innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name groupElement descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout$PathElement; flags 9
+method name sequenceElement descriptor (J)Ljdk/incubator/foreign/MemoryLayout$PathElement; flags 9
+method name sequenceElement descriptor (JJ)Ljdk/incubator/foreign/MemoryLayout$PathElement; flags 9
+method name sequenceElement descriptor ()Ljdk/incubator/foreign/MemoryLayout$PathElement; flags 9
+
+class name jdk/incubator/foreign/MemoryLayouts
+header extends java/lang/Object flags 31
+field name BITS_8_LE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name BITS_16_LE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name BITS_32_LE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name BITS_64_LE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name BITS_8_BE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name BITS_16_BE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name BITS_32_BE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name BITS_64_BE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name PAD_8 descriptor Ljdk/incubator/foreign/MemoryLayout; flags 19
+field name PAD_16 descriptor Ljdk/incubator/foreign/MemoryLayout; flags 19
+field name PAD_32 descriptor Ljdk/incubator/foreign/MemoryLayout; flags 19
+field name PAD_64 descriptor Ljdk/incubator/foreign/MemoryLayout; flags 19
+field name JAVA_BYTE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name JAVA_CHAR descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name JAVA_SHORT descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name JAVA_INT descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name JAVA_LONG descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name JAVA_FLOAT descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+field name JAVA_DOUBLE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
+
+class name jdk/incubator/foreign/MemorySegment
+header extends java/lang/Object implements java/lang/AutoCloseable flags 601
+innerclass innerClass java/nio/channels/FileChannel$MapMode outerClass java/nio/channels/FileChannel innerClassName MapMode flags 9
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+method name baseAddress descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 401
+method name acquire descriptor ()Ljdk/incubator/foreign/MemorySegment; flags 401
+method name ownerThread descriptor ()Ljava/lang/Thread; flags 401
+method name byteSize descriptor ()J flags 401
+method name asReadOnly descriptor ()Ljdk/incubator/foreign/MemorySegment; flags 401
+method name asSlice descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; flags 401
+method name isAlive descriptor ()Z flags 401
+method name isReadOnly descriptor ()Z flags 401
+method name close descriptor ()V flags 401
+method name asByteBuffer descriptor ()Ljava/nio/ByteBuffer; flags 401
+method name toByteArray descriptor ()[B flags 401
+method name ofByteBuffer descriptor (Ljava/nio/ByteBuffer;)Ljdk/incubator/foreign/MemorySegment; flags 9
+method name ofArray descriptor ([B)Ljdk/incubator/foreign/MemorySegment; flags 9
+method name ofArray descriptor ([C)Ljdk/incubator/foreign/MemorySegment; flags 9
+method name ofArray descriptor ([S)Ljdk/incubator/foreign/MemorySegment; flags 9
+method name ofArray descriptor ([I)Ljdk/incubator/foreign/MemorySegment; flags 9
+method name ofArray descriptor ([F)Ljdk/incubator/foreign/MemorySegment; flags 9
+method name ofArray descriptor ([J)Ljdk/incubator/foreign/MemorySegment; flags 9
+method name ofArray descriptor ([D)Ljdk/incubator/foreign/MemorySegment; flags 9
+method name allocateNative descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemorySegment; flags 9
+method name allocateNative descriptor (J)Ljdk/incubator/foreign/MemorySegment; flags 9
+method name mapFromPath descriptor (Ljava/nio/file/Path;JLjava/nio/channels/FileChannel$MapMode;)Ljdk/incubator/foreign/MemorySegment; thrownTypes java/io/IOException flags 9
+method name allocateNative descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; flags 9
+
+class name jdk/incubator/foreign/SequenceLayout
+header extends jdk/incubator/foreign/AbstractLayout flags 31
+method name elementLayout descriptor ()Ljdk/incubator/foreign/MemoryLayout; flags 1
+method name elementCount descriptor ()Ljava/util/OptionalLong; flags 1
+method name withElementCount descriptor (J)Ljdk/incubator/foreign/SequenceLayout; flags 1
+method name toString descriptor ()Ljava/lang/String; flags 1
+method name equals descriptor (Ljava/lang/Object;)Z flags 1
+method name hashCode descriptor ()I flags 1
+method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional<Ljava/lang/constant/DynamicConstantDesc<Ljdk/incubator/foreign/SequenceLayout;>;>;
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/SequenceLayout; flags 1
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/SequenceLayout; flags 1
+method name bitSize descriptor ()J flags 1041
+method name hasSize descriptor ()Z flags 1041
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/AbstractLayout; flags 1041
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout; flags 1041
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 1041
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 1041
+
+class name jdk/incubator/foreign/ValueLayout
+header extends jdk/incubator/foreign/AbstractLayout implements jdk/incubator/foreign/MemoryLayout flags 31
+method name order descriptor ()Ljava/nio/ByteOrder; flags 1
+method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/incubator/foreign/ValueLayout; flags 1
+method name toString descriptor ()Ljava/lang/String; flags 1
+method name equals descriptor (Ljava/lang/Object;)Z flags 1
+method name hashCode descriptor ()I flags 1
+method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional<Ljava/lang/constant/DynamicConstantDesc<Ljdk/incubator/foreign/ValueLayout;>;>;
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/ValueLayout; flags 1
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/ValueLayout; flags 1
+method name bitSize descriptor ()J flags 1041
+method name hasSize descriptor ()Z flags 1041
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/AbstractLayout; flags 1041
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout; flags 1041
+method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 1041
+method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 1041
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.incubator.jpackage-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+module name jdk.incubator.jpackage
+header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.jlink\u0020;flags\u0020;0,name\u0020;java.desktop\u0020;flags\u0020;0 uses jdk/incubator/jpackage/internal/Bundler,jdk/incubator/jpackage/internal/Bundlers provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;jdk/incubator/jpackage/internal/JPackageToolProvider,interface\u0020;jdk/incubator/jpackage/internal/Bundler\u0020;impls\u0020;jdk/incubator/jpackage/internal/LinuxAppBundler\u005C;u002C;jdk/incubator/jpackage/internal/LinuxDebBundler\u005C;u002C;jdk/incubator/jpackage/internal/LinuxRpmBundler,interface\u0020;jdk/incubator/jpackage/internal/Bundlers\u0020;impls\u0020;jdk/incubator/jpackage/internal/BasicBundlers target linux-amd64 resolution 9 flags 8000
+
--- a/make/data/symbols/jdk.jfr-E.sym.txt	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/data/symbols/jdk.jfr-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -26,10 +26,6 @@
 # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
 # ##########################################################
 #
-class name jdk/jfr/Recording
-method name setFlushInterval descriptor (Ljava/time/Duration;)V flags 1
-method name getFlushInterval descriptor ()Ljava/time/Duration; flags 1
-
 class name jdk/jfr/consumer/EventStream
 header extends java/lang/Object implements java/lang/AutoCloseable flags 601
 method name openRepository descriptor ()Ljdk/jfr/consumer/EventStream; thrownTypes java/io/IOException flags 9
@@ -68,7 +64,6 @@
 method name disable descriptor (Ljava/lang/Class;)Ljdk/jfr/EventSettings; flags 1 signature (Ljava/lang/Class<+Ljdk/jfr/Event;>;)Ljdk/jfr/EventSettings;
 method name setMaxAge descriptor (Ljava/time/Duration;)V flags 1
 method name setMaxSize descriptor (J)V flags 1
-method name setFlushInterval descriptor (Ljava/time/Duration;)V flags 1
 method name setReuse descriptor (Z)V flags 1
 method name setOrdered descriptor (Z)V flags 1
 method name setStartTime descriptor (Ljava/time/Instant;)V flags 1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.jshell-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+class name jdk/jshell/Snippet$SubKind
+field name RECORD_SUBKIND descriptor Ljdk/jshell/Snippet$SubKind; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;)
+
--- a/make/data/symbols/jdk.management-E.sym.txt	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/data/symbols/jdk.management-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -26,6 +26,17 @@
 # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
 # ##########################################################
 #
+class name com/sun/management/OperatingSystemMXBean
+-method name getFreePhysicalMemorySize descriptor ()J
+-method name getTotalPhysicalMemorySize descriptor ()J
+-method name getSystemCpuLoad descriptor ()D
+method name getFreePhysicalMemorySize descriptor ()J flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
+method name getFreeMemorySize descriptor ()J flags 401
+method name getTotalPhysicalMemorySize descriptor ()J flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
+method name getTotalMemorySize descriptor ()J flags 401
+method name getSystemCpuLoad descriptor ()D flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
+method name getCpuLoad descriptor ()D flags 401
+
 class name com/sun/management/ThreadMXBean
 method name getCurrentThreadAllocatedBytes descriptor ()J flags 1
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.net-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+class name jdk/net/ExtendedSocketOptions
+-field name SO_FLOW_SLA descriptor Ljava/net/SocketOption;
+field name SO_FLOW_SLA descriptor Ljava/net/SocketOption; flags 19 deprecated true signature Ljava/net/SocketOption<Ljdk/net/SocketFlow;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")
+
+class name jdk/net/SocketFlow
+header extends java/lang/Object nestMembers jdk/net/SocketFlow$Status flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")
+innerclass innerClass jdk/net/SocketFlow$Status outerClass jdk/net/SocketFlow innerClassName Status flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
+class name jdk/net/SocketFlow$Status
+header extends java/lang/Enum nestHost jdk/net/SocketFlow flags 4031 deprecated true signature Ljava/lang/Enum<Ljdk/net/SocketFlow$Status;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")
+innerclass innerClass jdk/net/SocketFlow$Status outerClass jdk/net/SocketFlow innerClassName Status flags 4019
+innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/symbols/jdk.pack-E.sym.txt	Mon Jan 27 12:15:50 2020 +0000
@@ -0,0 +1,30 @@
+#
+# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+-module name jdk.pack
+
--- a/make/data/symbols/symbols	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/data/symbols/symbols	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -37,4 +37,4 @@
 platform version B base A files java.activation-B.sym.txt:java.base-B.sym.txt:java.compiler-B.sym.txt:java.corba-B.sym.txt:java.datatransfer-B.sym.txt:java.desktop-B.sym.txt:java.instrument-B.sym.txt:java.logging-B.sym.txt:java.management-B.sym.txt:java.management.rmi-B.sym.txt:java.naming-B.sym.txt:java.net.http-B.sym.txt:java.prefs-B.sym.txt:java.rmi-B.sym.txt:java.scripting-B.sym.txt:java.se-B.sym.txt:java.se.ee-B.sym.txt:java.security.jgss-B.sym.txt:java.security.sasl-B.sym.txt:java.smartcardio-B.sym.txt:java.sql-B.sym.txt:java.sql.rowset-B.sym.txt:java.transaction-B.sym.txt:java.transaction.xa-B.sym.txt:java.xml-B.sym.txt:java.xml.bind-B.sym.txt:java.xml.crypto-B.sym.txt:java.xml.ws-B.sym.txt:java.xml.ws.annotation-B.sym.txt:jdk.accessibility-B.sym.txt:jdk.attach-B.sym.txt:jdk.charsets-B.sym.txt:jdk.compiler-B.sym.txt:jdk.crypto.cryptoki-B.sym.txt:jdk.crypto.ec-B.sym.txt:jdk.dynalink-B.sym.txt:jdk.editpad-B.sym.txt:jdk.hotspot.agent-B.sym.txt:jdk.httpserver-B.sym.txt:jdk.incubator.httpclient-B.sym.txt:jdk.jartool-B.sym.txt:jdk.javadoc-B.sym.txt:jdk.jcmd-B.sym.txt:jdk.jconsole-B.sym.txt:jdk.jdeps-B.sym.txt:jdk.jdi-B.sym.txt:jdk.jdwp.agent-B.sym.txt:jdk.jfr-B.sym.txt:jdk.jlink-B.sym.txt:jdk.jshell-B.sym.txt:jdk.jsobject-B.sym.txt:jdk.jstatd-B.sym.txt:jdk.localedata-B.sym.txt:jdk.management-B.sym.txt:jdk.management.agent-B.sym.txt:jdk.management.jfr-B.sym.txt:jdk.naming.dns-B.sym.txt:jdk.naming.rmi-B.sym.txt:jdk.net-B.sym.txt:jdk.pack-B.sym.txt:jdk.rmic-B.sym.txt:jdk.scripting.nashorn-B.sym.txt:jdk.sctp-B.sym.txt:jdk.security.auth-B.sym.txt:jdk.security.jgss-B.sym.txt:jdk.unsupported-B.sym.txt:jdk.xml.dom-B.sym.txt:jdk.zipfs-B.sym.txt
 platform version C base B files java.base-C.sym.txt:java.compiler-C.sym.txt:java.desktop-C.sym.txt:java.naming-C.sym.txt:java.rmi-C.sym.txt:java.xml-C.sym.txt:jdk.compiler-C.sym.txt:jdk.jfr-C.sym.txt:jdk.jsobject-C.sym.txt:jdk.unsupported-C.sym.txt
 platform version D base C files java.base-D.sym.txt:java.compiler-D.sym.txt:java.desktop-D.sym.txt:java.management-D.sym.txt:java.management.rmi-D.sym.txt:java.net.http-D.sym.txt:java.security.jgss-D.sym.txt:java.xml-D.sym.txt:java.xml.crypto-D.sym.txt:jdk.compiler-D.sym.txt:jdk.httpserver-D.sym.txt:jdk.jartool-D.sym.txt:jdk.javadoc-D.sym.txt:jdk.jlink-D.sym.txt:jdk.jshell-D.sym.txt
-platform version E base D files java.base-E.sym.txt:java.compiler-E.sym.txt:java.desktop-E.sym.txt:java.xml-E.sym.txt:jdk.compiler-E.sym.txt:jdk.httpserver-E.sym.txt:jdk.jfr-E.sym.txt:jdk.jlink-E.sym.txt:jdk.jsobject-E.sym.txt:jdk.management-E.sym.txt
+platform version E base D files java.base-E.sym.txt:java.compiler-E.sym.txt:java.desktop-E.sym.txt:java.xml-E.sym.txt:jdk.compiler-E.sym.txt:jdk.httpserver-E.sym.txt:jdk.incubator.foreign-E.sym.txt:jdk.incubator.jpackage-E.sym.txt:jdk.jfr-E.sym.txt:jdk.jlink-E.sym.txt:jdk.jshell-E.sym.txt:jdk.jsobject-E.sym.txt:jdk.management-E.sym.txt:jdk.net-E.sym.txt:jdk.pack-E.sym.txt
--- a/make/gensrc/Gensrc-jdk.internal.vm.compiler.gmk	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/gensrc/Gensrc-jdk.internal.vm.compiler.gmk	Mon Jan 27 12:15:50 2020 +0000
@@ -36,6 +36,7 @@
 ################################################################################
 
 PROC_SRC_SUBDIRS := \
+    org.graalvm.compiler.asm.amd64 \
     org.graalvm.compiler.code \
     org.graalvm.compiler.core \
     org.graalvm.compiler.core.aarch64 \
--- a/make/hotspot/lib/JvmFeatures.gmk	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/hotspot/lib/JvmFeatures.gmk	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -192,13 +192,11 @@
     OPT_SPEED_SRC := \
         allocation.cpp \
         assembler.cpp \
-        assembler_linux_arm.cpp \
         barrierSet.cpp \
         basicLock.cpp \
         biasedLocking.cpp \
         bytecode.cpp \
         bytecodeInterpreter.cpp \
-        bytecodeInterpreter_x86.cpp \
         c1_Compilation.cpp \
         c1_Compiler.cpp \
         c1_GraphBuilder.cpp \
@@ -232,7 +230,6 @@
         javaClasses.cpp \
         jniFastGetField_arm.cpp \
         jvm.cpp \
-        jvm_linux.cpp \
         linkResolver.cpp \
         klass.cpp \
         klassVtable.cpp \
@@ -243,17 +240,13 @@
         methodHandles.cpp \
         methodHandles_arm.cpp \
         methodLiveness.cpp \
-        metablock.cpp \
         metaspace.cpp \
         mutex.cpp \
-        mutex_linux.cpp \
         mutexLocker.cpp \
         nativeLookup.cpp \
         objArrayKlass.cpp \
         os_linux.cpp \
         os_linux_arm.cpp \
-        placeHolders.cpp \
-        quickSort.cpp \
         resourceArea.cpp \
         rewriter.cpp \
         sharedRuntime.cpp \
@@ -264,9 +257,6 @@
         systemDictionary.cpp \
         symbol.cpp \
         synchronizer.cpp \
-        threadLS_bsd_x86.cpp \
-        threadLS_linux_arm.cpp \
-        threadLS_linux_x86.cpp \
         timer.cpp \
         typeArrayKlass.cpp \
         unsafe.cpp \
--- a/make/hotspot/test/GtestImage.gmk	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/hotspot/test/GtestImage.gmk	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -45,12 +45,14 @@
         FLATTEN := true, \
     )) \
     $(eval TARGETS += $$(COPY_GTEST_MSVCR_$v)) \
-    $(eval $(call SetupCopyFiles, COPY_GTEST_PDB_$v, \
-        SRC := $(HOTSPOT_OUTPUTDIR)/variant-$v/libjvm/gtest, \
-        DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
-        FILES := jvm.pdb gtestLauncher.pdb, \
-    )) \
-    $(eval TARGETS += $$(COPY_GTEST_PDB_$v)) \
+    $(if $(call equals, $(COPY_DEBUG_SYMBOLS), true), \
+      $(eval $(call SetupCopyFiles, COPY_GTEST_PDB_$v, \
+          SRC := $(HOTSPOT_OUTPUTDIR)/variant-$v/libjvm/gtest, \
+          DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
+          FILES := jvm.pdb gtestLauncher.pdb, \
+      )) \
+      $(eval TARGETS += $$(COPY_GTEST_PDB_$v)) \
+    ) \
   )
 endif
 
--- a/make/jdk/src/classes/build/tools/cldrconverter/Bundle.java	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/jdk/src/classes/build/tools/cldrconverter/Bundle.java	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -72,7 +72,9 @@
         "NumberElements/exponential",
         "NumberElements/permille",
         "NumberElements/infinity",
-        "NumberElements/nan"
+        "NumberElements/nan",
+        "NumberElements/currencyDecimal",
+        "NumberElements/currencyGroup",
     };
 
     private final static String[] TIME_PATTERN_KEYS = {
@@ -810,7 +812,10 @@
                         assert keys == NUMBER_ELEMENT_KEYS;
                         if (key.endsWith("/pattern")) {
                             numArray[idx] = "#";
-                        } else {
+                        } else if (!key.endsWith("currencyDecimal") &&
+                                   !key.endsWith("currencyGroup")) {
+                            // throw error unless it is for "currencyDecimal/Group",
+                            // which may be missing.
                             throw new InternalError("NumberElements: null for " +
                                                     key + ", id: " + id);
                         }
--- a/make/jdk/src/classes/build/tools/cldrconverter/LDMLParseHandler.java	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/jdk/src/classes/build/tools/cldrconverter/LDMLParseHandler.java	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -644,19 +644,13 @@
             }
             break;
         case "decimal":
+        case "group":
+        case "currencyDecimal":
+        case "currencyGroup":
             // for FormatData
             // copy string for later assembly into NumberElements
             if (currentContainer.getqName().equals("symbols")) {
-                pushStringEntry(qName, attributes, currentNumberingSystem + "NumberElements/decimal");
-            } else {
-                pushIgnoredContainer(qName);
-            }
-            break;
-        case "group":
-            // for FormatData
-            // copy string for later assembly into NumberElements
-            if (currentContainer.getqName().equals("symbols")) {
-                pushStringEntry(qName, attributes, currentNumberingSystem + "NumberElements/group");
+                pushStringEntry(qName, attributes, currentNumberingSystem + "NumberElements/" + qName);
             } else {
                 pushIgnoredContainer(qName);
             }
--- a/make/src/classes/build/tools/jfr/GenerateJfrFiles.java	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/src/classes/build/tools/jfr/GenerateJfrFiles.java	Mon Jan 27 12:15:50 2020 +0000
@@ -154,6 +154,7 @@
         boolean startTime;
         boolean periodic;
         boolean cutoff;
+        String commitState;
     }
 
     static class FieldElement {
@@ -219,14 +220,15 @@
                 currentType.name = attributes.getValue("name");
                 break;
             case "Event":
-                EventElement eventtType = new EventElement();
-                eventtType.name = attributes.getValue("name");
-                eventtType.thread = getBoolean(attributes, "thread", false);
-                eventtType.stackTrace = getBoolean(attributes, "stackTrace", false);
-                eventtType.startTime = getBoolean(attributes, "startTime", true);
-                eventtType.periodic = attributes.getValue("period") != null;
-                eventtType.cutoff = getBoolean(attributes, "cutoff", false);
-                currentType = eventtType;
+                EventElement eventType = new EventElement();
+                eventType.name = attributes.getValue("name");
+                eventType.thread = getBoolean(attributes, "thread", false);
+                eventType.stackTrace = getBoolean(attributes, "stackTrace", false);
+                eventType.startTime = getBoolean(attributes, "startTime", true);
+                eventType.periodic = attributes.getValue("period") != null;
+                eventType.cutoff = getBoolean(attributes, "cutoff", false);
+                eventType.commitState = attributes.getValue("commitState");
+                currentType = eventType;
                 break;
             case "Field":
                 currentField = new FieldElement(metadata);
@@ -459,6 +461,7 @@
             out.write("#include \"utilities/ticks.hpp\"");
             out.write("#if INCLUDE_JFR");
             out.write("#include \"jfr/recorder/service/jfrEvent.hpp\"");
+            out.write("#include \"jfr/support/jfrEpochSynchronization.hpp\"");
             out.write("/*");
             out.write(" * Each event class has an assert member function verify() which is invoked");
             out.write(" * just before the engine writes the event and its fields to the data stream.");
@@ -523,7 +526,7 @@
         }
         out.write("");
         if (!empty) {
-          printWriteData(out, t.fields);
+          printWriteData(out, t.fields, null);
         }
         out.write("};");
         out.write("");
@@ -566,7 +569,7 @@
         }
         out.write("");
         if (!empty) {
-          printWriteData(out, event.fields);
+          printWriteData(out, event.fields, event.commitState);
           out.write("");
         }
         out.write("  using JfrEvent<Event" + event.name + ">::commit; // else commit() is hidden by overloaded versions in this class");
@@ -578,9 +581,13 @@
         out.write("};");
     }
 
-    private static void printWriteData(Printer out, List<FieldElement> fields) {
+    private static void printWriteData(Printer out, List<FieldElement> fields, String commitState) {
         out.write("  template <typename Writer>");
         out.write("  void writeData(Writer& w) {");
+        if (("_thread_in_native").equals(commitState)) {
+            out.write("    // explicit epoch synchronization check");
+            out.write("    JfrEpochSynchronization sync;");
+        }
         for (FieldElement field : fields) {
             if (field.struct) {
                 out.write("    _" + field.name + ".writeData(w);");
--- a/make/test/JtregGraalUnit.gmk	Fri Jan 24 17:07:09 2020 +0100
+++ b/make/test/JtregGraalUnit.gmk	Mon Jan 27 12:15:50 2020 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -176,8 +176,6 @@
     ))
 
     TARGETS_IMAGE += $(COPY_HOTSPOT_JTREG_GRAAL)
-  else
-    $(info Skip building of Graal unit tests because 3rd party libraries directory is not specified)
   endif
 endif
 
--- a/src/hotspot/cpu/aarch64/aarch64.ad	Fri Jan 24 17:07:09 2020 +0100
+++ b/src/hotspot/cpu/aarch64/aarch64.ad	Mon Jan 27 12:15:50 2020 +0000
@@ -1,6 +1,6 @@
 //
-// Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
-// Copyright (c) 2014, 2019, Red Hat, Inc. All rights reserved.
+// Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
+// Copyright (c) 2014, 2020, Red Hat, Inc. All rights reserved.
 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 //
 // This code is free software; you can redistribute it and/or modify it
@@ -983,6 +983,7 @@
 #include "gc/shared/cardTableBarrierSet.hpp"
 #include "gc/shared/collectedHeap.hpp"
 #include "opto/addnode.hpp"
+#include "opto/convertnode.hpp"
 
 extern RegMask _ANY_REG32_mask;
 extern RegMask _ANY_REG_mask;
@@ -2193,7 +2194,7 @@
 // No support for generic vector operands.
 const bool Matcher::supports_generic_vector_operands  = false;
 
-MachOper* Matcher::specialize_generic_vector_operand(MachOper* original_opnd, uint ideal_reg) {
+MachOper* Matcher::specialize_generic_vector_operand(MachOper* original_opnd, uint ideal_reg, bool is_temp) {
   ShouldNotReachHere(); // generic vector operands not supported
   return NULL;
 }
@@ -2441,15 +2442,27 @@
   // offsets is something of a kludge.
   static void loadStore(MacroAssembler masm, mem_insn insn,
                         Register reg, int opcode,
-                        Register base, int index, int size, int disp)
+                        Register base, int index, int scale, int disp,
+                        int size_in_memory)
   {
-    Address addr = mem2address(opcode, base, index, size, disp);
+    Address addr = mem2address(opcode, base, index, scale, disp);
+    if (addr.getMode() == Address::base_plus_offset) {
+      /* If we get an out-of-range offset it is a bug in the compiler,
+         so we assert here. */
+      assert(Address::offset_ok_for_immed(addr.offset(), exact_log2(size_in_memory)),
+             "c2 compiler bug");
+      /* Fix up any out-of-range offsets. */
+      assert_different_registers(rscratch1, base);
+      assert_different_registers(rscratch1, reg);
+      addr = masm.legitimize_address(addr, size_in_memory, rscratch1);
+    }
     (masm.*insn)(reg, addr);
   }
 
   static void loadStore(MacroAssembler masm, mem_float_insn insn,
                         FloatRegister reg, int opcode,
-                        Register base, int index, int size, int disp)
+                        Register base, int index, int size, int disp,
+                        int size_in_memory)
   {
     Address::extend scale;
 
@@ -2462,8 +2475,15 @@
       scale = Address::lsl(size);
     }
 
-     if (index == -1) {
-      (masm.*insn)(reg, Address(base, disp));
+    if (index == -1) {
+      /* If we get an out-of-range offset it is a bug in the compiler,
+         so we assert here. */
+      assert(Address::offset_ok_for_immed(disp, exact_log2(size_in_memory)), "c2 compiler bug");
+      /* Fix up any out-of-range offsets. */
+      assert_different_registers(rscratch1, base);
+      Address addr = Address(base, disp);
+      addr = masm.legitimize_address(addr, size_in_memory, rscratch1);
+      (masm.*insn)(reg, addr);
     } else {
       assert(disp == 0, "unsupported address mode: disp = %d", disp);
       (masm.*insn)(reg, Address(base, as_Register(index), scale));
@@ -2529,152 +2549,169 @@
 
   // BEGIN Non-volatile memory access
 
-  enc_class aarch64_enc_ldrsbw(iRegI dst, memory mem) %{
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrsbw(iRegI dst, memory1 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrsbw, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldrsb(iRegI dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 1);
+  %}
+
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrsb(iRegI dst, memory1 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrsb, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldrb(iRegI dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 1);
+  %}
+
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrb(iRegI dst, memory1 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrb, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldrb(iRegL dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 1);
+  %}
+
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrb(iRegL dst, memory1 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrb, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldrshw(iRegI dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 1);
+  %}
+
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrshw(iRegI dst, memory2 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrshw, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldrsh(iRegI dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 2);
+  %}
+
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrsh(iRegI dst, memory2 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrsh, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldrh(iRegI dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 2);
+  %}
+
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrh(iRegI dst, memory2 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrh, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldrh(iRegL dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 2);
+  %}
+
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrh(iRegL dst, memory2 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrh, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldrw(iRegI dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 2);
+  %}
+
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrw(iRegI dst, memory4 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrw, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldrw(iRegL dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 4);
+  %}
+
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrw(iRegL dst, memory4 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrw, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldrsw(iRegL dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 4);
+  %}
+
+  // This encoding class is generated automatically from ad_encode.m4.
+  // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
+  enc_class aarch64_enc_ldrsw(iRegL dst, memory4 mem) %{
     Register dst_reg = as_Register($dst$$reg);
     loadStore(MacroAssembler(&cbuf), &MacroAssembler::ldrsw, dst_reg, $mem->opcode(),
-               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp);
-  %}
-
-  enc_class aarch64_enc_ldr(iRegL dst, memory mem) %{
+               as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 4);
+  %}