Merge
authorpsadhukhan
Tue, 15 Oct 2019 14:19:55 +0530
changeset 58602 d97e1ee31e2b
parent 58601 70968bcc110c (current diff)
parent 58591 9770ff6f0b20 (diff)
child 58603 2312d1a04c49
child 59167 2cf90f3e8195
Merge
test/hotspot/jtreg/vmTestbase/jit/graph/CGTThread.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt0/cgt0.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt1/cgt1.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt10/cgt10.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt11/cgt11.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt2/cgt2.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt3/cgt3.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt4/cgt4.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt5/cgt5.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt6/cgt6.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt7/cgt7.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt8/cgt8.java
test/hotspot/jtreg/vmTestbase/jit/graph/cgt9/cgt9.java
--- a/doc/building.html	Sat Oct 12 08:49:59 2019 +0530
+++ b/doc/building.html	Tue Oct 15 14:19:55 2019 +0530
@@ -281,7 +281,7 @@
 <tbody>
 <tr class="odd">
 <td style="text-align: left;">Linux</td>
-<td style="text-align: left;">gcc 8.2.0</td>
+<td style="text-align: left;">gcc 8.3.0</td>
 </tr>
 <tr class="even">
 <td style="text-align: left;">macOS</td>
@@ -293,14 +293,14 @@
 </tr>
 <tr class="even">
 <td style="text-align: left;">Windows</td>
-<td style="text-align: left;">Microsoft Visual Studio 2017 update 15.9.6</td>
+<td style="text-align: left;">Microsoft Visual Studio 2017 update 15.9.16</td>
 </tr>
 </tbody>
 </table>
 <p>All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio doesn't fully support C99 so in practice shared code is limited to using C99 features that it does support.</p>
 <h3 id="gcc">gcc</h3>
 <p>The minimum accepted version of gcc is 4.8. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p>
-<p>The JDK is currently known to be able to compile with at least version 7.4 of gcc.</p>
+<p>The JDK is currently known to be able to compile with at least version 8.3 of gcc.</p>
 <p>In general, any version between these two should be usable.</p>
 <h3 id="clang">clang</h3>
 <p>The minimum accepted version of clang is 3.2. Older versions will not be accepted by <code>configure</code>.</p>
--- a/doc/building.md	Sat Oct 12 08:49:59 2019 +0530
+++ b/doc/building.md	Tue Oct 15 14:19:55 2019 +0530
@@ -323,10 +323,10 @@
 
  Operating system   Toolchain version
  ------------------ -------------------------------------------------------
- Linux              gcc 8.2.0
+ Linux              gcc 8.3.0
  macOS              Apple Xcode 10.1 (using clang 10.0.0)
  Solaris            Oracle Solaris Studio 12.6 (with compiler version 5.15)
- Windows            Microsoft Visual Studio 2017 update 15.9.6
+ Windows            Microsoft Visual Studio 2017 update 15.9.16
 
 All compilers are expected to be able to compile to the C99 language standard,
 as some C99 features are used in the source code. Microsoft Visual Studio
@@ -338,7 +338,7 @@
 The minimum accepted version of gcc is 4.8. Older versions will generate a warning
 by `configure` and are unlikely to work.
 
-The JDK is currently known to be able to compile with at least version 7.4 of
+The JDK is currently known to be able to compile with at least version 8.3 of
 gcc.
 
 In general, any version between these two should be usable.
--- a/make/RunTestsPrebuilt.gmk	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/RunTestsPrebuilt.gmk	Tue Oct 15 14:19:55 2019 +0530
@@ -230,7 +230,7 @@
   NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
   MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
 else ifeq ($(OPENJDK_TARGET_OS), solaris)
-  NUM_CORES := $(shell LC_MESSAGES=C /usr/sbin/psrinfo -v | $(GREP) -c on-line)
+  NUM_CORES := $(shell /usr/sbin/psrinfo -v | $(GREP) -c on-line)
   MEMORY_SIZE := $(shell \
       /usr/sbin/prtconf 2> /dev/null | $(GREP) "^Memory [Ss]ize" | $(AWK) '{print $$3}' \
   )
--- a/make/RunTestsPrebuiltSpec.gmk	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/RunTestsPrebuiltSpec.gmk	Tue Oct 15 14:19:55 2019 +0530
@@ -27,6 +27,9 @@
 # Fake minimalistic spec file for RunTestsPrebuilt.gmk.
 ################################################################################
 
+# Make sure all shell commands are executed with the C locale
+export LC_ALL := C
+
 define VerifyVariable
   ifeq ($$($1), )
     $$(info Error: Variable $1 is missing, needed by RunTestPrebuiltSpec.gmk)
--- a/make/autoconf/basics.m4	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/autoconf/basics.m4	Tue Oct 15 14:19:55 2019 +0530
@@ -427,7 +427,7 @@
   # Save the path variable before it gets changed
   ORIGINAL_PATH="$PATH"
   AC_SUBST(ORIGINAL_PATH)
-  DATE_WHEN_CONFIGURED=`LANG=C date`
+  DATE_WHEN_CONFIGURED=`date`
   AC_SUBST(DATE_WHEN_CONFIGURED)
   AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
 ])
--- a/make/autoconf/build-performance.m4	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/autoconf/build-performance.m4	Tue Oct 15 14:19:55 2019 +0530
@@ -35,7 +35,7 @@
     FOUND_CORES=yes
   elif test -x /usr/sbin/psrinfo; then
     # Looks like a Solaris system
-    NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
+    NUM_CORES=`/usr/sbin/psrinfo -v | grep -c on-line`
     FOUND_CORES=yes
   elif test -x /usr/sbin/sysctl; then
     # Looks like a MacOSX system
--- a/make/autoconf/configure	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/autoconf/configure	Tue Oct 15 14:19:55 2019 +0530
@@ -43,6 +43,9 @@
 export CONFIG_SHELL=$BASH
 export _as_can_reexec=no
 
+# Make sure all shell commands are executed with the C locale
+export LC_ALL=C
+
 if test "x$CUSTOM_CONFIG_DIR" != x; then
   custom_hook=$CUSTOM_CONFIG_DIR/custom-hook.m4
   if test ! -e $custom_hook; then
--- a/make/autoconf/spec.gmk.in	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/autoconf/spec.gmk.in	Tue Oct 15 14:19:55 2019 +0530
@@ -51,6 +51,9 @@
 # What make to use for main processing, after bootstrapping top-level Makefile.
 MAKE := @MAKE@
 
+# Make sure all shell commands are executed with the C locale
+export LC_ALL := C
+
 # The default make arguments
 MAKE_ARGS = $(MAKE_LOG_FLAGS) -r -R -I $(TOPDIR)/make/common SPEC=$(SPEC) \
     MAKE_LOG_FLAGS="$(MAKE_LOG_FLAGS)" $(MAKE_LOG_VARS)
--- a/make/autoconf/toolchain_windows.m4	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/autoconf/toolchain_windows.m4	Tue Oct 15 14:19:55 2019 +0530
@@ -209,6 +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="" 
 
   # 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.
@@ -227,8 +229,6 @@
     fi
   fi
 
-  VS_ENV_CMD=""
-
   if test "x$VS_COMNTOOLS" != x; then
     TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
         [$VS_COMNTOOLS/../..], [$VS_COMNTOOLS_VAR variable])
--- a/make/common/JavaCompilation.gmk	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/common/JavaCompilation.gmk	Tue Oct 15 14:19:55 2019 +0530
@@ -122,7 +122,7 @@
     $$($1_BIN)$$($1_MODULE_SUBDIR)$$($2_TARGET) : $2
 	$$(call LogInfo, Cleaning $$(patsubst $(OUTPUTDIR)/%,%, $$@))
 	$$(call MakeTargetDir)
-	export LC_ALL=C ; ( $(CAT) $$< && $(ECHO) "" ) \
+	( $(CAT) $$< && $(ECHO) "" ) \
 	    | $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' \
 	        -e 's/\([^\\]\)!/\1\\!/g' -e 's/^[ 	]*#.*/#/g' \
 	    | $(SED) -f "$(TOPDIR)/make/common/support/unicode2x.sed" \
--- a/make/conf/jib-profiles.js	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/conf/jib-profiles.js	Tue Oct 15 14:19:55 2019 +0530
@@ -944,11 +944,11 @@
 var getJibProfilesDependencies = function (input, common) {
 
     var devkit_platform_revisions = {
-        linux_x64: "gcc8.2.0-OL6.4+1.0",
+        linux_x64: "gcc8.3.0-OL6.4+1.0",
         macosx_x64: "Xcode10.1-MacOSX10.14+1.0",
         solaris_x64: "SS12u4-Solaris11u1+1.0",
         solaris_sparcv9: "SS12u6-Solaris11u3+1.0",
-        windows_x64: "VS2017-15.9.6+1.0",
+        windows_x64: "VS2017-15.9.16+1.0",
         linux_aarch64: "gcc8.2.0-Fedora27+1.0",
         linux_arm: "gcc8.2.0-Fedora27+1.0",
         linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
--- a/make/data/charsetmapping/SingleByte-X.java.template	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/data/charsetmapping/SingleByte-X.java.template	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -48,7 +48,7 @@
     }
 
     public CharsetDecoder newDecoder() {
-        return new SingleByte.Decoder(this, b2c, $ASCIICOMPATIBLE$);
+        return new SingleByte.Decoder(this, b2c, $ASCIICOMPATIBLE$, $LATIN1DECODABLE$);
     }
 
     public CharsetEncoder newEncoder() {
--- a/make/data/lsrdata/language-subtag-registry.txt	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/data/lsrdata/language-subtag-registry.txt	Tue Oct 15 14:19:55 2019 +0530
@@ -1,4 +1,4 @@
-File-Date: 2019-04-03
+File-Date: 2019-09-16
 %%
 Type: language
 Subtag: aa
@@ -2096,6 +2096,8 @@
 Subtag: ais
 Description: Nataoran Amis
 Added: 2009-07-29
+Deprecated: 2019-04-16
+Comments: see ami, szy
 %%
 Type: language
 Subtag: ait
@@ -2633,6 +2635,7 @@
 Type: language
 Subtag: ant
 Description: Antakarinya
+Description: Antikarinya
 Added: 2009-07-29
 %%
 Type: language
@@ -3094,6 +3097,8 @@
 Subtag: asd
 Description: Asas
 Added: 2009-07-29
+Deprecated: 2019-04-16
+Preferred-Value: snz
 %%
 Type: language
 Subtag: ase
@@ -4135,7 +4140,7 @@
 %%
 Type: language
 Subtag: bck
-Description: Bunaba
+Description: Bunuba
 Added: 2009-07-29
 %%
 Type: language
@@ -6930,7 +6935,7 @@
 %%
 Type: language
 Subtag: bym
-Description: Bidyara
+Description: Bidjara
 Added: 2009-07-29
 %%
 Type: language
@@ -7564,6 +7569,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: cey
+Description: Ekai Chin
+Added: 2019-04-16
+%%
+Type: language
 Subtag: cfa
 Description: Dijim-Bwilim
 Added: 2009-07-29
@@ -9439,6 +9449,7 @@
 Type: language
 Subtag: dif
 Description: Dieri
+Description: Diyari
 Added: 2009-07-29
 %%
 Type: language
@@ -9515,6 +9526,8 @@
 Subtag: dit
 Description: Dirari
 Added: 2009-07-29
+Deprecated: 2019-04-29
+Preferred-Value: dif
 %%
 Type: language
 Subtag: diu
@@ -9560,6 +9573,7 @@
 Type: language
 Subtag: djd
 Description: Djamindjung
+Description: Ngaliwurru
 Added: 2009-07-29
 %%
 Type: language
@@ -9603,6 +9617,7 @@
 %%
 Type: language
 Subtag: djn
+Description: Jawoyn
 Description: Djauan
 Added: 2009-07-29
 %%
@@ -10191,6 +10206,8 @@
 Subtag: dud
 Description: Hun-Saare
 Added: 2009-07-29
+Deprecated: 2019-04-16
+Comments: see uth, uss
 %%
 Type: language
 Subtag: due
@@ -10382,6 +10399,7 @@
 Type: language
 Subtag: dyn
 Description: Dyangadi
+Description: Dhanggatti
 Added: 2009-07-29
 %%
 Type: language
@@ -10396,6 +10414,7 @@
 %%
 Type: language
 Subtag: dyy
+Description: Djabugay
 Description: Dyaabugay
 Added: 2009-07-29
 %%
@@ -11672,7 +11691,7 @@
 %%
 Type: language
 Subtag: gbd
-Description: Karadjeri
+Description: Karajarri
 Added: 2009-07-29
 %%
 Type: language
@@ -12056,7 +12075,7 @@
 %%
 Type: language
 Subtag: gge
-Description: Guragone
+Description: Gurr-goni
 Added: 2009-07-29
 %%
 Type: language
@@ -12169,7 +12188,7 @@
 %%
 Type: language
 Subtag: gia
-Description: Kitja
+Description: Kija
 Added: 2009-07-29
 %%
 Type: language
@@ -12955,7 +12974,7 @@
 %%
 Type: language
 Subtag: gue
-Description: Gurinji
+Description: Gurindji
 Added: 2009-07-29
 %%
 Type: language
@@ -15292,6 +15311,7 @@
 Type: language
 Subtag: jay
 Description: Yan-nhangu
+Description: Nhangu
 Added: 2009-07-29
 %%
 Type: language
@@ -15488,6 +15508,7 @@
 %%
 Type: language
 Subtag: jig
+Description: Jingulu
 Description: Djingili
 Added: 2009-07-29
 %%
@@ -17222,6 +17243,7 @@
 Type: language
 Subtag: kkp
 Description: Gugubera
+Description: Koko-Bera
 Added: 2009-07-29
 %%
 Type: language
@@ -17266,6 +17288,7 @@
 %%
 Type: language
 Subtag: kky
+Description: Guugu Yimidhirr
 Description: Guguyimidjir
 Added: 2009-07-29
 %%
@@ -18320,6 +18343,7 @@
 Type: language
 Subtag: ktd
 Description: Kokata
+Description: Kukatha
 Added: 2009-07-29
 %%
 Type: language
@@ -19341,6 +19365,7 @@
 Subtag: lba
 Description: Lui
 Added: 2009-07-29
+Deprecated: 2019-04-16
 %%
 Type: language
 Subtag: lbb
@@ -19396,7 +19421,7 @@
 %%
 Type: language
 Subtag: lbn
-Description: Lamet
+Description: Rmeet
 Added: 2009-07-29
 %%
 Type: language
@@ -19446,6 +19471,7 @@
 %%
 Type: language
 Subtag: lby
+Description: Lamalama
 Description: Lamu-Lamu
 Added: 2009-07-29
 %%
@@ -20162,6 +20188,8 @@
 Subtag: llo
 Description: Khlor
 Added: 2009-07-29
+Deprecated: 2019-04-16
+Preferred-Value: ngt
 %%
 Type: language
 Subtag: llp
@@ -20654,6 +20682,11 @@
 Macrolanguage: luy
 %%
 Type: language
+Subtag: lsn
+Description: Tibetan Sign Language
+Added: 2019-04-16
+%%
+Type: language
 Subtag: lso
 Description: Laos Sign Language
 Added: 2009-07-29
@@ -20680,6 +20713,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: lsv
+Description: Sivia Sign Language
+Added: 2019-04-16
+%%
+Type: language
 Subtag: lsy
 Description: Mauritian Sign Language
 Added: 2010-03-11
@@ -20848,6 +20886,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: lvi
+Description: Lavi
+Added: 2019-04-16
+%%
+Type: language
 Subtag: lvk
 Description: Lavukaleve
 Added: 2009-07-29
@@ -21454,7 +21497,7 @@
 %%
 Type: language
 Subtag: mec
-Description: Mara
+Description: Marra
 Added: 2009-07-29
 %%
 Type: language
@@ -21523,7 +21566,7 @@
 %%
 Type: language
 Subtag: mep
-Description: Miriwung
+Description: Miriwoong
 Added: 2009-07-29
 %%
 Type: language
@@ -21660,7 +21703,7 @@
 %%
 Type: language
 Subtag: mfr
-Description: Marithiel
+Description: Marrithiyel
 Added: 2009-07-29
 %%
 Type: language
@@ -22853,12 +22896,13 @@
 %%
 Type: language
 Subtag: mpb
+Description: Malak Malak
 Description: Mullukmulluk
 Added: 2009-07-29
 %%
 Type: language
 Subtag: mpc
-Description: Mangarayi
+Description: Mangarrayi
 Added: 2009-07-29
 %%
 Type: language
@@ -22889,6 +22933,7 @@
 Type: language
 Subtag: mpj
 Description: Martu Wangka
+Description: Wangkajunga
 Added: 2009-07-29
 %%
 Type: language
@@ -24015,6 +24060,8 @@
 Subtag: myd
 Description: Maramba
 Added: 2009-07-29
+Deprecated: 2019-04-16
+Preferred-Value: aog
 %%
 Type: language
 Subtag: mye
@@ -24040,6 +24087,7 @@
 Subtag: myi
 Description: Mina (India)
 Added: 2009-07-29
+Deprecated: 2019-04-16
 %%
 Type: language
 Subtag: myj
@@ -24375,7 +24423,7 @@
 %%
 Type: language
 Subtag: nay
-Description: Narrinyeri
+Description: Ngarrindjeri
 Added: 2009-07-29
 %%
 Type: language
@@ -24432,7 +24480,7 @@
 %%
 Type: language
 Subtag: nbj
-Description: Ngarinman
+Description: Ngarinyman
 Added: 2009-07-29
 %%
 Type: language
@@ -24467,7 +24515,7 @@
 %%
 Type: language
 Subtag: nbr
-Description: Numana-Nunku-Gbantu-Numbu
+Description: Numana
 Added: 2009-07-29
 %%
 Type: language
@@ -24559,7 +24607,7 @@
 %%
 Type: language
 Subtag: nck
-Description: Nakara
+Description: Na-kara
 Added: 2009-07-29
 %%
 Type: language
@@ -24931,7 +24979,7 @@
 %%
 Type: language
 Subtag: ngh
-Description: Nǀu
+Description: Nǁng
 Added: 2009-07-29
 %%
 Type: language
@@ -25176,7 +25224,7 @@
 %%
 Type: language
 Subtag: nig
-Description: Ngalakan
+Description: Ngalakgan
 Added: 2009-07-29
 %%
 Type: language
@@ -25798,6 +25846,8 @@
 Subtag: nns
 Description: Ningye
 Added: 2009-07-29
+Deprecated: 2019-04-16
+Preferred-Value: nbr
 %%
 Type: language
 Subtag: nnt
@@ -26658,7 +26708,7 @@
 %%
 Type: language
 Subtag: nyh
-Description: Nyigina
+Description: Nyikina
 Added: 2009-07-29
 %%
 Type: language
@@ -26713,7 +26763,7 @@
 %%
 Type: language
 Subtag: nys
-Description: Nyunga
+Description: Nyungar
 Added: 2009-07-29
 %%
 Type: language
@@ -28707,6 +28757,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: pnd
+Description: Mpinda
+Added: 2019-04-16
+%%
+Type: language
 Subtag: pne
 Description: Western Penan
 Added: 2009-07-29
@@ -28794,6 +28849,7 @@
 %%
 Type: language
 Subtag: pnw
+Description: Banyjima
 Description: Panytyima
 Added: 2009-07-29
 %%
@@ -29251,7 +29307,8 @@
 %%
 Type: language
 Subtag: pti
-Description: Pintiini
+Description: Pindiini
+Description: Wangkatha
 Added: 2009-07-29
 %%
 Type: language
@@ -30133,6 +30190,7 @@
 %%
 Type: language
 Subtag: ril
+Description: Riang Lang
 Description: Riang (Myanmar)
 Added: 2009-07-29
 %%
@@ -30153,7 +30211,7 @@
 %%
 Type: language
 Subtag: rit
-Description: Ritarungo
+Description: Ritharrngu
 Added: 2009-07-29
 %%
 Type: language
@@ -30219,7 +30277,7 @@
 %%
 Type: language
 Subtag: rmb
-Description: Rembarunga
+Description: Rembarrnga
 Added: 2009-07-29
 %%
 Type: language
@@ -30641,6 +30699,7 @@
 Type: language
 Subtag: rxw
 Description: Karuwali
+Description: Garuwali
 Added: 2013-09-10
 %%
 Type: language
@@ -32206,7 +32265,7 @@
 %%
 Type: language
 Subtag: snz
-Description: Sinsauru
+Description: Kou
 Added: 2009-07-29
 %%
 Type: language
@@ -32883,6 +32942,7 @@
 Subtag: suj
 Description: Shubi
 Added: 2009-07-29
+Comments: see also xsj
 %%
 Type: language
 Subtag: suk
@@ -33312,6 +33372,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: szy
+Description: Sakizaya
+Added: 2019-04-16
+%%
+Type: language
 Subtag: taa
 Description: Lower Tanana
 Added: 2009-07-29
@@ -33465,6 +33530,7 @@
 %%
 Type: language
 Subtag: tbh
+Description: Dharawal
 Description: Thurawal
 Added: 2009-07-29
 %%
@@ -33644,6 +33710,7 @@
 Type: language
 Subtag: tcs
 Description: Torres Strait Creole
+Description: Yumplatok
 Added: 2009-07-29
 %%
 Type: language
@@ -34067,6 +34134,7 @@
 %%
 Type: language
 Subtag: thd
+Description: Kuuk Thaayorre
 Description: Thayore
 Added: 2009-07-29
 %%
@@ -34310,6 +34378,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: tjj
+Description: Tjungundji
+Added: 2019-04-16
+%%
+Type: language
 Subtag: tjl
 Description: Tai Laing
 Added: 2012-08-12
@@ -34330,6 +34403,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: tjp
+Description: Tjupany
+Added: 2019-04-16
+%%
+Type: language
 Subtag: tjs
 Description: Southern Tujia
 Added: 2009-07-29
@@ -35679,6 +35757,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: tvx
+Description: Taivoan
+Added: 2019-04-16
+%%
+Type: language
 Subtag: tvy
 Description: Timor Pidgin
 Added: 2009-07-29
@@ -36230,7 +36313,7 @@
 %%
 Type: language
 Subtag: ulk
-Description: Meriam
+Description: Meriam Mir
 Added: 2009-07-29
 %%
 Type: language
@@ -36280,6 +36363,7 @@
 %%
 Type: language
 Subtag: umg
+Description: Morrobalama
 Description: Umbuygamu
 Added: 2009-07-29
 %%
@@ -36550,6 +36634,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: uss
+Description: us-Saare
+Added: 2019-04-16
+%%
+Type: language
 Subtag: usu
 Description: Uya
 Added: 2009-07-29
@@ -36565,6 +36654,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: uth
+Description: ut-Hun
+Added: 2019-04-16
+%%
+Type: language
 Subtag: utp
 Description: Amba (Solomon Islands)
 Added: 2009-07-29
@@ -37178,7 +37272,7 @@
 %%
 Type: language
 Subtag: waq
-Description: Wageman
+Description: Wagiman
 Added: 2009-07-29
 %%
 Type: language
@@ -37301,7 +37395,7 @@
 %%
 Type: language
 Subtag: wbt
-Description: Wanman
+Description: Warnman
 Added: 2009-07-29
 %%
 Type: language
@@ -37448,6 +37542,7 @@
 %%
 Type: language
 Subtag: wgg
+Description: Wangkangurru
 Description: Wangganguru
 Added: 2009-07-29
 %%
@@ -37521,7 +37616,7 @@
 %%
 Type: language
 Subtag: wig
-Description: Wik-Ngathana
+Description: Wik Ngathan
 Added: 2009-07-29
 %%
 Type: language
@@ -37625,6 +37720,11 @@
 Added: 2009-07-29
 %%
 Type: language
+Subtag: wkr
+Description: Keerray-Woorroong
+Added: 2019-04-16
+%%
+Type: language
 Subtag: wku
 Description: Kunduvadi
 Added: 2009-07-29
@@ -37857,10 +37957,12 @@
 Type: language
 Subtag: wny
 Description: Wanyi
+Description: Waanyi
 Added: 2012-08-12
 %%
 Type: language
 Subtag: woa
+Description: Kuwema
 Description: Tyaraity
 Added: 2009-07-29
 %%
@@ -37951,6 +38053,7 @@
 %%
 Type: language
 Subtag: wrb
+Description: Waluwarra
 Description: Warluwara
 Added: 2009-07-29
 %%
@@ -37962,11 +38065,12 @@
 Type: language
 Subtag: wrg
 Description: Warungu
+Description: Gudjal
 Added: 2009-07-29
 %%
 Type: language
 Subtag: wrh
-Description: Wiradhuri
+Description: Wiradjuri
 Added: 2009-07-29
 %%
 Type: language
@@ -38439,6 +38543,7 @@
 %%
 Type: language
 Subtag: xby
+Description: Batjala
 Description: Batyala
 Added: 2013-09-10
 %%
@@ -38998,7 +39103,7 @@
 %%
 Type: language
 Subtag: xmh
-Description: Kuku-Muminh
+Description: Kugu-Muminh
 Added: 2009-07-29
 %%
 Type: language
@@ -39423,8 +39528,7 @@
 Subtag: xsj
 Description: Subi
 Added: 2009-07-29
-Deprecated: 2015-02-12
-Preferred-Value: suj
+Comments: see also suj
 %%
 Type: language
 Subtag: xsl
@@ -40258,6 +40362,7 @@
 %%
 Type: language
 Subtag: yin
+Description: Riang Lai
 Description: Yinchia
 Added: 2009-07-29
 %%
@@ -41562,12 +41667,13 @@
 %%
 Type: language
 Subtag: zml
-Description: Madngele
+Description: Matngala
 Added: 2009-07-29
 %%
 Type: language
 Subtag: zmm
 Description: Marimanindji
+Description: Marramaninyshi
 Added: 2009-07-29
 %%
 Type: language
@@ -43019,6 +43125,13 @@
 Prefix: sgn
 %%
 Type: extlang
+Subtag: lsn
+Description: Tibetan Sign Language
+Added: 2019-04-16
+Preferred-Value: lsn
+Prefix: sgn
+%%
+Type: extlang
 Subtag: lso
 Description: Laos Sign Language
 Added: 2009-07-29
@@ -43041,6 +43154,13 @@
 Prefix: sgn
 %%
 Type: extlang
+Subtag: lsv
+Description: Sivia Sign Language
+Added: 2019-04-16
+Preferred-Value: lsv
+Prefix: sgn
+%%
+Type: extlang
 Subtag: lsy
 Description: Mauritian Sign Language
 Added: 2010-03-11
@@ -43966,6 +44086,11 @@
 Added: 2005-10-16
 %%
 Type: script
+Subtag: Chrs
+Description: Chorasmian
+Added: 2019-09-11
+%%
+Type: script
 Subtag: Cirt
 Description: Cirth
 Added: 2005-10-16
@@ -44002,6 +44127,11 @@
 Added: 2005-10-16
 %%
 Type: script
+Subtag: Diak
+Description: Dives Akuru
+Added: 2019-09-11
+%%
+Type: script
 Subtag: Dogr
 Description: Dogra
 Added: 2017-01-13
@@ -44839,6 +44969,11 @@
 Added: 2005-10-16
 %%
 Type: script
+Subtag: Yezi
+Description: Yezidi
+Added: 2019-09-11
+%%
+Type: script
 Subtag: Yiii
 Description: Yi
 Added: 2005-10-16
@@ -45683,7 +45818,7 @@
 %%
 Type: region
 Subtag: MK
-Description: The Former Yugoslav Republic of Macedonia
+Description: North Macedonia
 Added: 2005-10-16
 %%
 Type: region
--- a/make/devkit/Tools.gmk	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/devkit/Tools.gmk	Tue Oct 15 14:19:55 2019 +0530
@@ -79,20 +79,19 @@
 # Define external dependencies
 
 # Latest that could be made to work.
-GCC_VER := 8.2.0
-ifeq ($(GCC_VER), 8.2.0)
-  gcc_ver := gcc-8.2.0
-  binutils_ver := binutils-2.30
-  ccache_ver := ccache-3.5.1a
-  CCACHE_DIRNAME := ccache-3.5.1
+GCC_VER := 8.3.0
+ifeq ($(GCC_VER), 8.3.0)
+  gcc_ver := gcc-8.3.0
+  binutils_ver := binutils-2.32
+  ccache_ver := 3.7.3
   mpfr_ver := mpfr-3.1.5
   gmp_ver := gmp-6.1.2
   mpc_ver := mpc-1.0.3
-  gdb_ver := gdb-8.2.1
+  gdb_ver := gdb-8.3
 else ifeq ($(GCC_VER), 7.3.0)
   gcc_ver := gcc-7.3.0
   binutils_ver := binutils-2.30
-  ccache_ver := ccache-3.3.6
+  ccache_ver := 3.3.6
   mpfr_ver := mpfr-3.1.5
   gmp_ver := gmp-6.1.2
   mpc_ver := mpc-1.0.3
@@ -100,7 +99,7 @@
 else ifeq ($(GCC_VER), 4.9.2)
   gcc_ver := gcc-4.9.2
   binutils_ver := binutils-2.25
-  ccache_ver := ccache-3.2.1
+  ccache_ver := 3.2.1
   mpfr_ver := mpfr-3.0.1
   gmp_ver := gmp-4.3.2
   mpc_ver := mpc-1.0.1
@@ -111,7 +110,7 @@
 
 GCC := http://ftp.gnu.org/pub/gnu/gcc/$(gcc_ver)/$(gcc_ver).tar.xz
 BINUTILS := http://ftp.gnu.org/pub/gnu/binutils/$(binutils_ver).tar.xz
-CCACHE := https://samba.org/ftp/ccache/$(ccache_ver).tar.xz
+CCACHE := https://github.com/ccache/ccache/releases/download/v$(ccache_ver)/ccache-$(ccache_ver).tar.xz
 MPFR := https://www.mpfr.org/${mpfr_ver}/${mpfr_ver}.tar.bz2
 GMP := http://ftp.gnu.org/pub/gnu/gmp/${gmp_ver}.tar.bz2
 MPC := http://ftp.gnu.org/pub/gnu/mpc/${mpc_ver}.tar.gz
--- a/make/devkit/createWindowsDevkit2017.sh	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/devkit/createWindowsDevkit2017.sh	Tue Oct 15 14:19:55 2019 +0530
@@ -32,10 +32,7 @@
 VS_VERSION_NUM_NODOT="150"
 VS_DLL_VERSION="140"
 SDK_VERSION="10"
-SDK_FULL_VERSION="10.0.16299.0"
 MSVC_DIR="Microsoft.VC141.CRT"
-MSVC_FULL_VERSION="14.12.25827"
-REDIST_FULL_VERSION="14.12.25810"
 
 SCRIPT_DIR="$(cd "$(dirname $0)" > /dev/null && pwd)"
 BUILD_DIR="${SCRIPT_DIR}/../../build/devkit"
--- a/make/jdk/src/classes/build/tools/charsetmapping/SBCS.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/jdk/src/classes/build/tools/charsetmapping/SBCS.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -46,6 +46,7 @@
         String hisName = cs.hisName;
         String pkgName = cs.pkgName;
         boolean isASCII = cs.isASCII;
+        boolean isLatin1Decodable = true;
 
         StringBuilder b2cSB = new StringBuilder();
         StringBuilder b2cNRSB = new StringBuilder();
@@ -69,6 +70,9 @@
                 c2bOff += 0x100;
                 c2bIndex[e.cp>>8] = 1;
             }
+            if (e.cp > 0xFF) {
+                isLatin1Decodable = false;
+            }
         }
 
         Formatter fm = new Formatter(b2cSB);
@@ -178,6 +182,9 @@
             if (line.indexOf("$ASCIICOMPATIBLE$") != -1) {
                 line = line.replace("$ASCIICOMPATIBLE$", isASCII ? "true" : "false");
             }
+            if (line.indexOf("$LATIN1DECODABLE$") != -1) {
+                line = line.replace("$LATIN1DECODABLE$", isLatin1Decodable ? "true" : "false");
+            }
             if (line.indexOf("$B2CTABLE$") != -1) {
                 line = line.replace("$B2CTABLE$", b2c);
             }
--- a/make/scripts/compare.sh	Sat Oct 12 08:49:59 2019 +0530
+++ b/make/scripts/compare.sh	Tue Oct 15 14:19:55 2019 +0530
@@ -34,6 +34,9 @@
     exit 1
 fi
 
+# Make sure all shell commands are executed with the C locale
+export LC_ALL=C
+
 if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
     FULLDUMP_CMD="$OTOOL -v -V -h -X -d"
     LDD_CMD="$OTOOL -L"
@@ -110,7 +113,7 @@
         "
   fi
 elif [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
-  DIS_DIFF_FILTER="LANG=C $SED \
+  DIS_DIFF_FILTER="$SED \
       -e 's/0x[0-9a-f]\{3,16\}/<HEXSTR>/g' -e 's/^[0-9a-f]\{12,20\}/<ADDR>/' \
       -e 's/-20[0-9][0-9]-[0-1][0-9]-[0-3][0-9]-[0-2][0-9]\{5\}/<DATE>/g' \
       -e 's/), built on .*/), <DATE>/' \
@@ -134,7 +137,7 @@
 
     if [[ "$THIS_FILE" = *"META-INF/MANIFEST.MF" ]]; then
         # Filter out date string, ant version and java version differences.
-        TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
+        TMP=$($DIFF $OTHER_FILE $THIS_FILE | \
             $GREP '^[<>]' | \
             $SED -e '/[<>] Ant-Version: Apache Ant .*/d' \
                  -e '/[<>] Created-By: .* (Oracle [Corpatin)]*/d' \
@@ -142,7 +145,7 @@
                  -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d')
     fi
     if test "x$SUFFIX" = "xjava"; then
-        TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
+        TMP=$($DIFF $OTHER_FILE $THIS_FILE | \
             $GREP '^[<>]' | \
             $SED -e '/[<>] \* from.*\.idl/d' \
                  -e '/[<>] .*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \
@@ -197,7 +200,7 @@
     fi
     if test "x$SUFFIX" = "xproperties"; then
         # Filter out date string differences.
-        TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
+        TMP=$($DIFF $OTHER_FILE $THIS_FILE | \
             $GREP '^[<>]' | \
             $SED -e '/[<>].*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d')
     fi
@@ -207,7 +210,7 @@
             -e 's/<font size=-1>/<font size=\"-1\">/g'"
         $CAT $THIS_FILE | eval "$HTML_FILTER" > $THIS_FILE.filtered
         $CAT $OTHER_FILE | eval "$HTML_FILTER" > $OTHER_FILE.filtered
-        TMP=$(LC_ALL=C $DIFF $OTHER_FILE.filtered $THIS_FILE.filtered | \
+        TMP=$($DIFF $OTHER_FILE.filtered $THIS_FILE.filtered | \
             $GREP '^[<>]' | \
             $SED -e '/[<>] <!-- Generated by javadoc .* on .* -->/d' \
                  -e '/[<>] <meta name="date" content=".*">/d' )
@@ -554,11 +557,11 @@
     CONTENTS_DIFF_FILE=$WORK_DIR/$ZIP_FILE.diff
     # On solaris, there is no -q option.
     if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
-        LC_ALL=C $DIFF -r $OTHER_UNZIPDIR $THIS_UNZIPDIR \
+        $DIFF -r $OTHER_UNZIPDIR $THIS_UNZIPDIR \
             | $GREP -v -e "^<" -e "^>" -e "^Common subdirectories:" \
             > $CONTENTS_DIFF_FILE
     else
-        LC_ALL=C $DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE
+        $DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE
     fi
 
     ONLY_OTHER=$($GREP "^Only in $OTHER_UNZIPDIR" $CONTENTS_DIFF_FILE)
@@ -605,11 +608,11 @@
             if [ -n "$SHOW_DIFFS" ]; then
                 for i in $(cat $WORK_DIR/$ZIP_FILE.difflist) ; do
                     if [ -f "${OTHER_UNZIPDIR}/$i.javap" ]; then
-                        LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i.javap ${THIS_UNZIPDIR}/$i.javap
+                        $DIFF ${OTHER_UNZIPDIR}/$i.javap ${THIS_UNZIPDIR}/$i.javap
                     elif [ -f "${OTHER_UNZIPDIR}/$i.cleaned" ]; then
-                        LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i.cleaned ${THIS_UNZIPDIR}/$i
+                        $DIFF ${OTHER_UNZIPDIR}/$i.cleaned ${THIS_UNZIPDIR}/$i
                     else
-                        LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i ${THIS_UNZIPDIR}/$i
+                        $DIFF ${OTHER_UNZIPDIR}/$i ${THIS_UNZIPDIR}/$i
                     fi
                 done
             fi
@@ -642,7 +645,7 @@
     $JMOD list $THIS_JMOD | sort > $THIS_JMOD_LIST
     $JMOD list $OTHER_JMOD | sort > $OTHER_JMOD_LIST
     JMOD_LIST_DIFF_FILE=$WORK_DIR/$JMOD_FILE.list.diff
-    LC_ALL=C $DIFF $THIS_JMOD_LIST $OTHER_JMOD_LIST > $JMOD_LIST_DIFF_FILE
+    $DIFF $THIS_JMOD_LIST $OTHER_JMOD_LIST > $JMOD_LIST_DIFF_FILE
 
     ONLY_THIS=$($GREP "^<" $JMOD_LIST_DIFF_FILE)
     ONLY_OTHER=$($GREP "^>" $JMOD_LIST_DIFF_FILE)
@@ -924,7 +927,7 @@
             > $WORK_FILE_BASE.symbols.this
     fi
 
-    LC_ALL=C $DIFF $WORK_FILE_BASE.symbols.other $WORK_FILE_BASE.symbols.this > $WORK_FILE_BASE.symbols.diff
+    $DIFF $WORK_FILE_BASE.symbols.other $WORK_FILE_BASE.symbols.this > $WORK_FILE_BASE.symbols.diff
     if [ -s $WORK_FILE_BASE.symbols.diff ]; then
         SYM_MSG=" diff  "
         if [[ "$ACCEPTED_SYM_DIFF" != *"$BIN_FILE"* ]]; then
@@ -964,9 +967,9 @@
                     | $UNIQ > $WORK_FILE_BASE.deps.this.uniq)
         (cd $FILE_WORK_DIR && $RM -f $NAME)
 
-        LC_ALL=C $DIFF $WORK_FILE_BASE.deps.other $WORK_FILE_BASE.deps.this \
+        $DIFF $WORK_FILE_BASE.deps.other $WORK_FILE_BASE.deps.this \
               > $WORK_FILE_BASE.deps.diff
-        LC_ALL=C $DIFF $WORK_FILE_BASE.deps.other.uniq $WORK_FILE_BASE.deps.this.uniq \
+        $DIFF $WORK_FILE_BASE.deps.other.uniq $WORK_FILE_BASE.deps.this.uniq \
               > $WORK_FILE_BASE.deps.diff.uniq
 
         if [ -s $WORK_FILE_BASE.deps.diff ]; then
@@ -1016,7 +1019,7 @@
             > $WORK_FILE_BASE.fulldump.this  2>&1 &
         wait
 
-        LC_ALL=C $DIFF $WORK_FILE_BASE.fulldump.other $WORK_FILE_BASE.fulldump.this \
+        $DIFF $WORK_FILE_BASE.fulldump.other $WORK_FILE_BASE.fulldump.this \
             > $WORK_FILE_BASE.fulldump.diff
 
         if [ -s $WORK_FILE_BASE.fulldump.diff ]; then
@@ -1063,7 +1066,7 @@
             | eval "$this_DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this  2>&1 &
         wait
 
-        LC_ALL=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
+        $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
 
         if [ -s $WORK_FILE_BASE.dis.diff ]; then
             DIS_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.dis.diff | awk '{print $5}')
--- a/src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -185,6 +185,10 @@
   NativeMovConstReg* method_holder
     = nativeMovConstReg_at(stub + NativeInstruction::instruction_size);
   method_holder->set_data(0);
+  if (!static_stub->is_aot()) {
+    NativeJump* jump = nativeJump_at(method_holder->next_instruction_address());
+    jump->set_jump_destination((address)-1);
+  }
 }
 
 //-----------------------------------------------------------------------------
--- a/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -332,9 +332,14 @@
 
   // We use jump to self as the unresolved address which the inline
   // cache code (and relocs) know about
+  // As a special case we also use sequence movptr(r,0); br(r);
+  // i.e. jump to 0 when we need leave space for a wide immediate
+  // load
 
-  // return -1 if jump to self
-  dest = (dest == (address) this) ? (address) -1 : dest;
+  // return -1 if jump to self or to 0
+  if ((dest == (address)this) || dest == 0) {
+    dest = (address) -1;
+  }
   return dest;
 }
 
@@ -356,9 +361,13 @@
 
   // We use jump to self as the unresolved address which the inline
   // cache code (and relocs) know about
+  // As a special case we also use jump to 0 when first generating
+  // a general jump
 
-  // return -1 if jump to self
-  dest = (dest == (address) this) ? (address) -1 : dest;
+  // return -1 if jump to self or to 0
+  if ((dest == (address)this) || dest == 0) {
+    dest = (address) -1;
+  }
   return dest;
 }
 
--- a/src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -34,6 +34,7 @@
 #include "logging/log.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/compiledICHolder.hpp"
+#include "oops/klass.inline.hpp"
 #include "runtime/safepointMechanism.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "runtime/vframeArray.hpp"
--- a/src/hotspot/cpu/arm/sharedRuntime_arm.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/arm/sharedRuntime_arm.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -32,6 +32,7 @@
 #include "logging/log.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/compiledICHolder.hpp"
+#include "oops/klass.inline.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "runtime/vframeArray.hpp"
 #include "utilities/align.hpp"
--- a/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -32,6 +32,7 @@
 #include "interpreter/interpreter.hpp"
 #include "memory/resourceArea.hpp"
 #include "nativeInst_ppc.hpp"
+#include "oops/klass.inline.hpp"
 #include "prims/methodHandles.hpp"
 #include "runtime/biasedLocking.hpp"
 #include "runtime/icache.hpp"
--- a/src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -34,6 +34,7 @@
 #include "interpreter/interp_masm.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/compiledICHolder.hpp"
+#include "oops/klass.inline.hpp"
 #include "runtime/safepointMechanism.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "runtime/vframeArray.hpp"
--- a/src/hotspot/cpu/ppc/templateTable_ppc_64.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/ppc/templateTable_ppc_64.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -32,6 +32,7 @@
 #include "interpreter/templateInterpreter.hpp"
 #include "interpreter/templateTable.hpp"
 #include "memory/universe.hpp"
+#include "oops/klass.inline.hpp"
 #include "oops/objArrayKlass.hpp"
 #include "oops/oop.inline.hpp"
 #include "prims/methodHandles.hpp"
--- a/src/hotspot/cpu/ppc/vtableStubs_ppc_64.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/ppc/vtableStubs_ppc_64.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -30,6 +30,7 @@
 #include "memory/resourceArea.hpp"
 #include "oops/compiledICHolder.hpp"
 #include "oops/instanceKlass.hpp"
+#include "oops/klass.inline.hpp"
 #include "oops/klassVtable.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "vmreg_ppc.inline.hpp"
--- a/src/hotspot/cpu/s390/sharedRuntime_s390.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/s390/sharedRuntime_s390.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -33,6 +33,7 @@
 #include "interpreter/interp_masm.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/compiledICHolder.hpp"
+#include "oops/klass.inline.hpp"
 #include "registerSaver_s390.hpp"
 #include "runtime/safepointMechanism.hpp"
 #include "runtime/sharedRuntime.hpp"
--- a/src/hotspot/cpu/s390/vtableStubs_s390.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/s390/vtableStubs_s390.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -30,6 +30,7 @@
 #include "memory/resourceArea.hpp"
 #include "oops/compiledICHolder.hpp"
 #include "oops/instanceKlass.hpp"
+#include "oops/klass.inline.hpp"
 #include "oops/klassVtable.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "vmreg_s390.inline.hpp"
--- a/src/hotspot/cpu/sparc/sharedRuntime_sparc.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/sparc/sharedRuntime_sparc.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -32,6 +32,7 @@
 #include "logging/log.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/compiledICHolder.hpp"
+#include "oops/klass.inline.hpp"
 #include "runtime/safepointMechanism.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "runtime/vframeArray.hpp"
--- a/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -34,6 +34,7 @@
 #include "logging/log.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/compiledICHolder.hpp"
+#include "oops/klass.inline.hpp"
 #include "runtime/safepointMechanism.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "runtime/vframeArray.hpp"
--- a/src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -41,6 +41,7 @@
 #include "memory/resourceArea.hpp"
 #include "memory/universe.hpp"
 #include "oops/compiledICHolder.hpp"
+#include "oops/klass.inline.hpp"
 #include "runtime/safepointMechanism.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "runtime/vframeArray.hpp"
--- a/src/hotspot/os/aix/os_aix.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/os/aix/os_aix.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -2643,8 +2643,24 @@
   60              // 11 CriticalPriority
 };
 
+static int prio_init() {
+  if (ThreadPriorityPolicy == 1) {
+    if (geteuid() != 0) {
+      if (!FLAG_IS_DEFAULT(ThreadPriorityPolicy)) {
+        warning("-XX:ThreadPriorityPolicy=1 may require system level permission, " \
+                "e.g., being the root user. If the necessary permission is not " \
+                "possessed, changes to priority will be silently ignored.");
+      }
+    }
+  }
+  if (UseCriticalJavaThreadPriority) {
+    os::java_to_os_priority[MaxPriority] = os::java_to_os_priority[CriticalPriority];
+  }
+  return 0;
+}
+
 OSReturn os::set_native_priority(Thread* thread, int newpri) {
-  if (!UseThreadPriorities) return OS_OK;
+  if (!UseThreadPriorities || ThreadPriorityPolicy == 0) return OS_OK;
   pthread_t thr = thread->osthread()->pthread_id();
   int policy = SCHED_OTHER;
   struct sched_param param;
@@ -2659,7 +2675,7 @@
 }
 
 OSReturn os::get_native_priority(const Thread* const thread, int *priority_ptr) {
-  if (!UseThreadPriorities) {
+  if (!UseThreadPriorities || ThreadPriorityPolicy == 0) {
     *priority_ptr = java_to_os_priority[NormPriority];
     return OS_OK;
   }
@@ -2756,7 +2772,7 @@
     os::SuspendResume::State state = osthread->sr.suspended();
     if (state == os::SuspendResume::SR_SUSPENDED) {
       sigset_t suspend_set;  // signals for sigsuspend()
-
+      sigemptyset(&suspend_set);
       // get current set of blocked signals and unblock resume signal
       pthread_sigmask(SIG_BLOCK, NULL, &suspend_set);
       sigdelset(&suspend_set, SR_signum);
@@ -3042,6 +3058,7 @@
 
     // try to honor the signal mask
     sigset_t oset;
+    sigemptyset(&oset);
     pthread_sigmask(SIG_SETMASK, &(actp->sa_mask), &oset);
 
     // call into the chained handler
@@ -3052,7 +3069,7 @@
     }
 
     // restore the signal mask
-    pthread_sigmask(SIG_SETMASK, &oset, 0);
+    pthread_sigmask(SIG_SETMASK, &oset, NULL);
   }
   // Tell jvm's signal handler the signal is taken care of.
   return true;
@@ -3568,6 +3585,9 @@
     }
   }
 
+  // initialize thread priority policy
+  prio_init();
+
   return JNI_OK;
 }
 
@@ -4009,7 +4029,7 @@
 void os::pause() {
   char filename[MAX_PATH];
   if (PauseAtStartupFile && PauseAtStartupFile[0]) {
-    jio_snprintf(filename, MAX_PATH, PauseAtStartupFile);
+    jio_snprintf(filename, MAX_PATH, "%s", PauseAtStartupFile);
   } else {
     jio_snprintf(filename, MAX_PATH, "./vm.paused.%d", current_process_id());
   }
--- a/src/hotspot/os/bsd/os_bsd.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/os/bsd/os_bsd.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -3671,7 +3671,7 @@
 void os::pause() {
   char filename[MAX_PATH];
   if (PauseAtStartupFile && PauseAtStartupFile[0]) {
-    jio_snprintf(filename, MAX_PATH, PauseAtStartupFile);
+    jio_snprintf(filename, MAX_PATH, "%s", PauseAtStartupFile);
   } else {
     jio_snprintf(filename, MAX_PATH, "./vm.paused.%d", current_process_id());
   }
--- a/src/hotspot/os/solaris/os_solaris.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/os/solaris/os_solaris.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -4428,7 +4428,7 @@
 void os::pause() {
   char filename[MAX_PATH];
   if (PauseAtStartupFile && PauseAtStartupFile[0]) {
-    jio_snprintf(filename, MAX_PATH, PauseAtStartupFile);
+    jio_snprintf(filename, MAX_PATH, "%s", PauseAtStartupFile);
   } else {
     jio_snprintf(filename, MAX_PATH, "./vm.paused.%d", current_process_id());
   }
--- a/src/hotspot/os/windows/os_windows.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/os/windows/os_windows.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -4975,7 +4975,7 @@
 void os::pause() {
   char filename[MAX_PATH];
   if (PauseAtStartupFile && PauseAtStartupFile[0]) {
-    jio_snprintf(filename, MAX_PATH, PauseAtStartupFile);
+    jio_snprintf(filename, MAX_PATH, "%s", PauseAtStartupFile);
   } else {
     jio_snprintf(filename, MAX_PATH, "./vm.paused.%d", current_process_id());
   }
--- a/src/hotspot/share/c1/c1_ValueStack.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/c1/c1_ValueStack.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -42,31 +42,21 @@
   verify();
 }
 
-
 ValueStack::ValueStack(ValueStack* copy_from, Kind kind, int bci)
   : _scope(copy_from->scope())
   , _caller_state(copy_from->caller_state())
   , _bci(bci)
   , _kind(kind)
-  , _locals()
-  , _stack()
+  , _locals(copy_from->locals_size_for_copy(kind))
+  , _stack(copy_from->stack_size_for_copy(kind))
   , _locks(copy_from->locks_size() == 0 ? NULL : new Values(copy_from->locks_size()))
 {
   assert(kind != EmptyExceptionState || !Compilation::current()->env()->should_retain_local_variables(), "need locals");
   if (kind != EmptyExceptionState) {
-    // only allocate space if we need to copy the locals-array
-    _locals = Values(copy_from->locals_size());
     _locals.appendAll(&copy_from->_locals);
   }
 
   if (kind != ExceptionState && kind != EmptyExceptionState) {
-    if (kind == Parsing) {
-      // stack will be modified, so reserve enough space to avoid resizing
-      _stack = Values(scope()->method()->max_stack());
-    } else {
-      // stack will not be modified, so do not waste space
-      _stack = Values(copy_from->stack_size());
-    }
     _stack.appendAll(&copy_from->_stack);
   }
 
@@ -77,6 +67,25 @@
   verify();
 }
 
+int ValueStack::locals_size_for_copy(Kind kind) const {
+  if (kind != EmptyExceptionState) {
+    return locals_size();
+  }
+  return 0;
+}
+
+int ValueStack::stack_size_for_copy(Kind kind) const {
+  if (kind != ExceptionState && kind != EmptyExceptionState) {
+    if (kind == Parsing) {
+      // stack will be modified, so reserve enough space to avoid resizing
+      return scope()->method()->max_stack();
+    } else {
+      // stack will not be modified, so do not waste space
+      return stack_size();
+    }
+  }
+  return 0;
+}
 
 bool ValueStack::is_same(ValueStack* s) {
   if (scope() != s->scope()) return false;
--- a/src/hotspot/share/c1/c1_ValueStack.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/c1/c1_ValueStack.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -65,6 +65,8 @@
   // for simplified copying
   ValueStack(ValueStack* copy_from, Kind kind, int bci);
 
+  int locals_size_for_copy(Kind kind) const;
+  int stack_size_for_copy(Kind kind) const;
  public:
   // creation
   ValueStack(IRScope* scope, ValueStack* caller_state);
--- a/src/hotspot/share/ci/ciMetadata.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/ci/ciMetadata.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -51,7 +51,6 @@
   virtual bool is_metadata() const          { return true; }
 
   virtual bool is_type() const              { return false; }
-  virtual bool is_cpcache() const           { return false; }
   virtual bool is_return_address() const    { return false; }
   virtual bool is_method() const            { return false; }
   virtual bool is_method_data() const       { return false; }
--- a/src/hotspot/share/classfile/javaClasses.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/classfile/javaClasses.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -384,13 +384,17 @@
   }
 
   jstring js = NULL;
-  { JavaThread* thread = (JavaThread*)THREAD;
-    assert(thread->is_Java_thread(), "must be java thread");
+  {
+    assert(THREAD->is_Java_thread(), "must be java thread");
+    JavaThread* thread = (JavaThread*)THREAD;
     HandleMark hm(thread);
     ThreadToNativeFromVM ttn(thread);
     js = (_to_java_string_fn)(thread->jni_environment(), str);
   }
-  return Handle(THREAD, JNIHandles::resolve(js));
+
+  Handle native_platform_string(THREAD, JNIHandles::resolve(js));
+  JNIHandles::destroy_local(js);  // destroy local JNIHandle.
+  return native_platform_string;
 }
 
 // Converts a Java String to a native C string that can be used for
--- a/src/hotspot/share/gc/g1/heapRegionRemSet.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/gc/g1/heapRegionRemSet.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -186,10 +186,6 @@
     _collision_list_next(NULL)
   {}
 
-  inline void add_card_work(CardIdx_t from_card, bool par);
-
-  inline void add_reference_work(OopOrNarrowOopStar from, bool par);
-
 public:
   // We need access in order to union things into the base table.
   BitMap* bm() { return &_bm; }
@@ -206,12 +202,8 @@
 
   inline void add_reference(OopOrNarrowOopStar from);
 
-  inline void seq_add_reference(OopOrNarrowOopStar from);
-
   inline void add_card(CardIdx_t from_card_index);
 
-  void seq_add_card(CardIdx_t from_card_index);
-
   // (Destructively) union the bitmap of the current table into the given
   // bitmap (which is assumed to be of the same size.)
   void union_bitmap_into(BitMap* bm) {
@@ -381,12 +373,6 @@
     _state = Complete;
   }
 
-  // Used in the sequential case.
-  void add_reference(OopOrNarrowOopStar from) {
-    add_reference(from, 0);
-  }
-
-  // Used in the parallel case.
   void add_reference(OopOrNarrowOopStar from, uint tid) {
     RemSetState state = _state;
     if (state == Untracked) {
--- a/src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -35,20 +35,13 @@
   _other_regions.iterate(cl);
 }
 
-inline void PerRegionTable::add_card_work(CardIdx_t from_card, bool par) {
-  if (!_bm.at(from_card)) {
-    if (par) {
-      if (_bm.par_set_bit(from_card)) {
-        Atomic::inc(&_occupied);
-      }
-    } else {
-      _bm.set_bit(from_card);
-      _occupied++;
-    }
+inline void PerRegionTable::add_card(CardIdx_t from_card_index) {
+  if (_bm.par_set_bit(from_card_index)) {
+    Atomic::inc(&_occupied);
   }
 }
 
-inline void PerRegionTable::add_reference_work(OopOrNarrowOopStar from, bool par) {
+inline void PerRegionTable::add_reference(OopOrNarrowOopStar from) {
   // Must make this robust in case "from" is not in "_hr", because of
   // concurrency.
 
@@ -58,26 +51,10 @@
   // and adding a bit to the new table is never incorrect.
   if (loc_hr->is_in_reserved(from)) {
     CardIdx_t from_card = OtherRegionsTable::card_within_region(from, loc_hr);
-    add_card_work(from_card, par);
+    add_card(from_card);
   }
 }
 
-inline void PerRegionTable::add_card(CardIdx_t from_card_index) {
-  add_card_work(from_card_index, /*parallel*/ true);
-}
-
-inline void PerRegionTable::seq_add_card(CardIdx_t from_card_index) {
-  add_card_work(from_card_index, /*parallel*/ false);
-}
-
-inline void PerRegionTable::add_reference(OopOrNarrowOopStar from) {
-  add_reference_work(from, /*parallel*/ true);
-}
-
-inline void PerRegionTable::seq_add_reference(OopOrNarrowOopStar from) {
-  add_reference_work(from, /*parallel*/ false);
-}
-
 inline void PerRegionTable::init(HeapRegion* hr, bool clear_links_to_all_list) {
   if (clear_links_to_all_list) {
     set_next(NULL);
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -964,7 +964,6 @@
     ShenandoahHeapRegion* r;
     while ((r =_cs->claim_next()) != NULL) {
       assert(r->has_live(), "Region " SIZE_FORMAT " should have been reclaimed early", r->region_number());
-      assert(r->is_conc_move_allowed(), "Region " SIZE_FORMAT " should be movable", r->region_number());
       _sh->marked_object_iterate(r, &cl);
 
       if (ShenandoahPacing) {
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -198,8 +198,7 @@
 
   // Macro-properties:
   bool is_alloc_allowed()          const { return is_empty() || is_regular() || _state == _pinned; }
-  bool is_conc_move_allowed()      const { return is_regular() || _state == _cset; }
-  bool is_stw_move_allowed()       const { return is_conc_move_allowed() || (ShenandoahHumongousMoves && _state == _humongous_start); }
+  bool is_stw_move_allowed()       const { return is_regular() || _state == _cset || (ShenandoahHumongousMoves && _state == _humongous_start); }
 
   RegionState state()              const { return _state; }
   int  state_ordinal()             const { return region_state_to_ordinal(_state); }
--- a/src/hotspot/share/gc/z/zLock.inline.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/gc/z/zLock.inline.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -80,12 +80,16 @@
 template <typename T>
 inline ZLocker<T>::ZLocker(T* lock) :
     _lock(lock) {
-  _lock->lock();
+  if (_lock != NULL) {
+    _lock->lock();
+  }
 }
 
 template <typename T>
 inline ZLocker<T>::~ZLocker() {
-  _lock->unlock();
+  if (_lock != NULL) {
+    _lock->unlock();
+  }
 }
 
 #endif // SHARE_GC_Z_ZLOCK_INLINE_HPP
--- a/src/hotspot/share/gc/z/zNMethodTable.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/gc/z/zNMethodTable.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -51,7 +51,7 @@
 size_t ZNMethodTable::_nregistered = 0;
 size_t ZNMethodTable::_nunregistered = 0;
 ZNMethodTableIteration ZNMethodTable::_iteration;
-ZSafeDelete<ZNMethodTableEntry[]> ZNMethodTable::_safe_delete;
+ZSafeDeleteNoLock<ZNMethodTableEntry[]> ZNMethodTable::_safe_delete;
 
 size_t ZNMethodTable::first_index(const nmethod* nm, size_t size) {
   assert(is_power_of_2(size), "Invalid size");
--- a/src/hotspot/share/gc/z/zNMethodTable.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/gc/z/zNMethodTable.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -35,12 +35,12 @@
 
 class ZNMethodTable : public AllStatic {
 private:
-  static ZNMethodTableEntry*               _table;
-  static size_t                            _size;
-  static size_t                            _nregistered;
-  static size_t                            _nunregistered;
-  static ZNMethodTableIteration            _iteration;
-  static ZSafeDelete<ZNMethodTableEntry[]> _safe_delete;
+  static ZNMethodTableEntry*                     _table;
+  static size_t                                  _size;
+  static size_t                                  _nregistered;
+  static size_t                                  _nunregistered;
+  static ZNMethodTableIteration                  _iteration;
+  static ZSafeDeleteNoLock<ZNMethodTableEntry[]> _safe_delete;
 
   static ZNMethodTableEntry* create(size_t size);
   static void destroy(ZNMethodTableEntry* table);
--- a/src/hotspot/share/gc/z/zSafeDelete.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/gc/z/zSafeDelete.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -29,11 +29,11 @@
 #include "metaprogramming/removeExtent.hpp"
 
 template <typename T>
-class ZSafeDelete {
+class ZSafeDeleteImpl {
 private:
   typedef typename RemoveExtent<T>::type ItemT;
 
-  ZLock          _lock;
+  ZLock*         _lock;
   uint64_t       _enabled;
   ZArray<ItemT*> _deferred;
 
@@ -41,7 +41,7 @@
   void immediate_delete(ItemT* item);
 
 public:
-  ZSafeDelete();
+  ZSafeDeleteImpl(ZLock* lock);
 
   void enable_deferred_delete();
   void disable_deferred_delete();
@@ -49,4 +49,19 @@
   void operator()(ItemT* item);
 };
 
+template <typename T>
+class ZSafeDelete : public ZSafeDeleteImpl<T> {
+private:
+  ZLock _lock;
+
+public:
+  ZSafeDelete();
+};
+
+template <typename T>
+class ZSafeDeleteNoLock : public ZSafeDeleteImpl<T> {
+public:
+  ZSafeDeleteNoLock();
+};
+
 #endif // SHARE_GC_Z_ZSAFEDELETE_HPP
--- a/src/hotspot/share/gc/z/zSafeDelete.inline.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/gc/z/zSafeDelete.inline.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -30,14 +30,14 @@
 #include "utilities/debug.hpp"
 
 template <typename T>
-ZSafeDelete<T>::ZSafeDelete() :
-    _lock(),
+ZSafeDeleteImpl<T>::ZSafeDeleteImpl(ZLock* lock) :
+    _lock(lock),
     _enabled(0),
     _deferred() {}
 
 template <typename T>
-bool ZSafeDelete<T>::deferred_delete(ItemT* item) {
-  ZLocker<ZLock> locker(&_lock);
+bool ZSafeDeleteImpl<T>::deferred_delete(ItemT* item) {
+  ZLocker<ZLock> locker(_lock);
   if (_enabled > 0) {
     _deferred.add(item);
     return true;
@@ -47,7 +47,7 @@
 }
 
 template <typename T>
-void ZSafeDelete<T>::immediate_delete(ItemT* item) {
+void ZSafeDeleteImpl<T>::immediate_delete(ItemT* item) {
   if (IsArray<T>::value) {
     delete [] item;
   } else {
@@ -56,17 +56,17 @@
 }
 
 template <typename T>
-void ZSafeDelete<T>::enable_deferred_delete() {
-  ZLocker<ZLock> locker(&_lock);
+void ZSafeDeleteImpl<T>::enable_deferred_delete() {
+  ZLocker<ZLock> locker(_lock);
   _enabled++;
 }
 
 template <typename T>
-void ZSafeDelete<T>::disable_deferred_delete() {
+void ZSafeDeleteImpl<T>::disable_deferred_delete() {
   ZArray<ItemT*> deferred;
 
   {
-    ZLocker<ZLock> locker(&_lock);
+    ZLocker<ZLock> locker(_lock);
     assert(_enabled > 0, "Invalid state");
     if (--_enabled == 0) {
       deferred.transfer(&_deferred);
@@ -80,10 +80,19 @@
 }
 
 template <typename T>
-void ZSafeDelete<T>::operator()(ItemT* item) {
+void ZSafeDeleteImpl<T>::operator()(ItemT* item) {
   if (!deferred_delete(item)) {
     immediate_delete(item);
   }
 }
 
+template <typename T>
+ZSafeDelete<T>::ZSafeDelete() :
+    ZSafeDeleteImpl<T>(&_lock),
+    _lock() {}
+
+template <typename T>
+ZSafeDeleteNoLock<T>::ZSafeDeleteNoLock() :
+    ZSafeDeleteImpl<T>(NULL) {}
+
 #endif // SHARE_GC_Z_ZSAFEDELETE_INLINE_HPP
--- a/src/hotspot/share/gc/z/z_globals.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/gc/z/z_globals.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -86,9 +86,6 @@
           "Verify marking stacks")                                          \
                                                                             \
   diagnostic(bool, ZVerifyForwarding, false,                                \
-          "Verify forwarding tables")                                       \
-                                                                            \
-  develop(bool, ZVerifyLoadBarriers, false,                                 \
-          "Verify that reference loads are followed by barriers")
+          "Verify forwarding tables")
 
 #endif // SHARE_GC_Z_Z_GLOBALS_HPP
--- a/src/hotspot/share/jvmci/jvmciCodeInstaller.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/jvmci/jvmciCodeInstaller.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -642,11 +642,9 @@
                                         failed_speculations, speculations, speculations_len);
     cb = nm->as_codeblob_or_null();
     if (nm != NULL && compile_state == NULL) {
+      // This compile didn't come through the CompileBroker so perform the printing here
       DirectiveSet* directive = DirectivesStack::getMatchingDirective(method, compiler);
-      bool printnmethods = directive->PrintAssemblyOption || directive->PrintNMethodsOption;
-      if (!printnmethods && (PrintDebugInfo || PrintRelocations || PrintDependencies || PrintExceptionHandlers)) {
-        nm->print_nmethod(printnmethods);
-      }
+      nm->maybe_print_nmethod(directive);
       DirectivesStack::release(directive);
     }
   }
--- a/src/hotspot/share/oops/klassVtable.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/oops/klassVtable.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -1501,7 +1501,6 @@
 #endif
 
 void vtableEntry::verify(klassVtable* vt, outputStream* st) {
-  NOT_PRODUCT(FlagSetting fs(IgnoreLockingAssertions, true));
   Klass* vtklass = vt->klass();
   if (vtklass->is_instance_klass() &&
      (InstanceKlass::cast(vtklass)->major_version() >= klassVtable::VTABLE_TRANSITIVE_OVERRIDE_VERSION)) {
--- a/src/hotspot/share/opto/library_call.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/opto/library_call.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -32,6 +32,7 @@
 #include "gc/shared/barrierSet.hpp"
 #include "jfr/support/jfrIntrinsics.hpp"
 #include "memory/resourceArea.hpp"
+#include "oops/klass.inline.hpp"
 #include "oops/objArrayKlass.hpp"
 #include "opto/addnode.hpp"
 #include "opto/arraycopynode.hpp"
--- a/src/hotspot/share/opto/loopTransform.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/opto/loopTransform.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -3129,6 +3129,13 @@
     // We also need to replace the original limit to collapse loop exit.
     Node* cmp = cl->loopexit()->cmp_node();
     assert(cl->limit() == cmp->in(2), "sanity");
+    // Duplicate cmp node if it has other users
+    if (cmp->outcnt() > 1) {
+      cmp = cmp->clone();
+      cmp = phase->_igvn.register_new_node_with_optimizer(cmp);
+      BoolNode *bol = cl->loopexit()->in(CountedLoopEndNode::TestValue)->as_Bool();
+      phase->_igvn.replace_input_of(bol, 1, cmp); // put bol on worklist
+    }
     phase->_igvn._worklist.push(cmp->in(2)); // put limit on worklist
     phase->_igvn.replace_input_of(cmp, 2, exact_limit); // put cmp on worklist
   }
--- a/src/hotspot/share/prims/jniCheck.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/prims/jniCheck.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -534,10 +534,10 @@
   if (obj != NULL) {
     oop recv = jniCheck::validate_object(thr, obj);
     assert(recv != NULL, "validate_object checks that");
-    Klass* ik = recv->klass();
+    Klass* rk = recv->klass();
 
     // Check that the object is a subtype of method holder too.
-    if (!InstanceKlass::cast(ik)->is_subtype_of(holder)) {
+    if (!rk->is_subtype_of(holder)) {
       ReportJNIFatalError(thr, fatal_wrong_class_or_method);
     }
   }
--- a/src/hotspot/share/runtime/globals.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/runtime/globals.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -1197,9 +1197,6 @@
   develop(bool, TraceCreateZombies, false,                                  \
           "trace creation of zombie nmethods")                              \
                                                                             \
-  notproduct(bool, IgnoreLockingAssertions, false,                          \
-          "disable locking assertions (for speed)")                         \
-                                                                            \
   product(bool, RangeCheckElimination, true,                                \
           "Eliminate range checks")                                         \
                                                                             \
--- a/src/hotspot/share/runtime/mutexLocker.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/runtime/mutexLocker.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -161,7 +161,6 @@
 #ifdef ASSERT
 void assert_locked_or_safepoint(const Mutex* lock) {
   // check if this thread owns the lock (common case)
-  if (IgnoreLockingAssertions) return;
   assert(lock != NULL, "Need non-NULL lock");
   if (lock->owned_by_self()) return;
   if (SafepointSynchronize::is_at_safepoint()) return;
@@ -174,7 +173,6 @@
 
 // a weaker assertion than the above
 void assert_locked_or_safepoint_weak(const Mutex* lock) {
-  if (IgnoreLockingAssertions) return;
   assert(lock != NULL, "Need non-NULL lock");
   if (lock->is_locked()) return;
   if (SafepointSynchronize::is_at_safepoint()) return;
@@ -184,7 +182,6 @@
 
 // a stronger assertion than the above
 void assert_lock_strong(const Mutex* lock) {
-  if (IgnoreLockingAssertions) return;
   assert(lock != NULL, "Need non-NULL lock");
   if (lock->owned_by_self()) return;
   fatal("must own lock %s", lock->name());
--- a/src/hotspot/share/runtime/threadSMR.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/runtime/threadSMR.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -528,6 +528,22 @@
     return;
   }
 
+  if ( _thread == VM_Exit::shutdown_thread()) {
+    // The shutdown thread has removed itself from the Threads
+    // list and is safe to have a waiver from this check because
+    // VM_Exit::_shutdown_thread is not set until after the VMThread
+    // has started the final safepoint which holds the Threads_lock
+    // for the remainder of the VM's life.
+    return;
+  }
+
+  if (VMError::is_error_reported() &&
+      VMError::get_first_error_tid() == os::current_thread_id()) {
+    // If there is an error reported by this thread it may use ThreadsList even
+    // if it's unsafe.
+    return;
+  }
+
   // The closure will attempt to verify that the calling thread can
   // be found by threads_do() on the specified ThreadsList. If it
   // is successful, then the specified ThreadsList was acquired as
@@ -540,12 +556,6 @@
   // ThreadsList is not a stable hazard ptr and can be freed by
   // another thread from the to-be-deleted list at any time.
   //
-  // Note: The shutdown thread has removed itself from the Threads
-  // list and is safe to have a waiver from this check because
-  // VM_Exit::_shutdown_thread is not set until after the VMThread
-  // has started the final safepoint which holds the Threads_lock
-  // for the remainder of the VM's life.
-  //
   VerifyHazardPtrThreadClosure cl(_thread);
   ThreadsSMRSupport::threads_do(&cl, _list);
 
@@ -555,7 +565,7 @@
   // In either case, we won't get past this point with a badly placed
   // ThreadsListHandle.
 
-  assert(cl.found() || _thread == VM_Exit::shutdown_thread(), "Acquired a ThreadsList snapshot from a thread not recognized by the Thread-SMR protocol.");
+  assert(cl.found(), "Acquired a ThreadsList snapshot from a thread not recognized by the Thread-SMR protocol.");
 #endif
 }
 
--- a/src/hotspot/share/utilities/decoder.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/utilities/decoder.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -84,7 +84,7 @@
 }
 
 bool Decoder::decode(address addr, char* buf, int buflen, int* offset, const char* modulepath, bool demangle) {
-  bool error_handling_thread = os::current_thread_id() == VMError::first_error_tid;
+  bool error_handling_thread = os::current_thread_id() == VMError::get_first_error_tid();
   if (error_handling_thread) {
     return get_error_handler_instance()->decode(addr, buf, buflen, offset, modulepath, demangle);
   } else {
@@ -95,7 +95,7 @@
 }
 
 bool Decoder::decode(address addr, char* buf, int buflen, int* offset, const void* base) {
-  bool error_handling_thread = os::current_thread_id() == VMError::first_error_tid;
+  bool error_handling_thread = os::current_thread_id() == VMError::get_first_error_tid();
   if (error_handling_thread) {
     return get_error_handler_instance()->decode(addr, buf, buflen, offset, base);
   } else {
@@ -106,7 +106,7 @@
 
 
 bool Decoder::demangle(const char* symbol, char* buf, int buflen) {
-  bool error_handling_thread = os::current_thread_id() == VMError::first_error_tid;
+  bool error_handling_thread = os::current_thread_id() == VMError::get_first_error_tid();
   if (error_handling_thread) {
     return get_error_handler_instance()->demangle(symbol, buf, buflen);
   } else {
--- a/src/hotspot/share/utilities/vmError.cpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/utilities/vmError.cpp	Tue Oct 15 14:19:55 2019 +0530
@@ -1205,7 +1205,7 @@
   st->print_cr("END.");
 }
 
-volatile intptr_t VMError::first_error_tid = -1;
+volatile intptr_t VMError::_first_error_tid = -1;
 
 /** Expand a pattern into a buffer starting at pos and open a file using constructed path */
 static int expand_and_open(const char* pattern, bool overwrite_existing, char* buf, size_t buflen, size_t pos) {
@@ -1355,8 +1355,8 @@
       os::abort(CreateCoredumpOnCrash);
   }
   intptr_t mytid = os::current_thread_id();
-  if (first_error_tid == -1 &&
-      Atomic::cmpxchg(mytid, &first_error_tid, (intptr_t)-1) == -1) {
+  if (_first_error_tid == -1 &&
+      Atomic::cmpxchg(mytid, &_first_error_tid, (intptr_t)-1) == -1) {
 
     // Initialize time stamps to use the same base.
     out.time_stamp().update_to(1);
@@ -1416,7 +1416,7 @@
 
     // This is not the first error, see if it happened in a different thread
     // or in the same thread during error reporting.
-    if (first_error_tid != mytid) {
+    if (_first_error_tid != mytid) {
       char msgbuf[64];
       jio_snprintf(msgbuf, sizeof(msgbuf),
                    "[thread " INTX_FORMAT " also had an error]",
--- a/src/hotspot/share/utilities/vmError.hpp	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/hotspot/share/utilities/vmError.hpp	Tue Oct 15 14:19:55 2019 +0530
@@ -32,8 +32,6 @@
 class VM_ReportJavaOutOfMemory;
 
 class VMError : public AllStatic {
-  friend class VM_ReportJavaOutOfMemory;
-  friend class Decoder;
   friend class VMStructs;
 
   static int         _id;               // Solaris/Linux signals: 0 - SIGRTMAX
@@ -65,7 +63,7 @@
 
   // Thread id of the first error. We must be able to handle native thread,
   // so use thread id instead of Thread* to identify thread.
-  static volatile intptr_t first_error_tid;
+  static volatile intptr_t _first_error_tid;
 
   // Core dump status, false if we have been unable to write a core/minidump for some reason
   static bool coredump_status;
@@ -177,9 +175,9 @@
   static address get_resetted_sighandler(int sig);
 
   // check to see if fatal error reporting is in progress
-  static bool fatal_error_in_progress() { return first_error_tid != -1; }
+  static bool fatal_error_in_progress() { return _first_error_tid != -1; }
 
-  static intptr_t get_first_error_tid() { return first_error_tid; }
+  static intptr_t get_first_error_tid() { return _first_error_tid; }
 
   // Called by the WatcherThread to check if error reporting has timed-out.
   //  Returns true if error reporting has not completed within the ErrorLogTimeout limit.
--- a/src/java.base/share/classes/java/lang/ClassLoader.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/java.base/share/classes/java/lang/ClassLoader.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, Azul Systems, 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
@@ -2004,6 +2005,17 @@
         return scl;
     }
 
+    /*
+     * Initialize default paths for native libraries search.
+     * Must be done early as JDK may load libraries during bootstrap.
+     *
+     * @see java.lang.System#initPhase1
+     */
+    static void initLibraryPaths() {
+        usr_paths = initializePath("java.library.path");
+        sys_paths = initializePath("sun.boot.library.path");
+    }
+
     // Returns true if the specified class loader can be found in this class
     // loader's delegation chain.
     boolean isAncestor(ClassLoader cl) {
@@ -2473,8 +2485,7 @@
                  *
                  * We use a static stack to hold the list of libraries we are
                  * loading because this can happen only when called by the
-                 * same thread because Runtime.load and Runtime.loadLibrary
-                 * are synchronous.
+                 * same thread because this block is synchronous.
                  *
                  * If there is a pending load operation for the library, we
                  * immediately return success; otherwise, we raise
@@ -2619,10 +2630,9 @@
                             boolean isAbsolute) {
         ClassLoader loader =
             (fromClass == null) ? null : fromClass.getClassLoader();
-        if (sys_paths == null) {
-            usr_paths = initializePath("java.library.path");
-            sys_paths = initializePath("sun.boot.library.path");
-        }
+        assert sys_paths != null : "should be initialized at this point";
+        assert usr_paths != null : "should be initialized at this point";
+
         if (isAbsolute) {
             if (loadLibrary0(fromClass, new File(name))) {
                 return;
--- a/src/java.base/share/classes/java/lang/Runtime.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/java.base/share/classes/java/lang/Runtime.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, Azul Systems, 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
@@ -732,7 +733,7 @@
         load0(Reflection.getCallerClass(), filename);
     }
 
-    synchronized void load0(Class<?> fromClass, String filename) {
+    void load0(Class<?> fromClass, String filename) {
         SecurityManager security = System.getSecurityManager();
         if (security != null) {
             security.checkLink(filename);
@@ -794,14 +795,14 @@
         loadLibrary0(Reflection.getCallerClass(), libname);
     }
 
-    synchronized void loadLibrary0(Class<?> fromClass, String libname) {
+    void loadLibrary0(Class<?> fromClass, String libname) {
         SecurityManager security = System.getSecurityManager();
         if (security != null) {
             security.checkLink(libname);
         }
         if (libname.indexOf((int)File.separatorChar) != -1) {
             throw new UnsatisfiedLinkError(
-    "Directory separator should not appear in library name: " + libname);
+                "Directory separator should not appear in library name: " + libname);
         }
         ClassLoader.loadLibrary(fromClass, libname, false);
     }
--- a/src/java.base/share/classes/java/lang/StringCoding.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/java.base/share/classes/java/lang/StringCoding.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -191,6 +191,12 @@
                     return result.with(StringLatin1.inflate(ba, off, len), UTF16);
                 }
             }
+            // fastpath for always Latin1 decodable single byte
+            if (COMPACT_STRINGS && cd instanceof ArrayDecoder && ((ArrayDecoder)cd).isLatin1Decodable()) {
+                byte[] dst = new byte[len];
+                ((ArrayDecoder)cd).decodeToLatin1(ba, off, len, dst);
+                return result.with(dst, LATIN1);
+            }
             int en = scale(len, cd.maxCharsPerByte());
             char[] ca = new char[en];
             if (cd instanceof ArrayDecoder) {
@@ -278,6 +284,13 @@
             ((ArrayDecoder)cd).isASCIICompatible() && !hasNegatives(ba, off, len)) {
             return decodeLatin1(ba, off, len);
         }
+        // fastpath for always Latin1 decodable single byte
+        if (COMPACT_STRINGS && cd instanceof ArrayDecoder && ((ArrayDecoder)cd).isLatin1Decodable()) {
+            byte[] dst = new byte[len];
+            ((ArrayDecoder)cd).decodeToLatin1(ba, off, len, dst);
+            return new Result().with(dst, LATIN1);
+        }
+
         int en = scale(len, cd.maxCharsPerByte());
         if (len == 0) {
             return new Result().with();
--- a/src/java.base/share/classes/java/lang/System.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/java.base/share/classes/java/lang/System.java	Tue Oct 15 14:19:55 2019 +0530
@@ -2045,6 +2045,8 @@
         // register shared secrets
         setJavaLangAccess();
 
+        ClassLoader.initLibraryPaths();
+
         // Subsystems that are invoked during initialization can invoke
         // VM.isBooted() in order to avoid doing things that should
         // wait until the VM is fully initialized. The initialization level
--- a/src/java.base/share/classes/sun/nio/cs/ArrayDecoder.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/java.base/share/classes/sun/nio/cs/ArrayDecoder.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
@@ -28,6 +28,9 @@
 /*
  * FastPath byte[]->char[] decoder, REPLACE on malformed or
  * unmappable input.
+ *
+ * FastPath encoded byte[]-> "String Latin1 coding" byte[] decoder for use when
+ * charset is always decodable to the internal String Latin1 coding byte[], ie. all mappings <=0xff
  */
 
 public interface ArrayDecoder {
@@ -36,4 +39,14 @@
     default boolean isASCIICompatible() {
         return false;
     }
+
+    // Is always decodable to internal String Latin1 coding, ie. all mappings <= 0xff
+    default boolean isLatin1Decodable() {
+        return false;
+    }
+
+    // Decode to internal String Latin1 coding byte[] fastpath for when isLatin1Decodable == true
+    default int decodeToLatin1(byte[] src, int sp, int len, byte[] dst) {
+        return 0;
+    }
 }
--- a/src/java.base/share/classes/sun/nio/cs/SingleByte.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/java.base/share/classes/sun/nio/cs/SingleByte.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -50,17 +50,27 @@
                                       implements ArrayDecoder {
         private final char[] b2c;
         private final boolean isASCIICompatible;
+        private final boolean isLatin1Decodable;
 
         public Decoder(Charset cs, char[] b2c) {
             super(cs, 1.0f, 1.0f);
             this.b2c = b2c;
             this.isASCIICompatible = false;
+            this.isLatin1Decodable = false;
         }
 
         public Decoder(Charset cs, char[] b2c, boolean isASCIICompatible) {
             super(cs, 1.0f, 1.0f);
             this.b2c = b2c;
             this.isASCIICompatible = isASCIICompatible;
+            this.isLatin1Decodable = false;
+        }
+
+        public Decoder(Charset cs, char[] b2c, boolean isASCIICompatible, boolean isLatin1Decodable) {
+            super(cs, 1.0f, 1.0f);
+            this.b2c = b2c;
+            this.isASCIICompatible = isASCIICompatible;
+            this.isLatin1Decodable = isLatin1Decodable;
         }
 
         private CoderResult decodeArrayLoop(ByteBuffer src, CharBuffer dst) {
@@ -125,6 +135,18 @@
         }
 
         @Override
+        public int decodeToLatin1(byte[] src, int sp, int len, byte[] dst) {
+            if (len > dst.length)
+                len = dst.length;
+
+            int dp = 0;
+            while (dp < len) {
+                dst[dp++] = (byte)decode(src[sp++]);
+            }
+            return dp;
+        }
+
+        @Override
         public int decode(byte[] src, int sp, int len, char[] dst) {
             if (len > dst.length)
                 len = dst.length;
@@ -143,6 +165,11 @@
         public boolean isASCIICompatible() {
             return isASCIICompatible;
         }
+
+        @Override
+        public boolean isLatin1Decodable() {
+            return isLatin1Decodable;
+        }
     }
 
     public static final class Encoder extends CharsetEncoder
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/NMethod.java	Tue Oct 15 14:19:55 2019 +0530
@@ -306,12 +306,17 @@
   /** This is only for use by the debugging system, and is only
       intended for use in the topmost frame, where we are not
       guaranteed to be at a PC for which we have a PCDesc. It finds
-      the PCDesc with realPC closest to the current PC. */
+      the PCDesc with realPC closest to the current PC that has
+      a valid scope decode offset. */
   public PCDesc getPCDescNearDbg(Address pc) {
     PCDesc bestGuessPCDesc = null;
     long bestDistance = 0;
     for (Address p = scopesPCsBegin(); p.lessThan(scopesPCsEnd()); p = p.addOffsetTo(pcDescSize)) {
       PCDesc pcDesc = new PCDesc(p);
+      if (pcDesc.getScopeDecodeOffset() == DebugInformationRecorder.SERIALIZED_NULL) {
+        // We've observed a serialized null decode offset. Ignore this PcDesc.
+        continue;
+      }
       // In case pc is null
       long distance = -pcDesc.getRealPC(this).minus(pc);
       if ((bestGuessPCDesc == null) ||
--- a/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c	Sat Oct 12 08:49:59 2019 +0530
+++ b/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c	Tue Oct 15 14:19:55 2019 +0530
@@ -40,7 +40,6 @@
 #include "sys.h"
 
 /* How the options get to OnLoad: */
-#define XDEBUG "-Xdebug"
 #define XRUN "-Xrunjdwp"
 #define AGENTLIB "-agentlib:jdwp"
 
@@ -898,7 +897,7 @@
  "--------\n"
  "  - The older " XRUN " interface can still be used, but will be removed in\n"
  "    a future release, for example:\n"
- "        java " XDEBUG " " XRUN ":[help]|[<option>=<value>, ...]\n"
+ "        java " XRUN ":[help]|[<option>=<value>, ...]\n"
     ));
 
 #ifdef DEBUG
--- a/test/hotspot/jtreg/TEST.groups	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/TEST.groups	Tue Oct 15 14:19:55 2019 +0530
@@ -384,26 +384,26 @@
 
 hotspot_tier2_runtime = \
   runtime/ \
-  serviceability/ \
  -runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java \
  -runtime/CompressedOops/UseCompressedOops.java \
  -runtime/InvocationTests \
  -runtime/Thread/TestThreadDumpMonitorContention.java \
  -:tier1_runtime \
- -:tier1_serviceability \
  -:hotspot_tier2_runtime_platform_agnostic \
  -runtime/signal \
  -runtime/NMT/MallocStressTest.java
 
+hotspot_tier2_serviceability = \
+  serviceability/ \
+ -:tier1_serviceability
+
 hotspot_tier2_runtime_platform_agnostic = \
   runtime/SelectionResolution \
  -:tier1_runtime
 
 hotspot_tier3_runtime = \
   runtime/ \
-  serviceability/ \
  -:tier1_runtime \
- -:tier1_serviceability \
  -:hotspot_tier2_runtime_platform_agnostic \
  -:hotspot_tier2_runtime
 
--- a/test/hotspot/jtreg/TEST.quick-groups	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/TEST.quick-groups	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2018, 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
@@ -1652,18 +1652,18 @@
   vmTestbase/jit/escape/LockElision/MatMul/MatMul.java \
   vmTestbase/jit/escape/LockCoarsening/LockCoarsening002/TestDescription.java \
   vmTestbase/jit/exception/exception.java \
-  vmTestbase/jit/graph/cgt0/cgt0.java \
-  vmTestbase/jit/graph/cgt1/cgt1.java \
-  vmTestbase/jit/graph/cgt2/cgt2.java \
-  vmTestbase/jit/graph/cgt3/cgt3.java \
-  vmTestbase/jit/graph/cgt4/cgt4.java \
-  vmTestbase/jit/graph/cgt5/cgt5.java \
-  vmTestbase/jit/graph/cgt6/cgt6.java \
-  vmTestbase/jit/graph/cgt7/cgt7.java \
-  vmTestbase/jit/graph/cgt8/cgt8.java \
-  vmTestbase/jit/graph/cgt9/cgt9.java \
-  vmTestbase/jit/graph/cgt10/cgt10.java \
-  vmTestbase/jit/graph/cgt11/cgt11.java \
+  vmTestbase/jit/graph/cgt0.java \
+  vmTestbase/jit/graph/cgt1.java \
+  vmTestbase/jit/graph/cgt2.java \
+  vmTestbase/jit/graph/cgt3.java \
+  vmTestbase/jit/graph/cgt4.java \
+  vmTestbase/jit/graph/cgt5.java \
+  vmTestbase/jit/graph/cgt6.java \
+  vmTestbase/jit/graph/cgt7.java \
+  vmTestbase/jit/graph/cgt8.java \
+  vmTestbase/jit/graph/cgt9.java \
+  vmTestbase/jit/graph/cgt10.java \
+  vmTestbase/jit/graph/cgt11.java \
   vmTestbase/jit/init/init01/init01.java \
   vmTestbase/jit/init/init02/init02.java \
   vmTestbase/jit/inline/inline003/inline003.java \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/loopopts/TestRemoveEmptyLoop.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2019, Huawei Technologies Co. Ltd. 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.
+ *
+ * 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.
+ */
+
+/**
+ * @test
+ * @bug 8231988
+ * @summary Unexpected test result caused by C2 IdealLoopTree::do_remove_empty_loop
+ *
+ * @run main/othervm -XX:-TieredCompilation -XX:-BackgroundCompilation
+ *      compiler.loopopts.TestRemoveEmptyLoop
+ */
+
+package compiler.loopopts;
+
+public class TestRemoveEmptyLoop {
+
+    public void test() {
+        int i = 34;
+        for (; i > 0; i -= 11);
+        if (i < 0) {
+            // do nothing
+        } else {
+            throw new RuntimeException("Test failed.");
+        }
+    }
+
+    public static void main(String[] args) {
+        TestRemoveEmptyLoop _instance = new TestRemoveEmptyLoop();
+        for (int i = 0; i < 50000; i++) {
+            _instance.test();
+        }
+        System.out.println("Test passed.");
+    }
+
+}
--- a/test/hotspot/jtreg/containers/docker/EventGeneratorLoop.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/containers/docker/EventGeneratorLoop.java	Tue Oct 15 14:19:55 2019 +0530
@@ -45,7 +45,7 @@
         }
         int howLong = Integer.parseInt(args[0]);
 
-        System.out.println(MAIN_METHOD_STARTED);
+        System.out.println(MAIN_METHOD_STARTED + ", argument is " + howLong);
 
         for (int i=0; i < howLong; i++) {
             SimpleEvent ev = new SimpleEvent();
@@ -56,6 +56,8 @@
             try { Thread.sleep(1000); } catch (InterruptedException e) {}
             System.out.print(".");
         }
+
+        System.out.println("EventGeneratorLoop is coming to an end");
     }
 
 }
--- a/test/hotspot/jtreg/containers/docker/TestJcmdWithSideCar.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/containers/docker/TestJcmdWithSideCar.java	Tue Oct 15 14:19:55 2019 +0530
@@ -56,7 +56,7 @@
 public class TestJcmdWithSideCar {
     private static final String IMAGE_NAME = Common.imageName("jfr-jcmd");
     private static final int TIME_TO_RUN_MAIN_PROCESS = (int) (30 * Utils.TIMEOUT_FACTOR); // seconds
-    private static final long TIME_TO_WAIT_FOR_MAIN_METHOD_START = 5 * 1000; // milliseconds
+    private static final long TIME_TO_WAIT_FOR_MAIN_METHOD_START = 50 * 1000; // milliseconds
     private static final String MAIN_CONTAINER_NAME = "test-container-main";
 
     public static void main(String[] args) throws Exception {
@@ -198,6 +198,8 @@
                 .addDockerOpts("--volume", Paths.get(".").toAbsolutePath() + ":/workdir/")
                 .addJavaOpts("-XX:+UsePerfData")
                 .addClassOptions("" + TIME_TO_RUN_MAIN_PROCESS);
+            // avoid large Xmx
+            opts.appendTestJavaOptions = false;
 
             List<String> cmd = DockerTestUtils.buildJavaCommand(opts);
             ProcessBuilder pb = new ProcessBuilder(cmd);
@@ -232,9 +234,21 @@
         }
 
         public void waitForAndCheck(long timeout) throws Exception {
-            waitFor(timeout);
-            if (p.exitValue() != 0) {
-                throw new RuntimeException("DockerThread stopped unexpectedly");
+            int exitValue = -1;
+            int retryCount = 3;
+
+            do {
+                waitFor(timeout);
+                try {
+                    exitValue = p.exitValue();
+                } catch(IllegalThreadStateException ex) {
+                    System.out.println("IllegalThreadStateException occured when calling exitValue()");
+                    retryCount--;
+                }
+            } while (exitValue == -1 && retryCount > 0);
+
+            if (exitValue != 0) {
+                throw new RuntimeException("DockerThread stopped unexpectedly, non-zero exit value is " + exitValue);
             }
         }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/serviceability/sa/ClhsdbJstackXcompStress.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2019, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+import jdk.test.lib.JDKToolLauncher;
+import jdk.test.lib.Utils;
+import jdk.test.lib.apps.LingeredApp;
+import jdk.test.lib.process.OutputAnalyzer;
+
+/**
+ * @test
+ * @bug 8196969
+ * @requires vm.hasSAandCanAttach
+ * @library /test/lib
+ * @run main/othervm ClhsdbJstackXcompStress
+ */
+public class ClhsdbJstackXcompStress {
+
+    private static final int MAX_ITERATIONS = 20;
+    private static final boolean DEBUG = false;
+
+    private static boolean isMatchCompiledFrame(List<String> output) {
+        List<String> filtered = output.stream().filter( s -> s.contains("Compiled frame"))
+                                               .collect(Collectors.toList());
+        System.out.println("DEBUG: " + filtered);
+        return !filtered.isEmpty() &&
+               filtered.stream().anyMatch( s -> s.contains("LingeredAppWithRecComputation") );
+    }
+
+    private static void runJstackInLoop(LingeredApp app) throws Exception {
+        boolean anyMatchedCompiledFrame = false;
+        for (int i = 0; i < MAX_ITERATIONS; i++) {
+            JDKToolLauncher launcher = JDKToolLauncher
+                    .createUsingTestJDK("jhsdb");
+            launcher.addToolArg("jstack");
+            launcher.addToolArg("--pid");
+            launcher.addToolArg(Long.toString(app.getPid()));
+
+            ProcessBuilder pb = new ProcessBuilder();
+            pb.command(launcher.getCommand());
+            Process jhsdb = pb.start();
+            OutputAnalyzer out = new OutputAnalyzer(jhsdb);
+
+            jhsdb.waitFor();
+
+            if (DEBUG) {
+                System.out.println(out.getStdout());
+                System.err.println(out.getStderr());
+            }
+
+            out.stderrShouldBeEmpty(); // NPE's are reported on the err stream
+            out.stdoutShouldNotContain("Error occurred during stack walking:");
+            out.stdoutShouldContain(LingeredAppWithRecComputation.THREAD_NAME);
+            List<String> stdoutList = Arrays.asList(out.getStdout().split("\\R"));
+            anyMatchedCompiledFrame = anyMatchedCompiledFrame || isMatchCompiledFrame(stdoutList);
+        }
+        if (!anyMatchedCompiledFrame) {
+             throw new RuntimeException("Expected jstack output to contain 'Compiled frame'");
+        }
+        System.out.println("DEBUG: jhsdb jstack did not throw NPE, as expected.");
+    }
+
+    public static void main(String... args) throws Exception {
+        LingeredApp app = null;
+        try {
+            List<String> vmArgs = List.of("-Xcomp",
+                                          "-XX:CompileCommand=dontinline,LingeredAppWithRecComputation.factorial",
+                                          "-XX:CompileCommand=compileonly,LingeredAppWithRecComputation.testLoop",
+                                          "-XX:CompileCommand=compileonly,LingeredAppWithRecComputation.factorial");
+            app = new LingeredAppWithRecComputation();
+            LingeredApp.startApp(vmArgs, app);
+            System.out.println("Started LingeredAppWithRecComputation with pid " + app.getPid());
+            runJstackInLoop(app);
+            System.out.println("Test Completed");
+        } catch (Throwable e) {
+            e.printStackTrace();
+            throw e;
+        } finally {
+            LingeredApp.stopApp(app);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/serviceability/sa/LingeredAppWithRecComputation.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2019, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * 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.
+ */
+
+import jdk.test.lib.apps.LingeredApp;
+
+public class LingeredAppWithRecComputation extends LingeredApp {
+
+    public static final String THREAD_NAME = "LingeredAppWithRecComputation.factorial()";
+
+    private long factorial(int n) {
+        if (n <= 1) {
+                return 1;
+        }
+        if (n == 2) {
+                return 2;
+        }
+        return n * factorial(n - 1);
+    }
+
+    public void testLoop() {
+        long result = 0;
+        long[] lastNResults = new long[20];
+        int i = 0;
+        int j = 0;
+        while (true) {
+            result = factorial(i);
+            lastNResults[j] = result;
+            if (i % 12 == 0) {
+                    i = -1; // reset i
+            }
+            if (j % 19 == 0) {
+                    j = -1; // reset j
+            }
+            i++; j++;
+        }
+    }
+
+    public static void main(String args[]) {
+        LingeredAppWithRecComputation app = new LingeredAppWithRecComputation();
+        Thread factorial = new Thread(() -> {
+            app.testLoop();
+        });
+        factorial.setName(THREAD_NAME);
+        factorial.start();
+        LingeredApp.main(args);
+    }
+ }
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/CGT.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/CGT.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -22,245 +22,219 @@
  */
 
 package jit.graph;
-import java.util.*;
+
+import jdk.test.lib.Utils;
+import jtreg.SkippedException;
 import nsk.share.TestFailure;
 import nsk.share.test.StressOptions;
 
-class CGT extends Thread
-{
-  private static StressOptions stressOptions = new StressOptions();
-  private final static String           version = "1.0";
-  private       static String       ClistPath = "";
+import java.lang.reflect.InvocationTargetException;
+import java.util.Vector;
 
-  private static long finishTime;
+public class CGT {
+    private static StressOptions stressOptions = new StressOptions();
+    private static String ClistPath = "";
+    private static long finishTime;
+
+    private final Vector summation = new Vector(100000);
+    private final Vector idList = new Vector(100000);
 
-  public CGT( String[] args )
-  {
-    parse (args);
-    Globals.initialize(ClistPath);
-    outputStats (args);
-  }
+    public CGT(String[] args) {
+        parse(args);
+        Globals.initialize(ClistPath);
+        outputStats(args);
+    }
 
-
-  public static void main( String[] args )
-  {
-    stressOptions.parseCommandLine(args);
-    CGT jnimt = new CGT(args);
-    jnimt.start();
-  }
+    public static void main(String[] args) {
+        stressOptions.parseCommandLine(args);
+        new CGT(args).run();
+    }
 
-  public void outputStats( String[] args )
-  {
-    System.out.println("CGT command line options:");
-    for (int i=0; i < args.length; ++i )
-            System.out.println("# " + args[i] );
-
-    System.out.println();
+    public void outputStats(String[] args) {
+        System.out.println("CGT command line options:");
+        for (String arg : args) {
+            System.out.println("# " + arg);
+        }
 
-    System.out.println("CGT parameters");
-    System.out.println("Seed: " +Globals.RANDOM_SEED);
-    System.out.println("Number of Threads: " +Globals.NUM_THREADS);
-    System.out.println("Number of Random Loop iterations: " + Globals.RANDOM_LOOP);
-    System.out.println("Number of Static Loop iterations: " + Globals.STATIC_LOOP);
-    System.out.println("Max number of Methods in the Graph: " +  Globals.NUM_TEST_CLASSES);
-    System.out.println("Verbose function calls: " + Globals.VERBOSE);
+        System.out.println();
 
-    System.out.println();
-  }
-
-  public void run()
-  {
-    finishTime = System.currentTimeMillis() + stressOptions.getTime() * 1000;
+        System.out.println("CGT parameters");
+        System.out.println("Seed: " + Utils.SEED);
+        System.out.println("Number of Random Loop iterations: " + Globals.RANDOM_LOOP);
+        System.out.println("Number of Static Loop iterations: " + Globals.STATIC_LOOP);
+        System.out.println("Max number of Methods in the Graph: " + Globals.NUM_TEST_CLASSES);
+        System.out.println("Verbose function calls: " + Globals.VERBOSE);
 
-    for (int i = 0; i< Globals.NUM_THREADS; i++)
-      new CGTThread("CGT Thread " + i).start();
-  }
+        System.out.println();
+    }
 
-  public static boolean shouldFinish()
-  {
-     return System.currentTimeMillis() >= finishTime;
-  }
+    public void run() {
+        finishTime = System.currentTimeMillis() + stressOptions.getTime() * 1000;
+        Long numFcalls = Globals.RANDOM_LOOP - 1;
+        Integer staticFcalls = Globals.STATIC_LOOP;
+        MethodData methodCallStr = Globals.nextRandomMethod();
+        Globals.addFunctionIDToVector(methodCallStr.id, idList);
+        Throwable invocationExcept;
 
-  public void parse (String args[])
-  {
-    for (int i = 0; i<args.length; i++)
-      {
-        if ((args[i].equalsIgnoreCase("-help")) || (args[i].equalsIgnoreCase("-h")) || (args[i].equalsIgnoreCase("-?")))
-          {
-            usage ();
-          }
-        else if (args[i].equalsIgnoreCase("-version"))
-          {
-            version();
-          }
-        else if (args[i].equalsIgnoreCase("-seed"))
-          {
-            int argIndex = i+1;
-            if (argIndex < args.length)
-              {
-                try
-                  {
-                    Globals.RANDOM_SEED = Math.abs(Long.parseLong(args[argIndex]));
-                  }
-                catch (NumberFormatException e)
-                  {
-                    System.out.println("Improper Argument: " + args[i] + " " + args[argIndex]);
-                    usage ();
-                  }
-                i++;
-              }
-            else
-              {
-                System.out.println("Improper Argument: " + args[i]);
-                usage ();
-              }
+        try {
+            methodCallStr.nextMethod.invoke(methodCallStr.instance, summation, idList, numFcalls, staticFcalls);
+        } catch (IllegalAccessException e) {
+            throw new TestFailure("Illegal Access Exception", e);
+        } catch (InvocationTargetException e) {
+            System.out.println("Invocation Target Exception");
+            invocationExcept = e.getTargetException();
+            System.out.println(invocationExcept);
+            if (invocationExcept.getClass() == e.getClass()) {
+                System.out.println("Processing Exception Invocation Target Exception");
+                while (invocationExcept.getClass() == e.getClass()) {
+                    invocationExcept = ((InvocationTargetException) invocationExcept).getTargetException();
+                }
+                System.out.println(invocationExcept);
+            }
+            if (invocationExcept instanceof StackOverflowError) {
+                throw new SkippedException("stack overflow: skipping verification.", invocationExcept);
+            } else if (invocationExcept instanceof OutOfMemoryError) {
+                throw new SkippedException("test devoured heap ;), skipping verification.", invocationExcept);
+            } else {
+                throw new TestFailure(invocationExcept);
+            }
+        }
+
+        verify();
+    }
 
-          }
-        else if ((args[i].equalsIgnoreCase("-thread")) || (args[i].equalsIgnoreCase("-threads")))
-          {
-            int argIndex = i+1;
-            if (argIndex < args.length)
-              {
-                try
-                  {
-                    Globals.NUM_THREADS = Math.abs(Integer.parseInt(args[argIndex])) * stressOptions.getThreadsFactor();
-                  }
-                catch (NumberFormatException e)
-                  {
-                    System.out.println("Improper Argument: " + args[i] + " " + args[argIndex]);
-                    usage ();
-                  }
-                if(Globals.NUM_THREADS == 0)
-                  Globals.NUM_THREADS = 1;
-                i++;
-              }
-            else
-              {
-                System.out.println("Improper Argument: " + args[i]);
-                usage ();
-              }
+    private void verify() {
+        long oldsum = 0;
+        long newsum;
+        System.out.println("begin call stack validation");
+        if (summation.size() != idList.size()) {
+            throw new TestFailure("Vector Length's Do Not Match, VERIFY ERROR : Summation Element Count = " + summation.size() + " ID Element Count = " + idList.size());
+        }
+        long vectorSize = summation.size();
+
+        while (!summation.isEmpty()) {
+            if (CGT.shouldFinish()) {
+                throw new SkippedException("skipping verification due to timeout");
+            }
+
+            newsum = (Long) summation.firstElement();
+            summation.removeElementAt(0);
+
+            int functionID = (Integer) idList.firstElement();
+            idList.removeElementAt(0);
+
+            if ((newsum - oldsum) != (functionID)) {
+                throw new TestFailure("Function Call structure invalid, VERIFY ERROR. Expected = " + (newsum - oldsum) + " Actual = " + functionID);
+            }
+            oldsum = newsum;
+        }
+
+        System.out.println("function call structure validated successfully (" + vectorSize + " calls validated)");
+    }
 
-          }
-        else if (args[i].equalsIgnoreCase("-staticLoop"))
-          {
-            int argIndex = i+1;
-            if (argIndex < args.length)
-              {
-                try
-                  {
-                    Globals.STATIC_LOOP = Math.abs(Integer.parseInt(args[argIndex])) * stressOptions.getIterationsFactor();
-                  }
-                catch (NumberFormatException e)
-                  {
-                    System.out.println("Improper Argument: " + args[i] + " " + args[argIndex]);
-                    usage ();
-                  }
-                i++;
-              }
-            else
-              {
-                System.out.println("Improper Argument: " + args[i]);
-                usage ();
-              }
+    public static boolean shouldFinish() {
+        return System.currentTimeMillis() >= finishTime;
+    }
 
-          }
-        else if (args[i].equalsIgnoreCase("-randomLoop"))
-          {
-            int argIndex = i+1;
-            if (argIndex < args.length)
-              {
-                try
-                  {
-                    Globals.RANDOM_LOOP = Math.abs(Long.parseLong(args[argIndex])) * stressOptions.getIterationsFactor();
-                  }
-                catch (NumberFormatException e)
-                  {
-                    System.out.println("Improper Argument: " + args[i] + " " + args[argIndex]);
-                    usage ();
-                  }
-                i++;
-              }
-            else
-              {
-                System.out.println("Improper Argument: " + args[i]);
-                usage ();
-              }
+    public void parse(String args[]) {
+        for (int i = 0; i < args.length; i++) {
+            String arg = args[i].toLowerCase();
+            switch (arg) {
+                case "-help":
+                case "-h":
+                case "-?": {
+                    usage();
+                    System.exit(1);
+                    break;
+                }
+                case "-staticloop": {
+                    int argIndex = i + 1;
+                    if (argIndex < args.length) {
+                        try {
+                            Globals.STATIC_LOOP = Math.abs(Integer.parseInt(args[argIndex])) * stressOptions.getIterationsFactor();
+                        } catch (NumberFormatException e) {
+                            usage();
+                            throw new Error("TESTBUG: Improper Argument: " + args[i] + " " + args[argIndex], e);
+                        }
+                        i++;
+                    } else {
+                        usage();
+                        throw new Error("TESTBUG: Improper Argument: " + args[i]);
+                    }
+                    break;
+                }
+                case "-randomloop": {
+                    int argIndex = i + 1;
+                    if (argIndex < args.length) {
+                        try {
+                            Globals.RANDOM_LOOP = Math.abs(Long.parseLong(args[argIndex])) * stressOptions.getIterationsFactor();
+                        } catch (NumberFormatException e) {
+                            usage();
+                            throw new Error("TESTBUG: Improper Argument: " + args[i] + " " + args[argIndex], e);
+                        }
+                        i++;
+                    } else {
+                        usage();
+                        throw new Error("TESTBUG: Improper Argument: " + args[i]);
 
-          }
-        else if (args[i].equalsIgnoreCase("-numTestClass"))
-          {
-            int argIndex = i+1;
-            if (argIndex < args.length)
-              {
-                try
-                  {
-                    Globals.NUM_TEST_CLASSES = Math.abs(Integer.parseInt(args[argIndex]));
-                  }
-                catch (NumberFormatException e)
-                  {
-                    System.out.println("Improper Argument: " + args[i] + " " + args[argIndex]);
-                    usage ();
-                  }
-                i++;
-              }
-            else
-              {
-                System.out.println("Improper Argument: " + args[i]);
-                usage ();
-              }
+                    }
+                    break;
+                }
+                case "-numtestclass": {
+                    int argIndex = i + 1;
+                    if (argIndex < args.length) {
+                        try {
+                            Globals.NUM_TEST_CLASSES = Math.abs(Integer.parseInt(args[argIndex]));
+                        } catch (NumberFormatException e) {
+                            usage();
+                            throw new Error("TESTBUG: Improper Argument: " + args[i] + " " + args[argIndex], e);
+                        }
+                        i++;
+                    } else {
+                        usage();
+                        throw new Error("TESTBUG: Improper Argument: " + args[i]);
+                    }
+                    break;
+                }
+                case "-verbose":
+                case "-v": {
+                    Globals.VERBOSE = true;
+                    break;
+                }
+                case "-path": {
+                    int argIndex = i + 1;
+                    if (argIndex < args.length) {
+                        ClistPath = args[argIndex];
+                        i++;
+                    } else {
+                        usage();
+                        throw new Error("TESTBUG: Improper Argument: " + args[i]);
+                    }
+                    break;
+                }
+                default: {
+                    if (!arg.startsWith("-stress")) {
+                        usage();
+                        throw new Error("TESTBUG: Invalid Argument: " + args[i]);
+                    }
+                }
+            }
+        }
 
-          }
-        else if (args[i].equalsIgnoreCase("-v") || args[i].equalsIgnoreCase("-verbose"))
-          {
-            Globals.VERBOSE = true;
-          }
-        else if (args[i].equalsIgnoreCase("-path"))
-          {
-            int argIndex = i+1;
-            if (argIndex < args.length)
-              {
-                ClistPath = args[argIndex];
-                i++;
-              }
-            else
-              {
-                System.out.println("Improper Argument: " + args[i]);
-                usage ();
-              }
-          }
-        else if (args[i].startsWith("-stress"))
-          {
-              break;
-          }
-        else
-          {
-            System.out.println("Invalid Argument: " + args[i]);
-            usage ();
-          }
+        if ("".equals(ClistPath)) {
+            usage();
+            throw new Error("TESTBUG: class list path not defined");
         }
-        if (ClistPath.equals(""))
-        {
-                System.out.println("class list path not defined");
-                usage();
-        }
-  }
+    }
 
-  public void usage ()
-  {
-    System.out.println("usage: java CGT [options]");
-    System.out.println("  -help                               prints out this message");
-    System.out.println("  -numTestClass #                     limits the number of \"Test Methods\" to #");
-    System.out.println("  -randomcLoop #                      # of random function calls");
-    System.out.println("  -seed #                             uses the specified seed rather than the System Time");
-    System.out.println("  -staticLoop #                       # of non-random static function calls");
-    System.out.println("  -threads #                          # number of test threads, NOTE: no maximum value");
-    System.out.println("  -version                            print out the tool version");
-    System.out.println("  -v -verbose                         turn on verbose mode");
-    throw new TestFailure("  -path <path to classlist>           required, argument so program can find classes");
-  }
-
-  public void version ()
-  {
-    throw new TestFailure("CGT version = " + version);
-  }
+    public void usage() {
+        System.out.println("usage: java CGT [options]");
+        System.out.println("  -help                               prints out this message");
+        System.out.println("  -numTestClass #                     limits the number of \"Test Methods\" to #");
+        System.out.println("  -randomcLoop #                      # of random function calls");
+        System.out.println("  -seed #                             uses the specified seed rather than the System Time");
+        System.out.println("  -staticLoop #                       # of non-random static function calls");
+        System.out.println("  -v -verbose                         turn on verbose mode");
+        System.out.println("  -path <path to classlist>           required, argument so program can find classes");
+    }
 }
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/CGTThread.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1998, 2018, 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.
- *
- * 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.
- */
-
-package jit.graph;
-import java.util.*;
-import java.lang.*;
-import java.lang.reflect.*;
-import nsk.share.TestFailure;
-
-class CGTThread extends Thread
-{
-    private String ThreadName = null;
-    private Vector Sumation = new Vector(100000);
-    private Vector IDlist = new Vector(100000);
-
-
-    CGTThread( String name )
-    {
-                ThreadName = name;
-                setName(name);
-    }
-
-
-    public void run()
-    {
-                if (Globals.VERBOSE)
-                    System.out.println("\t\t" + Thread.currentThread().getName() + " started");
-                Long numFcalls = new Long(Globals.RANDOM_LOOP - 1);
-                Integer staticFcalls = new Integer(Globals.STATIC_LOOP);
-                MethodData methodCallStr = Globals.nextRandomMethod();
-                Globals.addFunctionIDToVector(methodCallStr.id, IDlist);
-                Throwable invocationExcept = null;
-
-                boolean skipVerify = false;
-
-                try
-                {
-                        methodCallStr.nextMethod.invoke(methodCallStr.instance, new Object []{Sumation, IDlist, numFcalls, staticFcalls});
-                }
-                catch (IllegalAccessException iax)
-                {
-                        throw new TestFailure("Illegal Access Exception");
-                }
-                catch (InvocationTargetException itx)
-                {
-                        System.out.println("Invocation Target Exception");
-                        invocationExcept = itx.getTargetException();
-                        System.out.println(invocationExcept);
-                        if (invocationExcept.getClass() == itx.getClass())
-                        {
-                                System.out.println("Processing Exception Invocation Target Exception");
-                                while (invocationExcept.getClass() == itx.getClass())
-                                        invocationExcept = ((InvocationTargetException)invocationExcept).getTargetException();
-                                System.out.println(invocationExcept);
-                        }
-                        if (invocationExcept instanceof StackOverflowError)
-                        //StackOverFlow is not a failure
-                        {
-                                System.out.println("Warning: stack overflow: skipping verification...");
-                                skipVerify = true;
-                        }
-                        else if (invocationExcept instanceof OutOfMemoryError)
-                        //OutOfMemoryError is not a failure
-                        {
-                                System.out.println("Warning: test devoured heap ;), skipping verification...");
-                                skipVerify = true;
-                        }
-                        else
-                        {
-                                invocationExcept.printStackTrace();
-                                System.exit(1);
-                        }
-                }
-
-            if( !skipVerify )
-                verify(Sumation, IDlist);
-    }
-
-    void verify(Vector Sum, Vector ID)
-    {
-                long oldsum = 0;
-                long newsum;
-                System.out.println(ThreadName + " has begun call stack validation");
-                if (Sum.size() != ID.size())
-                    {
-                                System.out.println("Vector Length's Do Not Match, VERIFY ERROR");
-                                System.out.println("Thread Name: " + ThreadName);
-                                throw new TestFailure("Sumation Element Count = " + Sum.size() + " ID Element Count = " +ID.size());
-                    }
-                long vectorSize = Sum.size();
-                while (!Sum.isEmpty())
-                    {
-                                if (CGT.shouldFinish())
-                                {
-                                   System.out.println(Thread.currentThread().getName() + ": skipping verification due to timeout");
-                                   return;
-                                }
-
-                                newsum = ((Long)Sum.firstElement()).longValue();
-                                Sum.removeElementAt(0);
-
-                                int functionID = ((Integer)ID.firstElement()).intValue();
-                                ID.removeElementAt(0);
-
-                                if ((newsum - oldsum) != (functionID))
-                                    {
-                                                System.out.println("Function Call structure invalid, VERIFY ERROR");
-                                                System.out.println("Thread Name: " + ThreadName);
-                                                System.out.println("Expected = " +(newsum - oldsum) + " Actual = " +functionID);
-                                                throw new TestFailure("Test failed.");
-//                                                System.exit(1);
-                                    }
-                                oldsum = newsum;
-                    }
-                Globals.decNumThreads();
-                System.out.println(ThreadName + "'s function call structure validated succesfully ("+vectorSize+" calls validated)");
-    }
-
-}
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/Globals.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/Globals.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -22,263 +22,200 @@
  */
 
 package jit.graph;
-import java.io.*;
-import java.util.*;
-import java.lang.*;
-import java.lang.reflect.*;
+
+import jdk.test.lib.Utils;
 import nsk.share.TestFailure;
 
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Random;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+public final class Globals {
+
 
-public final class Globals
-{
-    // Minimum and Maximum number of threads
-    public static int     NUM_THREADS      = 1;
-    public static long    RANDOM_SEED      = System.currentTimeMillis();
-    public static int     STATIC_LOOP      = 0;
-    public static int     NUM_TEST_CLASSES = 7;
-    public static long    RANDOM_LOOP      = 100;
-    public static boolean VERBOSE          = false;
-    private static Random indexGenerator   = null;
+    public static int STATIC_LOOP = 0;
+    public static int NUM_TEST_CLASSES = 7;
+    public static long RANDOM_LOOP = 100;
+    public static boolean VERBOSE = false;
 
-  //private static TestLoader CGTTestLoader = null;
-    private static String [] ClassArray = null;
-    private static Class [] ClassInstanceArray = null;
-    private static int       maxClassIndex    = 0;
+    private static final Random indexGenerator = Utils.getRandomInstance();
+    private static String[] ClassArray = null;
+    private static Class[] ClassInstanceArray = null;
+    private static int maxClassIndex = 0;
 
-    private static String [] MethodName_Array = null;
-    private static Method [] MethodInstance_Array = null;
+    private static String[] MethodName_Array = null;
+    private static Method[] MethodInstance_Array = null;
 
-    //Should be prime, so that odds of an incorrect verification reduced
-    public static  int    [] MethodID_Array   = null;
-
-
-    //Number of threads will be reduced as threads finish
-    public static synchronized void decNumThreads(){NUM_THREADS--;};
-
-    public static synchronized void initialize(String testListPath)
-    {
+    // Should be prime, so that odds of an incorrect verification reduced
+    public static int[] MethodID_Array = null;
 
-        File td = new File (testListPath);
-        if (!td.exists())
-            {
-                System.err.println("File " + testListPath + " Not found");
-                System.exit(1);
-            }
-        if (!td.isFile())
-            {
-                System.err.println(testListPath + " Must be a File");
-                System.exit(1);
-            }
+    public static synchronized void initialize(String testListPath) {
+        File td = new File(testListPath);
+        if (!td.exists()) {
+            throw new Error("TESTBUG: File " + testListPath + " Not found");
+        }
+
+        if (!td.isFile()) {
+            throw new Error("TESTBUG: " + testListPath + " Must be a File");
+        }
 
         BufferedReader classList = null;
-
-        try
-          {
-            classList = new BufferedReader(new FileReader(td));
-          }
-        catch (FileNotFoundException  fnfx)
-          {
-            System.err.println("Error finding Classlist");
-            System.exit(1);
-          }
-
-        String line = null;
-        try
-            {
-                line = classList.readLine();
-            }
-        catch (IOException iox)
-            {
-                System.err.println("Error reading Classlist");
-                System.exit(1);
+        try {
+            try {
+                classList = new BufferedReader(new FileReader(td));
+            } catch (FileNotFoundException e) {
+                throw new Error("TESTBUG: Error finding Classlist", e);
             }
 
-        try
-            {
-                maxClassIndex = Math.abs(Integer.parseInt(line));//ClassArray.length;
+            String line = null;
+            try {
+                line = classList.readLine();
+            } catch (IOException e) {
+                throw new Error("TESTBUG: Error reading Classlist", e);
             }
-        catch (NumberFormatException nfx)
-            {
-                System.err.println("Error reading Classlist - first number must be number of methods defined");
-                System.exit(1);
+
+            try {
+                // ClassArray.length;
+                maxClassIndex = Math.abs(Integer.parseInt(line));
+            } catch (NumberFormatException e) {
+                throw new Error("TESTBUG: Error reading Classlist - first number must be number of methods defined", e);
             }
 
-        ClassArray = new String [maxClassIndex];
-ClassInstanceArray = new Class [maxClassIndex];
-        MethodName_Array = new String [maxClassIndex];
-        MethodInstance_Array = new Method [maxClassIndex];
-        MethodID_Array = new int [maxClassIndex];
+            ClassArray = new String[maxClassIndex];
+            ClassInstanceArray = new Class[maxClassIndex];
+            MethodName_Array = new String[maxClassIndex];
+            MethodInstance_Array = new Method[maxClassIndex];
+            MethodID_Array = new int[maxClassIndex];
 
-        int i;
-        for (i = 0; (i<maxClassIndex) && (line != null); i++)
-            {
-                try
-                    {
-                        line = classList.readLine();
-                    }
-                catch (IOException iox)
-                    {
-                        System.err.println("Error reading ClasslistFile: testListPath");
-                        System.exit(1);
-                    }
+            int i;
+            for (i = 0; i < maxClassIndex; i++) {
+                try {
+                    line = classList.readLine();
+                } catch (IOException e) {
+                    throw new Error("TESTBUG: Error reading ClasslistFile: testListPath", e);
+                }
                 StringTokenizer lineTokens = new StringTokenizer(line, "\t ");
-                if (lineTokens.countTokens() <3)
-                  {
-                    System.out.println("Error reading ClasslistFile: Errored line");
-                    i--;
-                  }
-                else
-                  {
+                if (lineTokens.countTokens() < 3) {
+                    throw new Error("TESTBUG: ClasslistFile: unexpected line:" + line);
+                } else {
                     ClassArray[i] = lineTokens.nextToken();
-                    MethodName_Array[i] =lineTokens.nextToken();
+                    MethodName_Array[i] = lineTokens.nextToken();
                     MethodID_Array[i] = Integer.parseInt(lineTokens.nextToken());
-                  }
+                }
             }
-        maxClassIndex = i;
+            maxClassIndex = i;
+        } finally {
+            if (classList != null) {
+                try {
+                    classList.close();
+                } catch (IOException e) {
+                    throw new Error("can't close file", e);
+                }
+            }
+        }
 
-        indexGenerator = new Random(RANDOM_SEED);
-        if ((NUM_TEST_CLASSES < ClassArray.length) && (NUM_TEST_CLASSES > 0))
-          maxClassIndex = NUM_TEST_CLASSES;
-        else
-          NUM_TEST_CLASSES = maxClassIndex;
+        if ((NUM_TEST_CLASSES < ClassArray.length) && (NUM_TEST_CLASSES > 0)) {
+            maxClassIndex = NUM_TEST_CLASSES;
+        } else {
+            NUM_TEST_CLASSES = maxClassIndex;
+        }
     }
 
-    //does a binary serach to find the index for the ID of a method
-    private static int ID_BinSearch(int begin, int end, int ID)
-    {
-        if (end < begin)
-            return(-1);
+    // does a binary search to find the index for the ID of a method
+    private static int ID_BinSearch(int begin, int end, int ID) {
+        if (end < begin) {
+            return (-1);
+        }
 
-        int mid = (begin + end)/2;
+        int mid = (begin + end) / 2;
         int midvalue = MethodID_Array[mid];
 
-        if (ID == midvalue)
+        if (ID == midvalue) {
             return (mid);
-        else if (ID < midvalue)
-            return(ID_BinSearch(begin, mid-1, ID));
-        else
-            return(ID_BinSearch(mid+1, end, ID));
+        } else if (ID < midvalue) {
+            return (ID_BinSearch(begin, mid - 1, ID));
+        } else {
+            return (ID_BinSearch(mid + 1, end, ID));
+        }
     }
 
 
-    //based off a static index, this function selects the method to be called
-    public static MethodData returnNextStaticMethod(int Method_ID)
-    {
-      //int i = ID_BinSearch(0, MethodID_Array.length - 1, Method_ID);
-      int i = ID_BinSearch(0, maxClassIndex - 1, Method_ID);
+    // based off a static index, this function selects the method to be called
+    public static MethodData returnNextStaticMethod(int Method_ID) {
+        //int i = ID_BinSearch(0, MethodID_Array.length - 1, Method_ID);
+        int i = ID_BinSearch(0, maxClassIndex - 1, Method_ID);
 
-      return(nextStaticMethod((i==-1)?0:i));
+        return (nextStaticMethod((i == -1) ? 0 : i));
     }
 
-    //this function randomly selects the next method to be called by the test class
-    public static MethodData nextRandomMethod()
-    {
-
+    // this function randomly selects the next method to be called by the test class
+    public static MethodData nextRandomMethod() {
         int i = indexGenerator.nextInt(maxClassIndex);
-        return(nextStaticMethod(i));
+        return (nextStaticMethod(i));
     }
 
-    private static MethodData nextStaticMethod(int i)
-    {
+    private static MethodData nextStaticMethod(int i) {
         Class methodsClass = null;
         Method nextMethod = null;
 
-        try
-            {
-              //methodsClass = CGTTestLoader.findClass(ClassArray[i]);
-              methodsClass = ClassInstanceArray[i];
-              if (methodsClass == null)
-              {
-                  methodsClass = Class.forName(ClassArray[i]);
-                  ClassInstanceArray[i] = methodsClass;
-              }
-              nextMethod = MethodInstance_Array[i];
-              if (nextMethod == null )
-              {
-              nextMethod =
-                methodsClass.getMethod(MethodName_Array[i],
-                                       new Class[]{java.util.Vector.class, java.util.Vector.class,
-                                                     java.lang.Long.class, java.lang.Integer.class});
-              //sum vector, ID vector, function depth, static function call depth
-              MethodInstance_Array[i] = nextMethod;
-              }
+        try {
+            methodsClass = ClassInstanceArray[i];
+            if (methodsClass == null) {
+                methodsClass = Class.forName(ClassArray[i]);
+                ClassInstanceArray[i] = methodsClass;
             }
-        catch (ClassNotFoundException cnfx)
-            {
-                System.out.println("Class: " +ClassArray[i]+ " Not Found");
-                System.exit(-1);
+            nextMethod = MethodInstance_Array[i];
+            if (nextMethod == null) {
+                nextMethod = methodsClass.getMethod(MethodName_Array[i],
+                        Vector.class, Vector.class,  Long.class, Integer.class);
+                // sum vector, ID vector, function depth, static function call depth
+                MethodInstance_Array[i] = nextMethod;
             }
-        catch (NoSuchMethodException nsmx)
-            {
-                System.out.println("Class: " +ClassArray[i]);
-                System.out.println("Method: " +MethodName_Array[i]+" Not Found");
-                System.exit(-1);
-            }
-        catch (SecurityException sx)
-            {
-                System.out.println("Class: " +ClassArray[i]);
-                System.out.println("Method: " +MethodName_Array[i]);
-                System.out.println("Security Exception Generated, by above method call");
-                System.exit(-1);
-            }
-        return(new MethodData(ClassArray[i], MethodName_Array[i], methodsClass, nextMethod, MethodID_Array[i]));
+        } catch (ClassNotFoundException e) {
+            throw new Error("TESTBUG Class: " + ClassArray[i] + " Not Found", e);
+        } catch (NoSuchMethodException e) {
+            throw new Error("TESTBUG Method: " + ClassArray[i] + "::" + MethodName_Array[i] + " Not Found", e);
+        } catch (SecurityException e) {
+            throw new Error("TESTBUG Security Exception Generated by " + ClassArray[i] + "::" + MethodName_Array[i], e);
+        }
+        return new MethodData(ClassArray[i], MethodName_Array[i], methodsClass, nextMethod, MethodID_Array[i]);
     }
 
 
-    /*These two functions are used to verify that all function were called in the proper order*/
+    /* These two functions are used to verify that all function were called in the proper order */
 
-    //called by "parent" function to add childs ID to vector
-    public static void addFunctionIDToVector(int FunctionIndex, Vector IDVector)
-    {
-        IDVector.addElement(new Integer(FunctionIndex));
+    // called by "parent" function to add childs ID to vector
+    public static void addFunctionIDToVector(int FunctionIndex, Vector IDVector) {
+        IDVector.addElement(FunctionIndex);
     }
 
-    //called by "child" to add Function Index to Vector
-    public static void appendSumToSumationVector(int FunctionIndex, Vector SummationVector)
-    {
-        if (SummationVector.isEmpty())
-            SummationVector.addElement(new Long(FunctionIndex));
-        else
-            SummationVector.addElement(new Long(((Long)SummationVector.lastElement()).longValue() + FunctionIndex));
+    // called by "child" to add Function Index to Vector
+    public static void appendSumToSummationVector(int FunctionIndex, Vector SummationVector) {
+        if (SummationVector.isEmpty()) {
+            SummationVector.addElement((long) FunctionIndex);
+        } else {
+            SummationVector.addElement((Long) SummationVector.lastElement() + FunctionIndex);
+        }
     }
 
-    //This function calls a method based off of MethodData
+    // This function calls a method based off of MethodData
     public static void callMethod(MethodData methodCallStr,
                                   Vector summation, Vector ID,
                                   Long numFcalls, Integer staticFcalls)
-                                  throws InvocationTargetException
-
-    {
-                if(NUM_THREADS >1)
-                    {
-                        if ((staticFcalls.intValue() + numFcalls.longValue()) %23 == 0)
-                            {
-                                try
-                                    {
-                                        Thread.sleep(225);
-                                    }
-                                catch (InterruptedException ie)
-                                    {}
-                                if (VERBOSE)
-                                    System.out.println("\t\tCurrentThread:" + Thread.currentThread().getName());
-                            }
-                    }
-
-                try
-            {
-                        methodCallStr.nextMethod.invoke(methodCallStr.instance,
-                                new Object []{summation, ID, numFcalls, staticFcalls});
-            }
-                catch (IllegalAccessException iax)  //should never happen with a valid testfile
-            {
-                        throw new TestFailure("Illegal Access Exception");
-            }
-                    /*
-                catch (InvocationTargetException itx)
-                    {
-                        itx.printStackTrace();
-                        System.out.println("Invocation Target Exception");
-                        System.exit(1);
-                    }*/
+            throws InvocationTargetException {
+        try {
+            methodCallStr.nextMethod.invoke(methodCallStr.instance,
+                    summation, ID, numFcalls, staticFcalls);
+        } catch (IllegalAccessException e) {
+            // should never happen with a valid testfile
+            throw new TestFailure("Illegal Access Exception", e);
+        }
     }
 }
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/MethodData.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/MethodData.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -20,37 +20,33 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package jit.graph;
-import java.lang.reflect.*;
+
+import java.lang.reflect.Method;
+
 import nsk.share.TestFailure;
 
-public final class MethodData
-{
-  public String ClassName;
-  public String MethodName;
-  public Class  ClassObject;
-  public Method nextMethod;
-  public int id;
-  public Object instance = null;
+public final class MethodData {
+    public String ClassName;
+    public String MethodName;
+    public Class ClassObject;
+    public Method nextMethod;
+    public int id;
+    public Object instance;
 
-  MethodData(String ClassName, String MethodName, Class ClassObject,Method nextMethod, int id)
-  {
-    this.ClassName = ClassName;
-    this.MethodName = MethodName;
-    this.nextMethod = nextMethod;
-    this.id = id;
-    this.ClassObject = ClassObject;
-    try
-      {
-        this.instance = ClassObject.newInstance();
-      }
-    catch (InstantiationException ix)
-      {
-        throw new TestFailure("Class: " +ClassName+ " Instantiation Exception");
-      }
-    catch (IllegalAccessException iax)
-      {
-        throw new TestFailure("Class: " +ClassName+ " Illegal Access Exception");
-      }
-  }
+    MethodData(String ClassName, String MethodName, Class ClassObject, Method nextMethod, int id) {
+        this.ClassName = ClassName;
+        this.MethodName = MethodName;
+        this.nextMethod = nextMethod;
+        this.id = id;
+        this.ClassObject = ClassObject;
+        try {
+            this.instance = ClassObject.newInstance();
+        } catch (InstantiationException e) {
+            throw new TestFailure("Class: " + ClassName + " Instantiation Exception", e);
+        } catch (IllegalAccessException e) {
+            throw new TestFailure("Class: " + ClassName + " Illegal Access Exception", e);
+        }
+    }
 }
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/Node.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/Node.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -20,114 +20,102 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package jit.graph;
 
-import nsk.share.TestFailure;
 // This class define the tree node.
 
-public class Node
-{
-   public final static int Black = 0;    // constants used to define the
-   public final static int Red = 1;      // node color
-   public final static int Left_son = 2; // constants used to identify
-   public final static int Right_son = 3;// the node parent and sons.
-   public final static int Parent = 4;
+public class Node {
+    public final static int Black = 0;    // constants used to define the
+    public final static int Red = 1;      // node color
+    public final static int Left_son = 2; // constants used to identify
+    public final static int Right_son = 3;// the node parent and sons.
+    public final static int Parent = 4;
 
-
-   private int  color;
-   private int  key;
-   private Node L,R,P;      // L-left son,R-right son,P-parent
+    private int color;
+    private int key;
+    private Node L, R, P;      // L-left son,R-right son,P-parent
 
-   // constructor create a new node the default color is red
-   // the default appearance (bold) is regular.
-   // initialize the key field.
+    // constructor create a new node the default color is red
+    // the default appearance (bold) is regular.
+    // initialize the key field.
 
-   public Node(int k)
-   {
-      color = Red;
-      key = k;
-      L = null;
-      R = null;
-      P = null;
-   }
+    public Node(int k) {
+        color = Red;
+        key = k;
+        L = null;
+        R = null;
+        P = null;
+    }
 
-   // constructor for constructing a tree null object, is color
-   // is black.
+    // constructor for constructing a tree null object, is color
+    // is black.
 
-   public Node()
-   {
-      color = Black;
-      key = -1;
-      L = null;
-      R = null;
-      P = null;
-   }
+    public Node() {
+        color = Black;
+        key = -1;
+        L = null;
+        R = null;
+        P = null;
+    }
 
-   // This method set the node key.
+    // This method set the node key.
 
-   public void setKey(int k)
-   {
-      key = k;
-   }
+    public void setKey(int k) {
+        key = k;
+    }
 
-   // This method return the node key.
+    // This method return the node key.
 
-   public int getKey()
-   {
-      return (key);
-   }
+    public int getKey() {
+        return (key);
+    }
 
-   // This method set the node color.
+    // This method set the node color.
 
-   public void setColor(int c)
-   {
-      if (c == Black)
-         color = Black;
-      else
-         if (c == Red)
+    public void setColor(int c) {
+        if (c == Black) {
+            color = Black;
+        } else if (c == Red) {
             color = Red;
-   }
+        }
+    }
 
-   // This method return the node color.
+    // This method return the node color.
 
-   public int getColor()
-   {
-      return (color);
-   }
+    public int getColor() {
+        return (color);
+    }
 
-   // This method set the node parent or childs acording to the who
-   // parameter.
+    // This method set the node parent or childs acording to the who
+    // parameter.
 
-   public void setNode(int who,Node n)
-   {
-      switch (who)
-      {
-          case Left_son:
-               L = n;
-               break;
-          case Right_son:
-               R = n;
-               break;
-          case Parent:
-               P = n;
-               break;
-      }
-   }
+    public void setNode(int who, Node n) {
+        switch (who) {
+            case Left_son:
+                L = n;
+                break;
+            case Right_son:
+                R = n;
+                break;
+            case Parent:
+                P = n;
+                break;
+        }
+    }
 
-   // This method return the node parent or childs acording to the who
-   // parameter.
+    // This method return the node parent or childs acording to the who
+    // parameter.
 
-   public Node getNode(int who)
-   {
-      switch (who)
-      {
-          case Left_son:
-               return (L);
-          case Right_son:
-               return (R);
-          case Parent:
-               return (P);
-      }
-      return (null);
-   }
+    public Node getNode(int who) {
+        switch (who) {
+            case Left_son:
+                return L;
+            case Right_son:
+                return R;
+            case Parent:
+                return P;
+        }
+        return null;
+    }
 }
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/RBTree.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/RBTree.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -20,708 +20,626 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package jit.graph;
 
-import nsk.share.TestFailure;
-
-//import Node;
-
 // This class defines the tree object.
-
-public class RBTree
-{
-   public final static int  maxNodes = 70;        // maximum nodes allowed.
-   public final static int  INSERT   = 0;         // constants indicating
-   public final static int  DELETE   = 1;         // the current operation
-   public final static int  NOP      = 2;
-   public final static Node treeNull = new Node(); // the tree NULL node.
+public class RBTree {
+    public final static int maxNodes = 70;      // maximum nodes allowed.
+    public final static int INSERT = 0;         // constants indicating
+    public final static int DELETE = 1;         // the current operation
+    public final static int NOP = 2;
+    public final static Node treeNull = new Node(); // the tree NULL node.
 
-   private Node    root;
-   private int     num_of_nodes;
-   private int     height;           // The tree heigth ,it is updated
-                                     // in each operation.
+    private Node root;
+    private int num_of_nodes;
+    private int height;           // The tree height, it is updated
+    // in each operation.
 
-   // since the algorithem is executed in stages I have to remember data
-   // on the state.
-   private Node    node;  // The current operation is being done on it.
-   private int     action;// The operation being performed (insert / delete)
-   private int     stage; // The current stage of execution
-
-   // the constructor initialize the object fields.
+    // since the algorithm is executed in stages I have to remember data
+    // on the state.
+    private Node node;  // The current operation is being done on it.
+    private int action; // The operation being performed (insert / delete)
+    private int stage;  // The current stage of execution
 
-   public RBTree()
-   {
-      root         = treeNull;
-      node         = treeNull;
-      num_of_nodes = 0;
-      height       = 0;
-      action       = NOP;
-      stage        = 0;
-   }
-
-   // This method return the root of the tree.
+    // the constructor initializes the object fields.
+    public RBTree() {
+        root = treeNull;
+        node = treeNull;
+        num_of_nodes = 0;
+        height = 0;
+        action = NOP;
+        stage = 0;
+    }
 
-   public Node getRoot()
-   {
-      return root;
-   }
-
-   // This method return the number of nodes in the tree.
+    // This method returns the root of the tree.
+    public Node getRoot() {
+        return root;
+    }
 
-   public int getNodes()
-   {
-      return num_of_nodes;
-   }
+    // This method returns the number of nodes in the tree.
+    public int getNodes() {
+        return num_of_nodes;
+    }
 
-   // This method return the heigth of the tree.
-
-   public int getHeight()
-   {
-      return height;
-   }
+    // This method returns the height of the tree.
+    public int getHeight() {
+        return height;
+    }
 
 
-
-   // This method inserts k into the Red Black Tree
+    // This method inserts k into the Red Black Tree
+    public boolean RBInsert(int k) {
+        // checking similar to the RB_Insert method
+        if (action != NOP) {
+            System.out.println("Only one operation can be done at a time.");
+            return false;
+        }
 
-   public boolean RBInsert(int k)
-   {
+        if (num_of_nodes == maxNodes) {
+            System.out.println("The maximum nodes allowed is already reached.");
+            return false;
+        }
 
-      Thread Pause = new Thread();   // this thread is used for delay
-                                     // between the stages.
-      if (action != NOP)  // checking similar to the RB_Insert method
-      {
-         System.out.println
-         ("Only one operation can be done at a time.");
-         return false;
-      }
-      if (num_of_nodes == maxNodes)
-      {
-         System.out.println
-         ("The maximum nodes allowed is already reached.");
-         return false;
-      }
-      if (Search(k) == treeNull) // Check if there is already node with key k.
-      {
-         action = INSERT;
-         node = new Node(k);
-         node.setNode(Node.Left_son,treeNull);
-         node.setNode(Node.Right_son,treeNull);
-         node.setNode(Node.Parent,treeNull);
-         stage = 1;
-         while (stage != 0)     // This is the loop that perform all the
-         {                      // operation steps.
-            InsertStep();       // perform one step
-            updateHeight();     // update the tree height
-         }
-         action = NOP;           // set the action to NoOPretion.
-         return true;
-      }
-      else
-        System.out.println
-        ("Insertion failed. This key already exist.");
-      return false;
-   }
+        // Check if there is already node with key k.
+        if (Search(k) == treeNull) {
+            action = INSERT;
+            node = new Node(k);
+            node.setNode(Node.Left_son, treeNull);
+            node.setNode(Node.Right_son, treeNull);
+            node.setNode(Node.Parent, treeNull);
+            stage = 1;
+            // This is the loop that perform all the operation steps.
+            while (stage != 0) {
+                // perform one step
+                InsertStep();
+                // update the tree height
+                updateHeight();
+            }
+            // set the action to NoOPretion.
+            action = NOP;
+            return true;
+        } else
+            System.out.println("Insertion failed. This key already exist.");
+        return false;
+    }
 
 
-   // This method deletes the element k from the Red Black tree
-
-   public boolean RBDelete(int k)
-   {
-      Thread Pause = new Thread();   // this thread is used for delay
-                                     // between the stages.
-      if (action != NOP)
-      {                              // checking like in RB_Delete method
-         System.out.println
-         ("Only one operation can be done at a time.");
-         return false;
-      }
-      node = Search(k);
-      if (node != treeNull)       // Check if there is a node with key k.
-      {
-         action = DELETE;
-         stage = 1;
-         while (stage != 0)    // this loop perform all the operation
-         {                     // steps.
-            DeleteStep();               // perform one step
-            updateHeight();             // update the tree height
-
-         }
-         action = NOP;
-         return true;
-      }
-      else
-         System.out.println
-         ("Deletion failed. This key doesn't exist.");
-      return false;
-   }
+    // This method deletes the element k from the Red Black tree
+    public boolean RBDelete(int k) {
+        // checking like in RB_Delete method
+        if (action != NOP) {
+            System.out.println("Only one operation can be done at a time.");
+            return false;
+        }
+        node = Search(k);
+        // Check if there is a node with key k.
+        if (node != treeNull) {
+            action = DELETE;
+            stage = 1;
+            // this loop perform all the operation steps.
+            while (stage != 0) {
+                // perform one step
+                DeleteStep();
+                // update the tree height
+                updateHeight();
+            }
+            action = NOP;
+            return true;
+        } else
+            System.out.println("Deletion failed. This key doesn't exist.");
+        return false;
+    }
 
-   // This method perform one step in the insertion operation.
-   // If perform a step acording to the stage variable.
-   // I will not explain exactly what each stage do, just that they
-   // divided to 4 categories:
-   // 1. inserting a node to the tree.
-   // 2. marking nodes that will be recolored.
-   // 3. recoloring nodes.
-   // 4. rotating right or left.
-
-   private void InsertStep()
-   {
-      Node Pr,GrPr,Un; // Pr is parent, GrPr is grandparent
-                       // and Un is uncle.
-      switch (stage)
-      {
-           case 1: // Inserting a node to the tree
-               /*
-                  System.out.println  // send a message to the screen
-                  (new String("Inserting ")
-                  .concat(Integer.toString(node.getKey())));
-               */
-                  Tree_Insert();        // inserting an element to the tree
-                  break;
-           case 2:       // mid stage that move to algorithem to the
-                         // proper next stage, and send proper message
-                         // to the screen
-                  Pr = node.getNode(Node.Parent);
-                  GrPr = Pr.getNode(Node.Parent);
-                  if (Pr == GrPr.getNode(Node.Left_son))
-                  {
-                     Un = GrPr.getNode(Node.Right_son);
-                     if (Un.getColor() == Node.Red)
-                     {
+    // This method performs one step in the insertion operation.
+    // It performs a step according to the stage variable.
+    // I will not explain exactly what each stage do, just that they
+    // divided to 4 categories:
+    // 1. inserting a node to the tree.
+    // 2. marking nodes that will be recolored.
+    // 3. recoloring nodes.
+    // 4. rotating right or left.
+    private void InsertStep() {
+        // Pr is parent, GrPr is grandparent and Un is uncle.
+        Node Pr, GrPr, Un;
+        switch (stage) {
+            // Inserting a node to the tree
+            case 1:
+                Tree_Insert();
+                break;
+            // mid stage that moves the algorithm to the proper next stage
+            case 2:
+                Pr = node.getNode(Node.Parent);
+                GrPr = Pr.getNode(Node.Parent);
+                if (Pr == GrPr.getNode(Node.Left_son)) {
+                    Un = GrPr.getNode(Node.Right_son);
+                    if (Un.getColor() == Node.Red) {
+                        stage = 3;
+                    } else if (node == Pr.getNode(Node.Right_son)) {
+                        node = Pr;
+                        stage = 5;
+                    } else {
+                        stage = 6;
+                    }
+                } else {
+                    Un = GrPr.getNode(Node.Left_son);
+                    if (Un.getColor() == Node.Red) {
                         stage = 3;
-                     }
-                     else
-                        if (node == Pr.getNode(Node.Right_son))
-                        {
-                           node = Pr;
-                           stage = 5;
-                        }
-                        else
-                        {
-                           stage = 6;
-                        }
-                  }
-                  else
-                  {
-                     Un = GrPr.getNode(Node.Left_son);
-                     if (Un.getColor() == Node.Red)
-                     {
-                        stage = 3;
-                     }
-                     else
-                        if (node == Pr.getNode(Node.Left_son))
-                        {
-                           node = Pr;
-                           stage = 5;
-                        }
-                        else
-                        {
-                           stage = 6;
-                        }
-                  }
-                  break;
-           case 3:       // This stage marks node that will be recolored
-                  Pr = node.getNode(Node.Parent);
-                  GrPr = Pr.getNode(Node.Parent);
-                  if (Pr == GrPr.getNode(Node.Left_son))
-                     Un = GrPr.getNode(Node.Right_son);
-                  else
-                      Un = GrPr.getNode(Node.Left_son);
+                    } else if (node == Pr.getNode(Node.Left_son)) {
+                        node = Pr;
+                        stage = 5;
+                    } else {
+                        stage = 6;
+                    }
+                }
+                break;
+            // This stage marks node that will be recolored
+            case 3:
+                Pr = node.getNode(Node.Parent);
+                GrPr = Pr.getNode(Node.Parent);
+                if (Pr == GrPr.getNode(Node.Left_son)) {
+                    Un = GrPr.getNode(Node.Right_son);
+                } else {
+                    Un = GrPr.getNode(Node.Left_son);
+                }
+                node = GrPr;
+                stage = 4;
+                break;
+            // This stage recolors marked nodes.
+            case 4:
+                node.setColor(Node.Red);
+                node.getNode(Node.Left_son).setColor(Node.Black);
+                node.getNode(Node.Right_son).setColor(Node.Black);
 
-                  node = GrPr;
-                  stage = 4;
-                  break;
-           case 4:          // this stage recolor marked nodes.
-                  node.setColor(Node.Red);
-                  (node.getNode(Node.Left_son)).setColor(Node.Black);
-                  (node.getNode(Node.Right_son)).setColor(Node.Black);
-
-                  if ((node == root) ||
-                     ((node.getNode(Node.Parent)).getColor() == Node.Black))
-                     if (root.getColor() == Node.Red)
-                     {
+                if ((node == root) ||
+                        (node.getNode(Node.Parent).getColor() == Node.Black)) {
+                    if (root.getColor() == Node.Red) {
                         stage = 9;
-                     }
-                     else
+                    } else
                         stage = 0;
-                  else
-                  {
-                     stage = 2;
-                     InsertStep();
-                  }
-                  break;
-           case 5:        // This stage perform rotation operation
-                  Pr = node.getNode(Node.Parent);
-                  if (node == Pr.getNode(Node.Left_son))
-                     Left_Rotate(node);
-                  else
-                     Right_Rotate(node);
+                } else {
+                    stage = 2;
+                    InsertStep();
+                }
+                break;
+            // This stage performs rotation operation
+            case 5:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Left_Rotate(node);
+                } else {
+                    Right_Rotate(node);
+                }
+                stage = 6;
+                break;
+            // This stage marks nodes that will be recolor.
+            case 6:
+                Pr = node.getNode(Node.Parent);
+                GrPr = Pr.getNode(Node.Parent);
 
-                  stage = 6;
-                  break;
-           case 6:        // This stage marks nodes that will be recolor.
-                  Pr = node.getNode(Node.Parent);
-                  GrPr = Pr.getNode(Node.Parent);
-
-                  stage = 7;
-                  break;
-           case 7:        // This stage recolor marked nodes.
-                  Pr = node.getNode(Node.Parent);
-                  Pr.setColor(Node.Black);
-                  GrPr = Pr.getNode(Node.Parent);
-                  GrPr.setColor(Node.Red);
+                stage = 7;
+                break;
+            // This stage recolors marked nodes.
+            case 7:
+                Pr = node.getNode(Node.Parent);
+                Pr.setColor(Node.Black);
+                GrPr = Pr.getNode(Node.Parent);
+                GrPr.setColor(Node.Red);
 
-                  stage = 8;
-                  break;
-           case 8:        // This stage perform rotation operation
-                  Pr = node.getNode(Node.Parent);
-                  GrPr = Pr.getNode(Node.Parent);
-                  if (Pr == GrPr.getNode(Node.Left_son))
-                     Right_Rotate(GrPr);
-                  else
-                     Left_Rotate(GrPr);
-                  if (root.getColor() == Node.Red)
-                  {
-                     stage = 9;
-                  }
-                  else
-                     stage = 0;
-                  break;
-           case 9:        // this stage mark the root.
-                   stage = 10;
-                  break;
-           case 10:       // This stage recolor the root.
-                  root.setColor(Node.Black);
-                  stage = 0;
-                  break;
-      }
-   }
+                stage = 8;
+                break;
+            // This stage performs rotation operation
+            case 8:
+                Pr = node.getNode(Node.Parent);
+                GrPr = Pr.getNode(Node.Parent);
+                if (Pr == GrPr.getNode(Node.Left_son)) {
+                    Right_Rotate(GrPr);
+                } else {
+                    Left_Rotate(GrPr);
+                }
+                if (root.getColor() == Node.Red) {
+                    stage = 9;
+                } else
+                    stage = 0;
+                break;
+            // this stage marks the root.
+            case 9:
+                stage = 10;
+                break;
+            // This stage recolors the root.
+            case 10:
+                root.setColor(Node.Black);
+                stage = 0;
+                break;
+        }
+    }
 
-   // This method perform one step in the deletion operation.
-   // If perform a step acording to the stage variable.
-   // I will explain exactly what each stage do, just that they
-   // divided to 4 categories:
-   // 1. deleting a node from the tree.
-   // 2. marking nodes that will be recolored.
-   // 3. recoloring nodes.
-   // 4. rotating right or left.
+    // This method performs one step in the deletion operation.
+    // It perform sa step according to the stage variable.
+    // I will explain exactly what each stage do, just that they
+    // divided to 4 categories:
+    // 1. deleting a node from the tree.
+    // 2. marking nodes that will be recolored.
+    // 3. recoloring nodes.
+    // 4. rotating right or left.
+    public void DeleteStep() {
+        // Pr is Parent, Br is Brother
+        Node Pr, Br;
+        switch (stage) {
+            // This stage delete a node from the tree.
+            case 1:
+                Tree_Delete();
+                break;
+            // This stage marks a nodes that will be recolored or perform other stage.
+            case 2:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Br = Pr.getNode(Node.Right_son);
+                } else {
+                    Br = Pr.getNode(Node.Left_son);
+                }
+                if (Br.getColor() == Node.Red) {
+                    stage = 3;
+                } else if ((Br.getNode(Node.Right_son).getColor() == Node.Black)
+                        && (Br.getNode(Node.Left_son).getColor() == Node.Black)) {
+                    stage = 5;
+                    DeleteStep();
+                } else {
+                    stage = 7;
+                    DeleteStep();
+                }
+                break;
+            // This stage recolors marked nodes.
+            case 3:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Br = Pr.getNode(Node.Right_son);
+                } else {
+                    Br = Pr.getNode(Node.Left_son);
+                }
+                Br.setColor(Node.Black);
+                Pr.setColor(Node.Red);
 
-   public void DeleteStep()
-   {
-       Node Pr,Br;     // Pr is Parent ,Br is Brother
-       switch (stage)
-       {
-             case 1:   // This stage delete a node from the tree.
-                 /*
-                    System.out.println
-                    (new String("Deleting ")
-                    .concat(Integer.toString(node.getKey())));
-                 */
-                    Tree_Delete();
-                    break;
-             case 2:   // This stage marks a nodes that will be recolored
-                       // or perform other stage.
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                       Br = Pr.getNode(Node.Right_son);
-                    else
-                       Br = Pr.getNode(Node.Left_son);
-                    if (Br.getColor() == Node.Red)
-                    {
-                        stage = 3;
+                stage = 4;
+                break;
+            // This stage performs rotation operation
+            case 4:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Left_Rotate(Pr);
+                    Br = Pr.getNode(Node.Right_son);
+                } else {
+                    Right_Rotate(Pr);
+                    Br = Pr.getNode(Node.Left_son);
+                }
+                if ((Br.getNode(Node.Right_son).getColor() == Node.Black)
+                        && (Br.getNode(Node.Left_son).getColor() == Node.Black)) {
+                    stage = 5;
+                } else {
+                    stage = 7;
+                }
+
+                break;
+            // This stage marks nodes that will be recolor.
+            case 5:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Br = Pr.getNode(Node.Right_son);
+                } else {
+                    Br = Pr.getNode(Node.Left_son);
+                }
+                stage = 6;
+                break;
+            // This stage recolors marked nodes.
+            case 6:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Br = Pr.getNode(Node.Right_son);
+                } else {
+                    Br = Pr.getNode(Node.Left_son);
+                }
+                Br.setColor(Node.Red);
+                node = Pr;
+
+                if ((node != root) && (node.getColor() == Node.Black)) {
+                    stage = 2;
+                } else if (node.getColor() == Node.Red) {
+                    stage = 13;
+                } else
+                    stage = 0;
+                break;
+            // This stage marks nodes that will be recolor or perform other stage.
+            case 7:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Br = Pr.getNode(Node.Right_son);
+                    if ((Br.getNode(Node.Right_son)).getColor() == Node.Black) {
+                        stage = 8;
+                    } else {
+                        stage = 10;
+                        DeleteStep();
                     }
-                    else
-                       if (((Br.getNode(Node.Right_son)).getColor() == Node.Black)
-                          && ((Br.getNode(Node.Left_son)).getColor() == Node.Black))
-                       {
-                          stage = 5;
-                          DeleteStep();
-                       }
-                       else
-                       {
-                          stage = 7;
-                          DeleteStep();
-                       }
-                    break;
-             case 3:    // this stage recolor marked nodes.
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                    {
-                       Br = Pr.getNode(Node.Right_son);
-
-                    }
-                    else
-                    {
-                       Br = Pr.getNode(Node.Left_son);
-                    }
-                    Br.setColor(Node.Black);
-                    Pr.setColor(Node.Red);
-
-                    stage = 4;
-                    break;
-             case 4:     // this stage perform rotation operation
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                    {
-                       Left_Rotate(Pr);
-                       Br = Pr.getNode(Node.Right_son);
-                    }
-                    else
-                    {
-                       Right_Rotate(Pr);
-                       Br = Pr.getNode(Node.Left_son);
-                    }
-                    if (((Br.getNode(Node.Right_son)).getColor() == Node.Black)
-                       && ((Br.getNode(Node.Left_son)).getColor() == Node.Black))
-                       stage = 5;
-                    else
-                       stage = 7;
-
-                    break;
-             case 5:     // this stage marks nodes that will be recolor.
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                       Br = Pr.getNode(Node.Right_son);
-                    else
-                       Br = Pr.getNode(Node.Left_son);
-
-                    stage = 6;
-                    break;
-             case 6:     // This stage recolor marked nodes.
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                       Br = Pr.getNode(Node.Right_son);
-                    else
-                       Br = Pr.getNode(Node.Left_son);
-                    Br.setColor(Node.Red);
-                    node = Pr;
-
-                    if ((node != root) && (node.getColor() == Node.Black))
-                       stage = 2;
-                    else
-                       if (node.getColor() == Node.Red)
-                       {
-                          stage = 13;
-                       }
-                       else
-                          stage = 0;
-                    break;
-             case 7:     // this stage marks nodes that will be recolor
-                         // or perform other stage.
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                    {
-                       Br = Pr.getNode(Node.Right_son);
-                       if ((Br.getNode(Node.Right_son)).getColor() == Node.Black)
-                       {
-                          stage = 8;
-                       }
-                       else
-                       {
-                          stage = 10;
-                          DeleteStep();
-                       }
+                } else {
+                    Br = Pr.getNode(Node.Left_son);
+                    if ((Br.getNode(Node.Left_son)).getColor() == Node.Black) {
+                        stage = 8;
+                    } else {
+                        stage = 10;
+                        DeleteStep();
                     }
-                    else
-                    {
-                       Br = Pr.getNode(Node.Left_son);
-                       if ((Br.getNode(Node.Left_son)).getColor() == Node.Black)
-                       {
-                          stage = 8;
-                       }
-                       else
-                       {
-                          stage = 10;
-                          DeleteStep();
-                       }
-                    }
-                    break;
-             case 8:     // this stage recolor marked nodes.
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                    {
-                       Br = Pr.getNode(Node.Right_son);
-                       (Br.getNode(Node.Left_son)).setColor(Node.Black);
-
-                    }
-                    else
-                    {
-                       Br = Pr.getNode(Node.Left_son);
-                       (Br.getNode(Node.Right_son)).setColor(Node.Black);
+                }
+                break;
+            // This stage recolors marked nodes.
+            case 8:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Br = Pr.getNode(Node.Right_son);
+                    Br.getNode(Node.Left_son).setColor(Node.Black);
+                } else {
+                    Br = Pr.getNode(Node.Left_son);
+                    Br.getNode(Node.Right_son).setColor(Node.Black);
+                }
+                Br.setColor(Node.Red);
+                stage = 9;
+                break;
+            // This stage performs rotation operation
+            case 9:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Br = Pr.getNode(Node.Right_son);
+                    Right_Rotate(Br);
+                } else {
+                    Br = Pr.getNode(Node.Left_son);
+                    Left_Rotate(Br);
+                }
 
-                    }
-                    Br.setColor(Node.Red);
-                    stage = 9;
-                    break;
-             case 9:    // this stage perform rotation operation
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                    {
-                       Br = Pr.getNode(Node.Right_son);
-                       Right_Rotate(Br);
-                    }
-                    else
-                    {
-                       Br = Pr.getNode(Node.Left_son);
-                       Left_Rotate(Br);
-                    }
-
-                    stage = 10;
-                    break;
-             case 10:   // This stage marks node that will be recolor.
+                stage = 10;
+                break;
+            // This stage marks node that will be recolor.
+            case 10:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Br = Pr.getNode(Node.Right_son);
+                } else {
+                    Br = Pr.getNode(Node.Left_son);
+                }
 
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                    {
-                       Br = Pr.getNode(Node.Right_son);
-                    }
-                    else
-                    {
-                       Br = Pr.getNode(Node.Left_son);
-                    }
+                stage = 11;
+                break;
+            // This stage recolors marked nodes.
+            case 11:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Br = Pr.getNode(Node.Right_son);
+                    Br.getNode(Node.Right_son).setColor(Node.Black);
+                } else {
+                    Br = Pr.getNode(Node.Left_son);
+                    Br.getNode(Node.Left_son).setColor(Node.Black);
 
-                    stage = 11;
-                    break;
-             case 11:    // this stage recolor marked nodes.
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                    {
-                       Br = Pr.getNode(Node.Right_son);
-                       (Br.getNode(Node.Right_son)).setColor(Node.Black);
-                    }
-                    else
-                    {
-                       Br = Pr.getNode(Node.Left_son);
-                       (Br.getNode(Node.Left_son)).setColor(Node.Black);
+                }
+                if (Br.getColor() != Pr.getColor()) {
+                    Br.setColor(Pr.getColor());
+                }
+                if (Pr.getColor() != Node.Black) {
+                    Pr.setColor(Node.Black);
+                }
 
-                    }
-                    if (Br.getColor() != Pr.getColor())
-                       Br.setColor(Pr.getColor());
-                    if (Pr.getColor() != Node.Black)
-                       Pr.setColor(Node.Black);
-
-                    stage = 12;
-                    break;
-             case 12:    // this stage perform rotation operation.
-                    Pr = node.getNode(Node.Parent);
-                    if (node == Pr.getNode(Node.Left_son))
-                       Left_Rotate(Pr);
-                    else
-                       Right_Rotate(Pr);
-                    node = root;
-                    if (node.getColor() == Node.Red)
-                    {
-                       stage = 13;
-                    }
-                    else
-                       stage = 0;
-                    break;
-             case 13:    // this stage marks a node that will be recolor
-                    stage = 14;
-                    break;
-             case 14:    // this stage recolor marked node.
-                    node.setColor(Node.Black);
+                stage = 12;
+                break;
+            // This stage performs rotation operation.
+            case 12:
+                Pr = node.getNode(Node.Parent);
+                if (node == Pr.getNode(Node.Left_son)) {
+                    Left_Rotate(Pr);
+                } else {
+                    Right_Rotate(Pr);
+                }
+                node = root;
+                if (node.getColor() == Node.Red) {
+                    stage = 13;
+                } else {
                     stage = 0;
-                    break;
-       }
-   }
-
-   // This method insert the node 'node' to the tree.
-   // it called from the first stage in the InsertStep method.
-   // we 'dive' from the root to a leaf acording to the node key
-   // and insert the node in the proper place.
+                }
+                break;
+            // This stage marks a node that will be recolored
+            case 13:
+                stage = 14;
+                break;
+            // This stage recolors marked node.
+            case 14:
+                node.setColor(Node.Black);
+                stage = 0;
+                break;
+        }
+    }
 
-   private void Tree_Insert()
-   {
-       Node n1,n2;
-       n1 = root;
-       n2 = treeNull;
-       while (n1 != treeNull)
-       {
-          n2 = n1;
-          if (node.getKey() < n1.getKey())
-             n1 = n1.getNode(Node.Left_son);
-          else
-             n1 = n1.getNode(Node.Right_son);
-       }
-       node.setNode(Node.Parent,n2);
-       if (n2 == treeNull)
-          root = node;
-       else
-       {
-          if (node.getKey() < n2.getKey())
-             n2.setNode(Node.Left_son,node);
-          else
-             n2.setNode(Node.Right_son,node);
-       }
-       //Parent.display.drawTree();
-       // updating the insertion stage.
-       if ((node == root) ||
-          ((node.getNode(Node.Parent)).getColor() == Node.Black))
-          if (root.getColor() == Node.Red)
-          {
-             stage = 9;
-          }
-          else
-             stage = 0;
-       else
-       {
-          stage = 2;
-          InsertStep();
-       }
-       num_of_nodes++;   // increasing the number of nodes
-   }
+    // This method inserts the node 'node' to the tree.
+    // it called from the first stage in the InsertStep method.
+    // we 'dive' from the root to a leaf according to the node key
+    // and insert the node in the proper place.
+    private void Tree_Insert() {
+        Node n1, n2;
+        n1 = root;
+        n2 = treeNull;
+        while (n1 != treeNull) {
+            n2 = n1;
+            if (node.getKey() < n1.getKey()) {
+                n1 = n1.getNode(Node.Left_son);
+            } else {
+                n1 = n1.getNode(Node.Right_son);
+            }
+        }
+        node.setNode(Node.Parent, n2);
+        if (n2 == treeNull) {
+            root = node;
+        }
+        else {
+            if (node.getKey() < n2.getKey()) {
+                n2.setNode(Node.Left_son, node);
+            } else {
+                n2.setNode(Node.Right_son, node);
+            }
+        }
+        // updating the insertion stage.
+        if ((node == root) ||
+                (node.getNode(Node.Parent).getColor() == Node.Black)) {
+            if (root.getColor() == Node.Red) {
+                stage = 9;
+            } else {
+                stage = 0;
+            }
+        } else {
+            stage = 2;
+            InsertStep();
+        }
+        num_of_nodes++;   // increasing the number of nodes
+    }
 
-   // This method delete the node 'node' from the tree.
-   // it called from the first stage in the DeleteStep method.
-   // if node has at most one son we just remove it and connect
-   // his son and parent. If it has 2 sons we delete his successor
-   // that has at most one son and replace him with the successor.
+    // This method deletes the node 'node' from the tree.
+    // it called from the first stage in the DeleteStep method.
+    // if node has at most one son we just remove it and connect
+    // his son and parent. If it has 2 sons we delete his successor
+    // that has at most one son and replace him with the successor.
+    private void Tree_Delete() {
+        Node n1, n2, n3;
+        if ((node.getNode(Node.Left_son) == treeNull) ||
+                (node.getNode(Node.Right_son) == treeNull)) {
+            n1 = node;
+        } else {
+            n1 = Tree_Successor(node);
+        }
 
-   private void Tree_Delete()
-   {
-      Node n1,n2,n3;
-      if ((node.getNode(Node.Left_son) == treeNull) ||
-          (node.getNode(Node.Right_son) == treeNull))
-         n1 = node;
-      else
-         n1 = Tree_Successor(node);
-      if (n1.getNode(node.Left_son) != treeNull)
-         n2 = n1.getNode(Node.Left_son);
-      else
-         n2 = n1.getNode(Node.Right_son);
+        if (n1.getNode(Node.Left_son) != treeNull) {
+            n2 = n1.getNode(Node.Left_son);
+        } else {
+            n2 = n1.getNode(Node.Right_son);
+        }
 
-      n3 = n1.getNode(Node.Parent);
-      n2.setNode(Node.Parent,n3);
-      if (n3 == treeNull)
-         root = n2;
-      else
-         if (n1 == n3.getNode(Node.Left_son))
-            n3.setNode(Node.Left_son,n2);
-         else
-            n3.setNode(Node.Right_son,n2);
+        n3 = n1.getNode(Node.Parent);
+        n2.setNode(Node.Parent, n3);
+        if (n3 == treeNull) {
+            root = n2;
+        } else if (n1 == n3.getNode(Node.Left_son)) {
+            n3.setNode(Node.Left_son, n2);
+        } else {
+            n3.setNode(Node.Right_son, n2);
+        }
 
-      if (n1 != node)
-      {
-         node.setKey(n1.getKey());
-      }
-
+        if (n1 != node) {
+            node.setKey(n1.getKey());
+        }
 
-      node = n2;
-      if (n1.getColor() == Node.Black)
-         if ((node != root) && (node.getColor() == Node.Black))
-            stage = 2;
-         else
-            if (node.getColor() == Node.Red)
-               stage = 13;
-            else
-               stage = 0;
-      else
-         stage = 0;
-      num_of_nodes--;      // decrease the number of nodes.
-   }
-
-   // This method return the successor of the node n in the tree.
+        node = n2;
+        if (n1.getColor() == Node.Black) {
+            if ((node != root) && (node.getColor() == Node.Black)) {
+                stage = 2;
+            } else if (node.getColor() == Node.Red) {
+                stage = 13;
+            } else {
+                stage = 0;
+            }
+        } else {
+            stage = 0;
+        }
+        // decrease the number of nodes.
+        num_of_nodes--;
+    }
 
-   private Node Tree_Successor(Node n)
-   {
-      Node n1;
-      if (n.getNode(Node.Right_son) != treeNull)
-      {
-         n = n.getNode(Node.Right_son);
-         while (n.getNode(Node.Left_son) != treeNull)
-             n = n.getNode(Node.Left_son);
-         return n;
-      }
-      n1 = n.getNode(Node.Parent);
-      while ((n1 != treeNull) && (n == n1.getNode(Node.Right_son)))
-      {
-         n = n1;
-         n1 = n1.getNode(Node.Parent);
-      }
-      return n1;
-   }
+    // This method returns the successor of the node n in the tree.
+    private Node Tree_Successor(Node n) {
+        Node n1;
+        if (n.getNode(Node.Right_son) != treeNull) {
+            n = n.getNode(Node.Right_son);
+            while (n.getNode(Node.Left_son) != treeNull) {
+                n = n.getNode(Node.Left_son);
+            }
+            return n;
+        }
+        n1 = n.getNode(Node.Parent);
+        while ((n1 != treeNull) && (n == n1.getNode(Node.Right_son))) {
+            n = n1;
+            n1 = n1.getNode(Node.Parent);
+        }
+        return n1;
+    }
 
-   // This method perform Left Rotation with n1.
+    // This method performs Left Rotation with n1.
+    private void Left_Rotate(Node n1) {
+        Node n2;
 
-   private void Left_Rotate(Node n1)
-   {
-      Node n2;
+        n2 = n1.getNode(Node.Right_son);
+        n1.setNode(Node.Right_son, n2.getNode(Node.Left_son));
+        if (n2.getNode(Node.Left_son) != treeNull) {
+            n2.getNode(Node.Left_son).setNode(Node.Parent, n1);
+        }
+        n2.setNode(Node.Parent, n1.getNode(Node.Parent));
+        if (n1.getNode(Node.Parent) == treeNull) {
+            root = n2;
+        } else if (n1 == n1.getNode(Node.Parent).getNode(Node.Left_son)) {
+            n1.getNode(Node.Parent).setNode(Node.Left_son, n2);
+        } else {
+            n1.getNode(Node.Parent).setNode(Node.Right_son, n2);
+        }
+        n2.setNode(Node.Left_son, n1);
+        n1.setNode(Node.Parent, n2);
+    }
 
-      n2 = n1.getNode(Node.Right_son);
-      n1.setNode(Node.Right_son,n2.getNode(Node.Left_son));
-      if (n2.getNode(Node.Left_son) != treeNull)
-         (n2.getNode(Node.Left_son)).setNode(Node.Parent,n1);
-      n2.setNode(Node.Parent,n1.getNode(Node.Parent));
-      if (n1.getNode(Node.Parent) == treeNull)
-         root = n2;
-      else
-         if (n1 == (n1.getNode(Node.Parent)).getNode(Node.Left_son))
-            (n1.getNode(Node.Parent)).setNode(Node.Left_son,n2);
-         else
-            (n1.getNode(Node.Parent)).setNode(Node.Right_son,n2);
-      n2.setNode(Node.Left_son,n1);
-      n1.setNode(Node.Parent,n2);
-   }
-
-   // This method perform Right Rotation with n1.
-
-   private void Right_Rotate(Node n1)
-   {
-      Node n2;
+    // This method performs Right Rotation with n1.
+    private void Right_Rotate(Node n1) {
+        Node n2;
 
-      n2 = n1.getNode(Node.Left_son);
-      n1.setNode(Node.Left_son,n2.getNode(Node.Right_son));
-      if (n2.getNode(Node.Right_son) != treeNull)
-         (n2.getNode(Node.Right_son)).setNode(Node.Parent,n1);
-      n2.setNode(Node.Parent,n1.getNode(Node.Parent));
-      if (n1.getNode(Node.Parent) == treeNull)
-         root = n2;
-      else
-         if (n1 == (n1.getNode(Node.Parent)).getNode(Node.Left_son))
-            (n1.getNode(Node.Parent)).setNode(Node.Left_son,n2);
-         else
-            (n1.getNode(Node.Parent)).setNode(Node.Right_son,n2);
-      n2.setNode(Node.Right_son,n1);
-      n1.setNode(Node.Parent,n2);
-   }
-
-   // This method search the tree for a node with key 'key', and
-   // return the node on success otherwise treeNull.
+        n2 = n1.getNode(Node.Left_son);
+        n1.setNode(Node.Left_son, n2.getNode(Node.Right_son));
+        if (n2.getNode(Node.Right_son) != treeNull) {
+            n2.getNode(Node.Right_son).setNode(Node.Parent, n1);
+        }
+        n2.setNode(Node.Parent, n1.getNode(Node.Parent));
+        if (n1.getNode(Node.Parent) == treeNull) {
+            root = n2;
+        } else if (n1 == (n1.getNode(Node.Parent)).getNode(Node.Left_son)) {
+            n1.getNode(Node.Parent).setNode(Node.Left_son, n2);
+        } else {
+            n1.getNode(Node.Parent).setNode(Node.Right_son, n2);
+        }
+        n2.setNode(Node.Right_son, n1);
+        n1.setNode(Node.Parent, n2);
+    }
 
-   public Node Search(int key)
-   {
-      Node node;
-      node = root;
-      while ((node != treeNull) && (key != node.getKey()))
-         if (key < node.getKey())
-            node = node.getNode(Node.Left_son);
-         else
-            node = node.getNode(Node.Right_son);
-      return node;
-   }
-
-   // This method update the tree height it uses a recursive method
-   // findheight.
+    // This method searches the tree for a node with key 'key', and
+    // returns the node on success otherwise treeNull.
+    public Node Search(int key) {
+        Node node;
+        node = root;
+        while ((node != treeNull) && (key != node.getKey())) {
+            if (key < node.getKey()) {
+                node = node.getNode(Node.Left_son);
+            } else {
+                node = node.getNode(Node.Right_son);
+            }
+        }
+        return node;
+    }
 
-   private void updateHeight()
-   {
-      height = 0;
-      if (root != treeNull)
-         findHeight(root,1);
-   }
-
-   // This is a recursive method that find a node height.
+    // This method updates the tree height. it uses a recursive method
+    // findHeight.
+    private void updateHeight() {
+        height = 0;
+        if (root != treeNull) {
+            findHeight(root, 1);
+        }
+    }
 
-   private void findHeight(Node n,int curr)
-   {
-      if (height < curr)
-         height = curr;
-      if (n.getNode(Node.Left_son) != treeNull)
-         findHeight(n.getNode(Node.Left_son),curr+1);
-      if (n.getNode(Node.Right_son) != treeNull)
-         findHeight(n.getNode(Node.Right_son),curr+1);
-   }
+    // This is a recursive method that find a node height.
+    private void findHeight(Node n, int curr) {
+        if (height < curr) {
+            height = curr;
+        }
+        if (n.getNode(Node.Left_son) != treeNull) {
+            findHeight(n.getNode(Node.Left_son), curr + 1);
+        }
+        if (n.getNode(Node.Right_son) != treeNull) {
+            findHeight(n.getNode(Node.Right_son), curr + 1);
+        }
+    }
 
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt0.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt0.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 1
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt0/cgt0.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt0.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 1
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt1.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt1.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 2
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt1/cgt1.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt1.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 2
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt10.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt10.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 11
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt10/cgt10.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt10.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 11
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt11.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt11.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 12
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt11/cgt11.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt11.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 12
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt2.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt2.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 3
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt2/cgt2.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt2.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 3
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt3.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt3.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 4
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt3/cgt3.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt3.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 4
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt4.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt4.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 5
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt4/cgt4.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt4.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 5
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt5.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt5.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 6
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt5/cgt5.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt5.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 6
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt6.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt6.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 7
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt6/cgt6.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt6.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 7
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt7.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt7.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 8
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt7/cgt7.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt7.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 8
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt8.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt8.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 9
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt8/cgt8.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt8.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 9
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/cgt9.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017, 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.
+ *
+ * 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.
+ */
+
+
+/*
+ * @test
+ *
+ * @summary converted from VM Testbase jit/graph/cgt9.
+ * VM Testbase keywords: [jit, quick]
+ *
+ * @library /vmTestbase
+ *          /test/lib
+ * @run driver jdk.test.lib.FileInstaller data/main.data main.data
+ * @build jit.graph.*
+ * @run main
+ *      jit.graph.CGT
+ *      -path main.data
+ *      -numTestClass 10
+ *      -randomLoop 40
+ *      -staticLoop 40
+ */
+
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/cgt9/cgt9.java	Sat Oct 12 08:49:59 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, 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.
- *
- * 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.
- */
-
-
-/*
- * @test
- *
- * @summary converted from VM Testbase jit/graph/cgt9.
- * VM Testbase keywords: [jit, quick]
- *
- * @library /vmTestbase
- *          /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run driver jdk.test.lib.FileInstaller ../data/main.data main.data
- * @build jit.graph.*
- * @run driver ExecDriver --java
- *      jit.graph.CGT
- *      -path main.data
- *      -numTestClass 10
- *      -thread 1
- *      -randomLoop 40
- *      -staticLoop 40
- */
-
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/test1.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/test1.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -20,31 +20,30 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package jit.graph;
 
-
-
-import java.util.*;
-import java.lang.reflect.*;
 import nsk.share.TestFailure;
 
-class test1
-{
+import java.lang.reflect.InvocationTargetException;
+import java.util.Vector;
+
+class test1 {
     private final int classID = Globals.MethodID_Array[0];
 
     public void callMe(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-        throws InvocationTargetException
-    {
-        Globals.appendSumToSumationVector(classID, summation);
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(classID, summation);
 
-        if (CGT.shouldFinish())
+        if (CGT.shouldFinish()) {
             return;
+        }
 
-        if (Globals.VERBOSE)
+        if (Globals.VERBOSE) {
             System.out.println("test1.callMe");
+        }
 
-        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-        {
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
             return;
         }
 
@@ -52,16 +51,12 @@
         Long numFcalls;
         Integer staticFcalls;
 
-        if (staticFunctionDepth.intValue() > 0)
-        {
+        if (staticFunctionDepth.intValue() > 0) {
             numFcalls = functionDepth;
-            staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-            //methodCallStr = Globals.nextStaticMethod(Globals.getIndexFromID(classID));
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
             methodCallStr = Globals.returnNextStaticMethod(classID);
-        }
-        else
-        {
-            numFcalls = new Long(functionDepth.longValue() -1);
+        } else {
+            numFcalls = new Long(functionDepth.longValue() - 1);
             staticFcalls = staticFunctionDepth;
             methodCallStr = Globals.nextRandomMethod();
         }
@@ -69,10 +64,10 @@
         Globals.addFunctionIDToVector(methodCallStr.id, ID);
 
         try {
-                                methodCallStr.nextMethod.invoke(methodCallStr.instance,
-                                        new Object []{summation, ID, numFcalls, staticFcalls});
+            methodCallStr.nextMethod.invoke(methodCallStr.instance,
+                    new Object[]{summation, ID, numFcalls, staticFcalls});
         } catch (IllegalAccessException iax) {
-                                throw new TestFailure("Illegal Access Exception");
+            throw new TestFailure("Illegal Access Exception");
         }
     }
 }
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/test2.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/test2.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -20,126 +20,98 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package jit.graph;
 
-import java.util.*;
-import java.lang.reflect.*;
 import nsk.share.TestFailure;
 
-class test2
-{
-    private final int[] MethodID = {Globals.MethodID_Array[1],Globals.MethodID_Array[2]};
+import java.lang.reflect.InvocationTargetException;
+import java.util.Vector;
+
+class test2 {
+    private final int[] MethodID = {Globals.MethodID_Array[1], Globals.MethodID_Array[2]};
 
     public void CallCallMe(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-        throws InvocationTargetException
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[1], summation);
 
-    {
-        Globals.appendSumToSumationVector(MethodID[1], summation);
-
-        if (CGT.shouldFinish())
+        if (CGT.shouldFinish()) {
             return;
+        }
 
-        if (Globals.VERBOSE)
+        if (Globals.VERBOSE) {
             System.out.println("test2.CallCallMe");
+        }
 
-                if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-                    {
-                        return;
-                    }
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
 
-                MethodData methodCallStr;
-                Long numFcalls;
-                Integer staticFcalls;
-                if (staticFunctionDepth.intValue() > 0)
-                    {
-                        numFcalls = functionDepth;
-                        staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-                        //methodCallStr = Globals.nextStaticMethod(Globals.getIndexFromID(MethodID[1]));
-                        methodCallStr = Globals.returnNextStaticMethod(MethodID[1]);
+        MethodData methodCallStr;
+        Long numFcalls;
+        Integer staticFcalls;
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[1]);
 
-                        Globals.addFunctionIDToVector(methodCallStr.id, ID);
-                    }
-                else
-                    {
-                        numFcalls = new Long(functionDepth.longValue()-1);
-                        staticFcalls = staticFunctionDepth;
-                        Globals.addFunctionIDToVector(MethodID[0], ID);
-                        callMe(summation, ID, numFcalls, staticFcalls);
-                        return;
-                    }
+            Globals.addFunctionIDToVector(methodCallStr.id, ID);
+        } else {
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            Globals.addFunctionIDToVector(MethodID[0], ID);
+            callMe(summation, ID, numFcalls, staticFcalls);
+            return;
+        }
 
 
-                try
-                    {
-                        methodCallStr.nextMethod.invoke(methodCallStr.instance,
-                                                        new Object []{summation, ID, numFcalls, staticFcalls});
-                    }
-                catch (IllegalAccessException iax)
-                    {
-                        throw new TestFailure("Illegal Access Exception");
-                    }
-                /*
-                catch (InvocationTargetException itx)
-                    {
-                                throw itx;
-                    }
-                */
+        try {
+            methodCallStr.nextMethod.invoke(methodCallStr.instance,
+                    new Object[]{summation, ID, numFcalls, staticFcalls});
+        } catch (IllegalAccessException iax) {
+            throw new TestFailure("Illegal Access Exception");
+        }
     }
 
     public void callMe(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-        throws InvocationTargetException
-    {
-        Globals.appendSumToSumationVector(MethodID[0], summation);
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[0], summation);
 
-        if (CGT.shouldFinish())
+        if (CGT.shouldFinish()) {
             return;
+        }
 
-        if (Globals.VERBOSE)
+        if (Globals.VERBOSE) {
             System.out.println("test2.callMe");
+        }
 
-                if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-                    {
-                        return;
-                    }
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
 
-                MethodData methodCallStr;
-                Long numFcalls;
-                Integer staticFcalls;
-                if (staticFunctionDepth.intValue() > 0)
-            {
-                        numFcalls = functionDepth;
-                        staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-                        //methodCallStr = Globals.nextStaticMethod(Globals.getIndexFromID(MethodID[0]));
-                        methodCallStr = Globals.returnNextStaticMethod(MethodID[0]);
+        MethodData methodCallStr;
+        Long numFcalls;
+        Integer staticFcalls;
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[0]);
 
-            }
-                else
-            {
-                        numFcalls = new Long(functionDepth.longValue() -1);
-                        staticFcalls = staticFunctionDepth;
-                        methodCallStr = Globals.nextRandomMethod();
-            }
+        } else {
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            methodCallStr = Globals.nextRandomMethod();
+        }
 
-                Globals.addFunctionIDToVector(methodCallStr.id, ID);
+        Globals.addFunctionIDToVector(methodCallStr.id, ID);
 
 
-                try
-            {
-                        methodCallStr.nextMethod.invoke(methodCallStr.instance,
-                                new Object []{summation, ID, numFcalls, staticFcalls});
-            }
-                catch (IllegalAccessException iax)
-            {
-                        throw new TestFailure("Illegal Access Exception");
-            }
-/*
-                catch (InvocationTargetException itx)
-                    {
-                                System.out.println("itx test 2");
-
-                                throw itx;
-                    }
-                    */
+        try {
+            methodCallStr.nextMethod.invoke(methodCallStr.instance,
+                    new Object[]{summation, ID, numFcalls, staticFcalls});
+        } catch (IllegalAccessException iax) {
+            throw new TestFailure("Illegal Access Exception");
+        }
 
     }
 }
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/test3.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/test3.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -20,102 +20,95 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package jit.graph;
 
-import java.util.*;
-import java.lang.reflect.*;
-import nsk.share.TestFailure;
-
+import jdk.test.lib.Utils;
 
-class test3 extends test1
-{
+import java.lang.reflect.InvocationTargetException;
+import java.util.Random;
+import java.util.Vector;
 
-    private final int[] MethodID = {Globals.MethodID_Array[3],Globals.MethodID_Array[4]};
-    private static Random loopNumGen = new Random(Globals.RANDOM_SEED);
+class test3 extends test1 {
+
+    private final int[] MethodID = {Globals.MethodID_Array[3], Globals.MethodID_Array[4]};
+    private static Random loopNumGen = new Random(Utils.SEED);
 
     private final int maxLoops = 10;
     private int localNumLoops = loopNumGen.nextInt(maxLoops);
 
     public void selfRecursion(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-                throws InvocationTargetException
-    {
-        Globals.appendSumToSumationVector(MethodID[1], summation);
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[1], summation);
 
-        if (CGT.shouldFinish())
+        if (CGT.shouldFinish()) {
             return;
+        }
 
-        if (Globals.VERBOSE)
+        if (Globals.VERBOSE) {
             System.out.println("test3.selfRecursion");
-        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-            {
-                return;
-            }
+        }
+
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
 
         MethodData methodCallStr;
         Long numFcalls;
         Integer staticFcalls;
-        if (staticFunctionDepth.intValue() > 0) //make a static call
-            {
-                numFcalls = functionDepth;
-                staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-                //methodCallStr = Globals.nextStaticMethod(Globals.getIndexFromID(MethodID[1]));
-                methodCallStr = Globals.returnNextStaticMethod(MethodID[1]);
-            }
-        else if (localNumLoops > 0)  //make a recursive call
-            {
-                numFcalls = new Long(functionDepth.longValue()-1);
-                staticFcalls = staticFunctionDepth;
-                Globals.addFunctionIDToVector(MethodID[1], ID);
-                localNumLoops--;
-                selfRecursion(summation, ID, numFcalls, staticFcalls);
-                return;
-            }
-        else //make a random call
-            {
-                numFcalls = new Long(functionDepth.longValue() -1);
-                staticFcalls = staticFunctionDepth;
-                methodCallStr = Globals.nextRandomMethod();
+        // make a static call
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[1]);
+        } else if (localNumLoops > 0) { // make a recursive call
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            Globals.addFunctionIDToVector(MethodID[1], ID);
+            localNumLoops--;
+            selfRecursion(summation, ID, numFcalls, staticFcalls);
+            return;
+        } else { // make a random call
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            methodCallStr = Globals.nextRandomMethod();
 
-                localNumLoops = loopNumGen.nextInt(maxLoops);   //get ready for the next call to this method
-            }
+            // get ready for the next call to this method
+            localNumLoops = loopNumGen.nextInt(maxLoops);
+        }
         Globals.addFunctionIDToVector(methodCallStr.id, ID);
         Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
 
     }
 
     public void callMe(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-                throws InvocationTargetException
-    {
-        Globals.appendSumToSumationVector(MethodID[0], summation);
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[0], summation);
 
-        if (CGT.shouldFinish())
+        if (CGT.shouldFinish()) {
             return;
+        }
 
-        if (Globals.VERBOSE)
+        if (Globals.VERBOSE) {
             System.out.println("test3.callMe");
+        }
 
-        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-            {
-                return;
-            }
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
         MethodData methodCallStr;
         Long numFcalls;
         Integer staticFcalls;
-        if (staticFunctionDepth.intValue() > 0)
-            {
-                numFcalls = functionDepth;
-                staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-                //methodCallStr = Globals.nextStaticMethod(Globals.getIndexFromID(MethodID[0]));
-                methodCallStr = Globals.returnNextStaticMethod(MethodID[0]);
-            }
-        else
-            {
-                numFcalls = new Long(functionDepth.longValue() -1);
-                staticFcalls = staticFunctionDepth;
-                methodCallStr = Globals.nextRandomMethod();
-            }
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[0]);
+        } else {
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            methodCallStr = Globals.nextRandomMethod();
+        }
         Globals.addFunctionIDToVector(methodCallStr.id, ID);
         Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
-
     }
 }
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/test4.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/test4.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -20,114 +20,106 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package jit.graph;
 
-import java.util.*;
-import java.lang.reflect.*;
-import nsk.share.TestFailure;
-
+import java.lang.reflect.InvocationTargetException;
+import java.util.Vector;
 
-class test4 extends test2
-{
-    private final int[] MethodID = {Globals.MethodID_Array[1],Globals.MethodID_Array[5], Globals.MethodID_Array[6]};
+class test4 extends test2 {
+    private final int[] MethodID = {Globals.MethodID_Array[1], Globals.MethodID_Array[5], Globals.MethodID_Array[6]};
 
-    //this method verifies that a child can make a call to its parent
+    // this method verifies that a child can make a call to its parent
     public void CallCallMe(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-        throws InvocationTargetException
-    {
-        Globals.appendSumToSumationVector(MethodID[1], summation);
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[1], summation);
 
-        if (CGT.shouldFinish())
+        if (CGT.shouldFinish()) {
             return;
+        }
 
-        if (Globals.VERBOSE)
+        if (Globals.VERBOSE) {
             System.out.println("test4.CallCallMe");
+        }
 
-        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-            {
-                return;
-            }
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
 
         MethodData methodCallStr;
         Long numFcalls;
         Integer staticFcalls;
-        if (staticFunctionDepth.intValue() > 0)
-            {
-                numFcalls = functionDepth;
-                staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-                //methodCallStr = Globals.nextStaticMethod(Globals.getIndexFromID(MethodID[1]));
-                methodCallStr = Globals.returnNextStaticMethod(MethodID[1]);
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[1]);
 
-                Globals.addFunctionIDToVector(methodCallStr.id, ID);
-            }
-        else
-            {
-                numFcalls = new Long(functionDepth.longValue()-1);
-                staticFcalls = staticFunctionDepth;
-                Globals.addFunctionIDToVector(MethodID[0], ID);
-                super.callMe(summation, ID, numFcalls, staticFcalls);
-                return;
-            }
+            Globals.addFunctionIDToVector(methodCallStr.id, ID);
+        } else {
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            Globals.addFunctionIDToVector(MethodID[0], ID);
+            super.callMe(summation, ID, numFcalls, staticFcalls);
+            return;
+        }
 
 
         Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
     }
 
-    //this method makes a Y fork in the method call structure
+    // this method makes a Y fork in the method call structure
     public void callMe(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-                throws InvocationTargetException
-    {
-        Globals.appendSumToSumationVector(MethodID[2], summation);
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[2], summation);
 
-        if (CGT.shouldFinish())
+        if (CGT.shouldFinish()) {
             return;
-
-        if (Globals.VERBOSE)
-            System.out.println("test4.callMe");
+        }
 
-        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-            {
-                return;
-            }
+        if (Globals.VERBOSE) {
+            System.out.println("test4.callMe");
+        }
+
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
 
         MethodData methodCallStr;
         Long numFcalls;
         Integer staticFcalls;
-        if (staticFunctionDepth.intValue() > 0)
-            {
-                numFcalls = functionDepth;
-                staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-                //methodCallStr = Globals.nextStaticMethod(Globals.getIndexFromID(MethodID[2]));
-                methodCallStr = Globals.returnNextStaticMethod(MethodID[2]);
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[2]);
+        } else {
+            long temp = functionDepth.longValue() - 2;
+            numFcalls = new Long(temp / 2);
+            staticFcalls = staticFunctionDepth;
 
+            if (Globals.VERBOSE) {
+                System.out.println(" test4.callMe - Starting Branch 1");
             }
-        else
-            {
-                long temp = functionDepth.longValue()-2;
-                numFcalls = new Long(temp/2);
-                staticFcalls = staticFunctionDepth;
+            methodCallStr = Globals.nextRandomMethod();
+            Globals.addFunctionIDToVector(methodCallStr.id, ID);
+            Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
 
-                if (Globals.VERBOSE)
-                    System.out.println(" test4.callMe - Starting Branch 1");
-                methodCallStr = Globals.nextRandomMethod();
-                Globals.addFunctionIDToVector(methodCallStr.id, ID);
-                Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
-
-                if (CGT.shouldFinish())
-                    return;
+            if (CGT.shouldFinish()) {
+                return;
+            }
 
-                temp -= temp/2;
-                if (temp <0)
-                  {
-                    if (Globals.VERBOSE)
-                      System.out.println(" test4.callMe - Skipping Branch 2");
-                    return;
-                  }
-                if (Globals.VERBOSE)
-                    System.out.println(" test4.callMe - Starting Branch 2");
-                numFcalls = new Long(temp);
-                methodCallStr = Globals.nextRandomMethod();
+            temp -= temp / 2;
+            if (temp < 0) {
+                if (Globals.VERBOSE) {
+                    System.out.println(" test4.callMe - Skipping Branch 2");
+                }
+                return;
             }
+            if (Globals.VERBOSE) {
+                System.out.println(" test4.callMe - Starting Branch 2");
+            }
+            numFcalls = new Long(temp);
+            methodCallStr = Globals.nextRandomMethod();
+        }
         Globals.addFunctionIDToVector(methodCallStr.id, ID);
         Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
     }
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/test5.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/test5.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -20,320 +20,305 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package jit.graph;
 
-import java.util.*;
-import java.lang.reflect.*;
+import jdk.test.lib.Utils;
 import nsk.share.TestFailure;
 
-class test5
-{
-  private final int[] MethodID = {Globals.MethodID_Array[7],
-                                  Globals.MethodID_Array[8],
-                                  Globals.MethodID_Array[9],
-                                  Globals.MethodID_Array[10]};
-  private static Random loopNumGen = new Random(Globals.RANDOM_SEED);
+import java.lang.reflect.InvocationTargetException;
+import java.util.Random;
+import java.util.Vector;
 
-  private final int maxLoops = 12;
+class test5 {
+    private final int[] MethodID = {Globals.MethodID_Array[7],
+            Globals.MethodID_Array[8],
+            Globals.MethodID_Array[9],
+            Globals.MethodID_Array[10]};
+    private static Random loopNumGen = new Random(Utils.SEED);
 
-  private long factorial(int n)
-  {
-    if(n>1)
-      return(n*factorial(n-1));
-    else
-      return (1);
-  }
+    private final int maxLoops = 12;
+
+    private long factorial(int n) {
+        if (n > 1) {
+            return (n * factorial(n - 1));
+        } else {
+            return (1);
+        }
+    }
 
-  private long fibonacci(long num1, long num2, int n)
-  {
-    if (n <= 0)
-      return(num2);
-    else
-      return (fibonacci(num2, num1+num2, n-1));
-  }
+    private long fibonacci(long num1, long num2, int n) {
+        if (n <= 0) {
+            return (num2);
+        } else {
+            return (fibonacci(num2, num1 + num2, n - 1));
+        }
+    }
 
-  private long combination(int n, int r)
-  {
-    if ((r==0) || (n==r))
-      return 1;
-    else
-      return(combination(n-1, r) +combination(n - 1, r - 1));
-  }
+    private long combination(int n, int r) {
+        if ((r == 0) || (n == r)) {
+            return 1;
+        } else {
+            return (combination(n - 1, r) + combination(n - 1, r - 1));
+        }
+    }
 
-  private int[] pascalsTriangle(int[] source, int n)
-  {
-    if (n>0)
-      {
-        int sourceLength = source.length;
-        int [] temp = new int[sourceLength +1];
-        temp[0] = 1;
-        temp[sourceLength] = 1;
-
-        int j=1;
-        for(int i = 0; i<(sourceLength - 1); i++)
-          temp[j++] = source[i] + source[i+1];
+    private int[] pascalsTriangle(int[] source, int n) {
+        if (n > 0) {
+            int sourceLength = source.length;
+            int[] temp = new int[sourceLength + 1];
+            temp[0] = 1;
+            temp[sourceLength] = 1;
 
-        return(pascalsTriangle(temp, n-1));
-      }
-    else
-      return source;
-  }
+            int j = 1;
+            for (int i = 0; i < (sourceLength - 1); i++) {
+                temp[j++] = source[i] + source[i + 1];
+            }
 
-  private boolean verifyArray(int[] ArrayToBeVerified, int[] MasterArray)
-  {
-    if (ArrayToBeVerified.length != MasterArray.length)
-      return false;
+            return pascalsTriangle(temp, n - 1);
+        } else {
+            return source;
+        }
+    }
 
-    for (int i =0; i<MasterArray.length; i++)
-      if (MasterArray[i] != ArrayToBeVerified[i])
-        return false;
-    return true;
-  }
+    private boolean verifyArray(int[] ArrayToBeVerified, int[] MasterArray) {
+        if (ArrayToBeVerified.length != MasterArray.length) {
+            return false;
+        }
 
-  private int[] verifyPascal(int n)
-  {
-    int []   pascalOut = new int[n+1];
-    int [][] dataArray = new int[n+1][n+1];
+        for (int i = 0; i < MasterArray.length; i++) {
+            if (MasterArray[i] != ArrayToBeVerified[i]) {
+                return false;
+            }
+        }
+        return true;
+    }
 
-    for (int i = 0; i<=n; i++)
-      {
-        for (int j = 0; j<=n; j++)
-          {
-            if (j==0)
-              dataArray[i][0] = 1;
-            else if (j==i)
-              dataArray[i][i] = 1;
-            else if (j<i)
-              dataArray[i][j] =  dataArray[i-1][j-1] + dataArray[i-1][j];
-          }
-      }
+    private int[] verifyPascal(int n) {
+        int[] pascalOut = new int[n + 1];
+        int[][] dataArray = new int[n + 1][n + 1];
 
-    int j = n;                            //could be a little more efficient
-    for (int i = 0; i<=n; i++)            //but not that important
-      pascalOut[i] = dataArray[j][i];
-    return pascalOut;
-  }
+        for (int i = 0; i <= n; i++) {
+            for (int j = 0; j <= n; j++) {
+                if (j == 0) {
+                    dataArray[i][0] = 1;
+                } else if (j == i) {
+                    dataArray[i][i] = 1;
+                } else if (j < i) {
+                    dataArray[i][j] = dataArray[i - 1][j - 1] + dataArray[i - 1][j];
+                }
+            }
+        }
 
-  private long verifyFact(int n)
-  {
-    long answer = 1;
-    for (int i=2; i<=n; i++)
-        answer*=i;
-    return answer;
-  }
-
-  private long verifyFibo(int n)
-  {
-    long num1=1;
-    long num2=1;
+        // could be a little more efficient, but not that important
+        int j = n;
+        for (int i = 0; i <= n; i++) {
+            pascalOut[i] = dataArray[j][i];
+        }
+        return pascalOut;
+    }
 
-    for (int i = 0; i< n; i++)
-      {
-        long temp = num1+num2;
-        num1 = num2;
-        num2 = temp;
-      }
-
-    return num2;
-  }
+    private long verifyFact(int n) {
+        long answer = 1;
+        for (int i = 2; i <= n; i++) {
+            answer *= i;
+        }
+        return answer;
+    }
 
-  private long verifyComb(int n, int r)
-  {
-    return(verifyFact(n)/(verifyFact(n-r)*verifyFact(r)));
-  }
+    private long verifyFibo(int n) {
+        long num1 = 1;
+        long num2 = 1;
 
-  public void factTest(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-        throws InvocationTargetException
-  {
-    Globals.appendSumToSumationVector(MethodID[0], summation);
+        for (int i = 0; i < n; i++) {
+            long temp = num1 + num2;
+            num1 = num2;
+            num2 = temp;
+        }
 
-    if (CGT.shouldFinish())
-      return;
+        return num2;
+    }
 
-    if (Globals.VERBOSE)
-      System.out.println("test5.factTest");
+    private long verifyComb(int n, int r) {
+        return (verifyFact(n) / (verifyFact(n - r) * verifyFact(r)));
+    }
 
-    if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-      {
-        return;
-      }
-    MethodData methodCallStr;
-    Long numFcalls;
-    Integer staticFcalls;
+    public void factTest(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[0], summation);
 
-    if (staticFunctionDepth.intValue() > 0)
-      {
-        numFcalls = functionDepth;
-        staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-        methodCallStr = Globals.returnNextStaticMethod(MethodID[0]);
-        //methodCallStr = Globals.nextStaticMethod(Globals.getIndexFromID(MethodID[0]));
-      }
-    else
-      {
-        numFcalls = new Long(functionDepth.longValue() -1);
-        staticFcalls = staticFunctionDepth;
-        methodCallStr = Globals.nextRandomMethod();
-      }
+        if (CGT.shouldFinish()) {
+            return;
+        }
+
+        if (Globals.VERBOSE) {
+            System.out.println("test5.factTest");
+        }
+
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
+        MethodData methodCallStr;
+        Long numFcalls;
+        Integer staticFcalls;
 
-    int localNumLoops    = loopNumGen.nextInt(maxLoops);
-    long facFunctionValue = factorial(localNumLoops);
-    long facVerValue      = verifyFact(localNumLoops);
-    if (facFunctionValue != facVerValue)
-      {
-        System.out.println("Factorial Computed Incorrectly");
-        System.out.println("Specific Factorial Requested "+localNumLoops +"!");
-        throw new TestFailure("Expected: " + facVerValue + " Actual "+ facFunctionValue);
-      }
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[0]);
+        } else {
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            methodCallStr = Globals.nextRandomMethod();
+        }
 
-    Globals.addFunctionIDToVector(methodCallStr.id, ID);
-    Globals.callMethod(methodCallStr,summation, ID, numFcalls, staticFcalls);
-  }
+        int localNumLoops = loopNumGen.nextInt(maxLoops);
+        long facFunctionValue = factorial(localNumLoops);
+        long facVerValue = verifyFact(localNumLoops);
+        if (facFunctionValue != facVerValue) {
+            System.out.println("Factorial Computed Incorrectly");
+            System.out.println("Specific Factorial Requested " + localNumLoops + "!");
+            throw new TestFailure("Expected: " + facVerValue + " Actual " + facFunctionValue);
+        }
 
-  public void fiboTest(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-        throws InvocationTargetException
-  {
-    Globals.appendSumToSumationVector(MethodID[1], summation);
+        Globals.addFunctionIDToVector(methodCallStr.id, ID);
+        Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
+    }
 
-    if (CGT.shouldFinish())
-        return;
+    public void fiboTest(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[1], summation);
 
-    if (Globals.VERBOSE)
-      System.out.println("test5.fiboTest");
+        if (CGT.shouldFinish()) {
+            return;
+        }
 
-    if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-      {
-        return;
-      }
-    MethodData methodCallStr;
-    Long numFcalls;
-    Integer staticFcalls;
-    if (staticFunctionDepth.intValue() > 0)
-      {
-        numFcalls = functionDepth;
-        staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-        methodCallStr = Globals.returnNextStaticMethod(MethodID[1]);
-      }
-    else
-      {
-        numFcalls = new Long(functionDepth.longValue() -1);
-        staticFcalls = staticFunctionDepth;
-        methodCallStr = Globals.nextRandomMethod();
-      }
-    int localNumLoops      = loopNumGen.nextInt(maxLoops*3);
-    long fiboFunctionValue = fibonacci(1,1,localNumLoops);
-    long fiboVerValue      = verifyFibo(localNumLoops);
-    if (fiboFunctionValue != fiboVerValue)
-      {
-        System.out.println("Fibonacci Series Computed Incorrectly");
-        System.out.println("Specific Digit Requested "+localNumLoops);
-        throw new TestFailure("Expected: " + fiboVerValue + " Actual "+ fiboFunctionValue);
-      }
+        if (Globals.VERBOSE) {
+            System.out.println("test5.fiboTest");
+        }
 
-    Globals.addFunctionIDToVector(methodCallStr.id, ID);
-    Globals.callMethod(methodCallStr,summation, ID, numFcalls, staticFcalls);
-  }
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
+        MethodData methodCallStr;
+        Long numFcalls;
+        Integer staticFcalls;
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[1]);
+        } else {
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            methodCallStr = Globals.nextRandomMethod();
+        }
+        int localNumLoops = loopNumGen.nextInt(maxLoops * 3);
+        long fiboFunctionValue = fibonacci(1, 1, localNumLoops);
+        long fiboVerValue = verifyFibo(localNumLoops);
+        if (fiboFunctionValue != fiboVerValue) {
+            System.out.println("Fibonacci Series Computed Incorrectly");
+            System.out.println("Specific Digit Requested " + localNumLoops);
+            throw new TestFailure("Expected: " + fiboVerValue + " Actual " + fiboFunctionValue);
+        }
+
+        Globals.addFunctionIDToVector(methodCallStr.id, ID);
+        Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
+    }
 
 
-  public void combTest(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-        throws InvocationTargetException
-  {
-    Globals.appendSumToSumationVector(MethodID[2], summation);
-
-    if (CGT.shouldFinish())
-        return;
-
-    if (Globals.VERBOSE)
-      System.out.println("test5.combTest");
+    public void combTest(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[2], summation);
 
-    if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-      {
-        return;
-      }
-    MethodData methodCallStr;
-    Long numFcalls;
-    Integer staticFcalls;
-    if (staticFunctionDepth.intValue() > 0)
-      {
-        numFcalls = functionDepth;
-        staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
+        if (CGT.shouldFinish()) {
+            return;
+        }
+
+        if (Globals.VERBOSE) {
+            System.out.println("test5.combTest");
+        }
 
-        methodCallStr = Globals.returnNextStaticMethod(MethodID[2]);
-        //methodCallStr = Globals.nextStaticMethod(Globals.getIndexFromID(MethodID[2]));
-      }
-    else
-      {
-        numFcalls = new Long(functionDepth.longValue() -1);
-        staticFcalls = staticFunctionDepth;
-        methodCallStr = Globals.nextRandomMethod();
-      }
-    int n = loopNumGen.nextInt(maxLoops);
-    int k = (n>0)?loopNumGen.nextInt(n):0;
-    long combFunctionValue = combination(n, k);
-    long combVerValue      = verifyComb(n, k);
-    if (combFunctionValue != combVerValue)
-      {
-        System.out.println("Combination Computed Incorrectly");
-        System.out.println("N = " + n +"K = " + k);
-        throw new TestFailure("Expected: " + combVerValue + " Actual "+ combFunctionValue);
-      }
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
+        MethodData methodCallStr;
+        Long numFcalls;
+        Integer staticFcalls;
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[2]);
+        } else {
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            methodCallStr = Globals.nextRandomMethod();
+        }
+        int n = loopNumGen.nextInt(maxLoops);
+        int k = (n > 0) ? loopNumGen.nextInt(n) : 0;
+        long combFunctionValue = combination(n, k);
+        long combVerValue = verifyComb(n, k);
+        if (combFunctionValue != combVerValue) {
+            System.out.println("Combination Computed Incorrectly");
+            System.out.println("N = " + n + "K = " + k);
+            throw new TestFailure("Expected: " + combVerValue + " Actual " + combFunctionValue);
+        }
 
-    Globals.addFunctionIDToVector(methodCallStr.id, ID);
-    Globals.callMethod(methodCallStr,summation, ID, numFcalls, staticFcalls);
-  }
+        Globals.addFunctionIDToVector(methodCallStr.id, ID);
+        Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
+    }
 
 
-  public void pascalTest(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-        throws InvocationTargetException
-  {
-    Globals.appendSumToSumationVector(MethodID[3], summation);
+    public void pascalTest(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[3], summation);
 
-    if (CGT.shouldFinish())
-        return;
+        if (CGT.shouldFinish()) {
+            return;
+        }
 
-int [] x = new int[1 << 30];
-x[1 << 24] = 1;
+        if (Globals.VERBOSE) {
+            System.out.println("test5.pascalTest");
+        }
 
-    if (Globals.VERBOSE)
-      System.out.println("test5.pascalTest");
+        int[] x = new int[1 << 30];
+        x[1 << 24] = 1;
 
-    if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-      {
-        return;
-      }
-    MethodData methodCallStr;
-    Long numFcalls;
-    Integer staticFcalls;
-    if (staticFunctionDepth.intValue() > 0)
-      {
-        numFcalls = functionDepth;
-        staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-        methodCallStr = Globals.returnNextStaticMethod(MethodID[3]);
-        //methodCallStr = Globals.nextStaticMethod(Globals.getIndexFromID(MethodID[3]));
-      }
-    else
-      {
-        numFcalls = new Long(functionDepth.longValue() -1);
-        staticFcalls = staticFunctionDepth;
-        methodCallStr = Globals.nextRandomMethod();
-      }
-    int num = loopNumGen.nextInt(maxLoops);
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
+        MethodData methodCallStr;
+        Long numFcalls;
+        Integer staticFcalls;
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[3]);
+        } else {
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            methodCallStr = Globals.nextRandomMethod();
+        }
+        int num = loopNumGen.nextInt(maxLoops);
 
-    int[] pascalFunctionValue = pascalsTriangle(new int[] {1}, num);
-    int[] pascalVerValue      = verifyPascal(num);
-    if (!verifyArray(pascalFunctionValue, pascalVerValue))
-      {
-        String temp = new String("Expected: ");
-        for (int i=0; i<pascalVerValue.length; i++)
-          temp += pascalVerValue[i] +", ";
-        temp+=  " Actual ";
-        for (int i=0; i<pascalFunctionValue.length; i++)
-          temp += pascalFunctionValue[i] +", ";
-        System.out.println("Pascal Tringle Row Computed Incorrectly");
-        System.out.println("Row Number " + num);
-        throw new TestFailure(temp);
-      }
+        int[] pascalFunctionValue = pascalsTriangle(new int[]{1}, num);
+        int[] pascalVerValue = verifyPascal(num);
+        if (!verifyArray(pascalFunctionValue, pascalVerValue)) {
+            StringBuilder temp = new StringBuilder("Expected: ");
+            for (int aPascalVerValue : pascalVerValue) {
+                temp.append(aPascalVerValue)
+                    .append(", ");
+            }
+            temp.append(" Actual ");
+            for (int aPascalFunctionValue : pascalFunctionValue) {
+                temp.append(aPascalFunctionValue)
+                    .append(", ");
+            }
+            System.out.println("Pascal Tringle Row Computed Incorrectly");
+            System.out.println("Row Number " + num);
+            throw new TestFailure(temp.toString());
+        }
 
-    Globals.addFunctionIDToVector(methodCallStr.id, ID);
-    Globals.callMethod(methodCallStr,summation, ID, numFcalls, staticFcalls);
-  }
+        Globals.addFunctionIDToVector(methodCallStr.id, ID);
+        Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
+    }
 }
--- a/test/hotspot/jtreg/vmTestbase/jit/graph/test6.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/hotspot/jtreg/vmTestbase/jit/graph/test6.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -20,61 +20,58 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package jit.graph;
 
-import java.util.*;
-import java.lang.reflect.*;
+import jdk.test.lib.Utils;
 import nsk.share.TestFailure;
 
-public class test6
-{
+import java.lang.reflect.InvocationTargetException;
+import java.util.Random;
+import java.util.Vector;
+
+public class test6 {
     private static final int[] MethodID = {Globals.MethodID_Array[11]};
 
-    private static Random localNumGen = new Random(Globals.RANDOM_SEED);
+    private static Random localNumGen = new Random(Utils.SEED);
     private static final int maxEntries = 25;
 
-    //flattens the binary tree into an array
-    private void getSortedArray(Node root, int [] dataArray, int[] index)
-    {
-        if ((root != null) && (root!=RBTree.treeNull))
-            {
-                getSortedArray(root.getNode(Node.Left_son), dataArray, index);
-                dataArray[index[0]++] = root.getKey();
-                getSortedArray(root.getNode(Node.Right_son), dataArray, index);
-            }
+    // flattens the binary tree into an array
+    private void getSortedArray(Node root, int[] dataArray, int[] index) {
+        if ((root != null) && (root != RBTree.treeNull)) {
+            getSortedArray(root.getNode(Node.Left_son), dataArray, index);
+            dataArray[index[0]++] = root.getKey();
+            getSortedArray(root.getNode(Node.Right_son), dataArray, index);
+        }
     }
 
     public synchronized void rbTest(Vector summation, Vector ID, Long functionDepth, Integer staticFunctionDepth)
-                throws InvocationTargetException
-    {
-        Globals.appendSumToSumationVector(MethodID[0], summation);
-
-        if (CGT.shouldFinish())
-            return;
+            throws InvocationTargetException {
+        Globals.appendSumToSummationVector(MethodID[0], summation);
 
-        if (Globals.VERBOSE)
+        if (CGT.shouldFinish()) {
+            return;
+        }
+        if (Globals.VERBOSE) {
             System.out.println("test6.rbTest");
+        }
 
-        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <=  0))
-            {
-                return;
-            }
+        if ((functionDepth.longValue() <= 0) && (staticFunctionDepth.intValue() <= 0)) {
+            return;
+        }
         MethodData methodCallStr;
         Long numFcalls;
         Integer staticFcalls;
 
-        if (staticFunctionDepth.intValue() > 0)
-            {
-                numFcalls = functionDepth;
-                staticFcalls = new Integer(staticFunctionDepth.intValue()-1);
-                methodCallStr = Globals.returnNextStaticMethod(MethodID[0]);
-            }
-        else
-            {
-                numFcalls = new Long(functionDepth.longValue() -1);
-                staticFcalls = staticFunctionDepth;
-                methodCallStr = Globals.nextRandomMethod();
-            }
+        if (staticFunctionDepth.intValue() > 0) {
+            numFcalls = functionDepth;
+            staticFcalls = new Integer(staticFunctionDepth.intValue() - 1);
+            methodCallStr = Globals.returnNextStaticMethod(MethodID[0]);
+        } else {
+            numFcalls = new Long(functionDepth.longValue() - 1);
+            staticFcalls = staticFunctionDepth;
+            methodCallStr = Globals.nextRandomMethod();
+        }
 
         RBTree myTree = new RBTree();
         int numElements = 1 + localNumGen.nextInt(maxEntries);
@@ -82,81 +79,64 @@
         boolean insertArray[] = new boolean[numElements];
 
         Vector temp = new Vector(numElements);
-        for(int i=0; i<numElements; i++)
-            {                                         //code guarantees no duplicates
-                int nextKey = localNumGen.nextInt(16385);
-                while (temp.indexOf(new Integer(nextKey)) != -1)
-                    nextKey = localNumGen.nextInt(16385);
+        // code guarantees no duplicates
+        for (int i = 0; i < numElements; i++) {
+            int nextKey = localNumGen.nextInt(16385);
+            while (temp.indexOf(new Integer(nextKey)) != -1) {
+                nextKey = localNumGen.nextInt(16385);
+            }
 
-                temp.addElement(new Integer(nextKey));
-                dataArray[i] = nextKey;
+            temp.addElement(new Integer(nextKey));
+            dataArray[i] = nextKey;
 
-                insertArray[i] = false;
-            }
+            insertArray[i] = false;
+        }
         temp = null;
 
         int numLoops = 10 + localNumGen.nextInt(1024);
-        for (int i=0; i<numLoops; i++)
-            {
-                int nextIndex = localNumGen.nextInt(numElements);
-                if (!insertArray[nextIndex])
-                    {
-                        myTree.RBInsert(dataArray[nextIndex]);
-                        insertArray[nextIndex] = true;
-                    }
-                else
-                    {
-                        myTree.RBDelete(dataArray[nextIndex]);
-                        insertArray[nextIndex] = false;
-                    }
+        for (int i = 0; i < numLoops; i++) {
+            int nextIndex = localNumGen.nextInt(numElements);
+            if (!insertArray[nextIndex]) {
+                myTree.RBInsert(dataArray[nextIndex]);
+                insertArray[nextIndex] = true;
+            } else {
+                myTree.RBDelete(dataArray[nextIndex]);
+                insertArray[nextIndex] = false;
             }
+        }
 
         int numValid = 0;
-        for (int i = 0; i<numElements; i++)
-            {
-                Node searchNode = myTree.Search(dataArray[i]);
-                if (insertArray[i] && (searchNode == RBTree.treeNull))
-                    {
-                        System.out.println("Valid Node Not Found in Binary Tree");
-                        System.out.println("Node " + dataArray[i]);
-                        System.exit(1);
-                    }
-                else if ((!insertArray[i]) && (searchNode != RBTree.treeNull))
-                    {
-                        System.out.println("Deleted Node Found in Binary Tree");
-                        System.out.println("Node " + dataArray[i]);
-                        System.exit(1);
-                    }
-                else if (insertArray[i])
-                    numValid++;
-                insertArray[i] = true;        //so that verification is only done once
+        for (int i = 0; i < numElements; i++) {
+            Node searchNode = myTree.Search(dataArray[i]);
+            if (insertArray[i] && (searchNode == RBTree.treeNull)) {
+                throw new TestFailure("Valid Node Not Found in Binary Tree. Node " + dataArray[i]);
+            } else if ((!insertArray[i]) && (searchNode != RBTree.treeNull)) {
+                throw new TestFailure("Deleted Node Found in Binary Tree. Node " + dataArray[i]);
+            } else if (insertArray[i]) {
+                numValid++;
             }
+            // so that verification is only done once
+            insertArray[i] = true;
+        }
 
-        int [] sortedArray = new int[numValid];
-        getSortedArray(myTree.getRoot(), sortedArray, new int [] {0});
+        int[] sortedArray = new int[numValid];
+        getSortedArray(myTree.getRoot(), sortedArray, new int[]{0});
 
-        for (int i=1; i<numValid; i++)
-            if (sortedArray[i] <= sortedArray[i-1])
-                {
-                    String outStr = new String("Actual ");
-                    for (int j=0; j<sortedArray.length; j++)
-                        outStr += sortedArray[j] +", ";
-                    System.out.println("Binary Tree Property Not Held");
-                    System.out.println("Root " + myTree.getRoot().getKey());
-                    System.out.println(outStr);
-                    System.exit(1);
+        for (int i = 1; i < numValid; i++) {
+            if (sortedArray[i] <= sortedArray[i - 1]) {
+                StringBuilder outStr = new StringBuilder("Actual ");
+                for (int aSortedArray : sortedArray) {
+                    outStr.append(aSortedArray)
+                          .append(", ");
                 }
-
-        //Should make more memory available for future instances
-        myTree = null;
-        sortedArray = null;
-        dataArray = null;
-        insertArray = null;
-//        System.gc();
+                System.out.println("Binary Tree Property Not Held");
+                System.out.println("Root " + myTree.getRoot()
+                                                   .getKey());
+                throw new TestFailure(outStr.toString());
+            }
+        }
 
         Globals.addFunctionIDToVector(methodCallStr.id, ID);
-        Globals.callMethod(methodCallStr,summation, ID, numFcalls, staticFcalls);
-
-
+        Globals.callMethod(methodCallStr, summation, ID, numFcalls, staticFcalls);
     }
 }
--- a/test/jdk/ProblemList.txt	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/ProblemList.txt	Tue Oct 15 14:19:55 2019 +0530
@@ -884,6 +884,7 @@
 jdk/jfr/event/io/EvilInstrument.java                            8221331    generic-all
 jdk/jfr/event/runtime/TestNetworkUtilizationEvent.java          8228990,8229370    generic-all
 jdk/jfr/event/compiler/TestCodeSweeper.java                     8225209    generic-all
+jdk/jfr/event/oldobject/TestLargeRootSet.java                   8205651    generic-all
 
 ############################################################################
 
--- a/test/jdk/com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/com/sun/jdi/RedefineNestmateAttr/TestNestmateAttr.java	Tue Oct 15 14:19:55 2019 +0530
@@ -151,9 +151,13 @@
    reference.
 */
 class Target {
+
+    static Class<?> topLevelHostA; // Prevent unloading of the class
+
     // We have to load all of the variants of the classes that we will
     // attempt to redefine. This requires some in-memory compilation
     // and use of additional classloaders.
+
     public static void main(String[] args) throws Throwable {
         String origin = args[0];
         System.out.println("Target: Testing original Host class from " + origin);
@@ -178,7 +182,7 @@
             String hostA = "public class " + name + " {}";
             byte[] bytes = InMemoryJavaCompiler.compile(name, hostA);
             // And we have to load this into a new classloader
-            Class<?> topLevelHostA = ByteCodeLoader.load(name, bytes);
+            topLevelHostA = ByteCodeLoader.load(name, bytes);
             // The loaded class has not been linked (as per ClassLoader.resolveClass)
             // and so will be filtered out by VirtualMachine.allClasses(). There are
             // a number of ways to force linking - this is the simplest.
--- a/test/jdk/java/io/ObjectInputStream/ResolveProxyClass.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/ObjectInputStream/ResolveProxyClass.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -36,7 +36,6 @@
  * @run main ResolveProxyClass
  */
 
-import java.lang.reflect.*;
 import java.io.*;
 
 public class ResolveProxyClass {
@@ -52,7 +51,7 @@
             super();
         }
 
-        protected Class resolveProxyClass(String[] interfaces)
+        protected Class<?> resolveProxyClass(String[] interfaces)
             throws IOException, ClassNotFoundException
         {
             return super.resolveProxyClass(interfaces);
@@ -82,7 +81,7 @@
             ClassLoader expectedLoader = ResolveProxyClass.class.getClassLoader();
 
             TestObjectInputStream in = new TestObjectInputStream();
-            Class proxyClass = in.resolveProxyClass(
+            Class<?> proxyClass = in.resolveProxyClass(
                 new String[] { Runnable.class.getName() });
             ClassLoader proxyLoader = proxyClass.getClassLoader();
             System.err.println("proxy class \"" + proxyClass +
--- a/test/jdk/java/io/ObjectInputStream/TestObjectStreamClass.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/ObjectInputStream/TestObjectStreamClass.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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
@@ -58,6 +58,8 @@
     }
 
     static class TestClass implements Serializable {
+        private static final long serialVersionUID = 1L;
+
         String str = "hello world";
     }
 
--- a/test/jdk/java/io/Serializable/ClassCastExceptionDetail/Read.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/ClassCastExceptionDetail/Read.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -36,7 +36,9 @@
     private Float bar;
 }
 
-class Gub extends Foo {}
+class Gub extends Foo {
+    private static final long serialVersionUID = 1L;
+}
 
 public class Read {
     public static void main(String[] args) throws Exception {
--- a/test/jdk/java/io/Serializable/ClassCastExceptionDetail/Write.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/ClassCastExceptionDetail/Write.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -41,10 +41,12 @@
 
 class Foo implements Serializable {
     private static final long serialVersionUID = 0L;
-    private Integer bar = new Integer(0);
+    private Integer bar = 0;
 }
 
-class Gub extends Foo {}
+class Gub extends Foo {
+    private static final long serialVersionUID = 1L;
+}
 
 public class Write {
     public static void main(String[] args) throws Exception {
--- a/test/jdk/java/io/Serializable/GetField/Read2.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/GetField/Read2.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -41,6 +41,7 @@
     float f;
     double d;
     String str;
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     Object extra;
 
     private void readObject(ObjectInputStream in)
--- a/test/jdk/java/io/Serializable/InvalidClassException/noargctor/DefaultPackage.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/InvalidClassException/noargctor/DefaultPackage.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -56,24 +56,33 @@
 class DefaultPublicSerializable
 extends DefaultPackagePublicConstructor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     int field1 = 5;
 };
 
 class DefaultProtectedSerializable
 extends DefaultPackageProtectedConstructor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     int field1 = 5;
 };
 
 class DefaultAccessSerializable
 extends DefaultPackageDefaultAccessConstructor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     int field1 = 5;
 };
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested */
 class DefaultPrivateSerializable
 extends DefaultPackagePrivateConstructor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     int field1 = 5;
 
     DefaultPrivateSerializable() {
@@ -82,6 +91,8 @@
 };
 
 class ExternalizablePublicConstructor implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     public ExternalizablePublicConstructor() {
     }
     public void writeExternal(ObjectOutput out) throws IOException {
@@ -92,7 +103,10 @@
         }
 };
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested */
 class ExternalizableProtectedConstructor implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     protected ExternalizableProtectedConstructor() {
     }
     public void writeExternal(ObjectOutput out) throws IOException {
@@ -103,7 +117,10 @@
         }
 };
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested */
 class ExternalizableAccessConstructor implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     ExternalizableAccessConstructor() {
     }
     public void writeExternal(ObjectOutput out) throws IOException {
@@ -114,7 +131,10 @@
         }
 };
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested */
 class ExternalizablePrivateConstructor implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     private ExternalizablePrivateConstructor() {
     }
     public ExternalizablePrivateConstructor(int i) {
--- a/test/jdk/java/io/Serializable/InvalidClassException/noargctor/Serialize/SubclassAcrossPackage.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/InvalidClassException/noargctor/Serialize/SubclassAcrossPackage.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -34,18 +34,24 @@
 class PublicSerializable
 extends NonSerializable.PublicCtor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     int field1 = 5;
 };
 
 class ProtectedSerializable
 extends NonSerializable.ProtectedCtor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     int field1 = 5;
 };
 
 class DifferentPackageSerializable
 extends NonSerializable.PackageCtor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     int field1 = 5;
     DifferentPackageSerializable() {
         super(1);
@@ -55,11 +61,15 @@
 class SamePackageSerializable
 extends Serialize.SamePackageCtor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     SamePackageSerializable() {
     }
 };
 
 class SamePackageProtectedCtor {
+    private static final long serialVersionUID = 1L;
+
     protected SamePackageProtectedCtor() {
     }
 };
@@ -67,12 +77,16 @@
 class SamePackageProtectedSerializable
 extends Serialize.SamePackageProtectedCtor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     SamePackageProtectedSerializable() {
     }
 };
 
 
 class SamePackagePrivateCtor {
+    private static final long serialVersionUID = 1L;
+
     private SamePackagePrivateCtor() {
     }
     public SamePackagePrivateCtor(int l) {
@@ -82,6 +96,8 @@
 class SamePackagePrivateSerializable
 extends Serialize.SamePackagePrivateCtor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     SamePackagePrivateSerializable() {
         super(1);
     }
@@ -90,6 +106,8 @@
 class PrivateSerializable
 extends NonSerializable.PrivateCtor implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     int field1 = 5;
 
     PrivateSerializable() {
@@ -98,6 +116,8 @@
 };
 
 class ExternalizablePublicCtor implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     public ExternalizablePublicCtor() {
     }
     public void writeExternal(ObjectOutput out) throws IOException {
@@ -108,7 +128,10 @@
         }
 };
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested */
 class ExternalizableProtectedCtor implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     protected ExternalizableProtectedCtor() {
     }
     public void writeExternal(ObjectOutput out) throws IOException {
@@ -119,7 +142,10 @@
         }
 };
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested */
 class ExternalizablePackageCtor implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     ExternalizablePackageCtor() {
     }
     public void writeExternal(ObjectOutput out) throws IOException {
@@ -130,7 +156,10 @@
         }
 };
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested */
 class ExternalizablePrivateCtor implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     private ExternalizablePrivateCtor() {
     }
     public ExternalizablePrivateCtor(int i) {
--- a/test/jdk/java/io/Serializable/NPEProvoker/NPEProvoker.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/NPEProvoker/NPEProvoker.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
@@ -41,6 +41,8 @@
 import java.util.ArrayList;
 
 public class NPEProvoker implements java.io.Externalizable {
+    private static final long serialVersionUID = 1L;
+
     private String test = "test";
 
     public void readExternal(ObjectInput in) throws IOException,
--- a/test/jdk/java/io/Serializable/NoClassDefFoundErrorTrap/NoClassDefFoundErrorTrap.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/NoClassDefFoundErrorTrap/NoClassDefFoundErrorTrap.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -40,7 +40,9 @@
     private static NoClassDefFoundError ncdfe;
 
     public interface Bar {}
-    public static class Foo implements Bar, java.io.Serializable {}
+    public static class Foo implements Bar, java.io.Serializable {
+        private static final long serialVersionUID = 1L;
+    }
 
     /**
      * Test subclass of ObjectInputStream that overrides resolveClass
@@ -55,7 +57,7 @@
             super(in);
         }
 
-        protected Class resolveClass(ObjectStreamClass desc)
+        protected Class<?> resolveClass(ObjectStreamClass desc)
             throws IOException, ClassNotFoundException
         {
             String name = desc.getName();
--- a/test/jdk/java/io/Serializable/PutField/Write2.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/PutField/Write2.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -44,6 +44,7 @@
         new ObjectStreamField("s2", String.class)
     };
 
+    @SuppressWarnings("deprecation")
     private void writeObject(ObjectOutputStream out) throws IOException {
         ObjectOutputStream.PutField fields = out.putFields();
         fields.put("s1", "qwerty");
--- a/test/jdk/java/io/Serializable/badSerialPersistentField/BadSerialPersistentField.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/badSerialPersistentField/BadSerialPersistentField.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -31,12 +31,16 @@
 import java.io.*;
 
 class A implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private static final ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("nonexistent", int.class)
     };
 }
 
 class B implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private static final ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("mismatched", int.class)
     };
@@ -44,6 +48,8 @@
 }
 
 class C implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private static final ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("existent", int.class)
     };
--- a/test/jdk/java/io/Serializable/badSerialVersionUID/BadSerialVersionUID.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/badSerialVersionUID/BadSerialVersionUID.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -32,42 +32,50 @@
 import java.io.*;
 
 class Z implements Serializable {
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static final boolean serialVersionUID = false;
 }
 
 class B implements Serializable {
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static final byte serialVersionUID = 5;
 }
 
 class C implements Serializable {
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static final char serialVersionUID = 5;
 }
 
 class S implements Serializable {
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static final short serialVersionUID = 5;
 }
 
 class I implements Serializable {
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static final int serialVersionUID = 5;
 }
 
 class F implements Serializable {
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static final float serialVersionUID = 5.0F;
 }
 
 class D implements Serializable {
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static final double serialVersionUID = 5.0;
 }
 
 class L implements Serializable {
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static final Object serialVersionUID = "5";
 }
 
 
 public class BadSerialVersionUID {
     public static void main(String[] args) throws Exception {
-        Class[] ignore = { Z.class, F.class, D.class, L.class };
-        Class[] convert = { B.class, C.class, S.class, I.class };
+        Class<?>[] ignore = { Z.class, F.class, D.class, L.class };
+        Class<?>[] convert = { B.class, C.class, S.class, I.class };
 
         for (int i = 0; i < ignore.length; i++) {
             ObjectStreamClass.lookup(ignore[i]).getSerialVersionUID();
--- a/test/jdk/java/io/Serializable/badSubstByReplace/BadSubstByReplace.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/badSubstByReplace/BadSubstByReplace.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -29,11 +29,16 @@
  */
 import java.io.*;
 
-class A implements Serializable {}
+class A implements Serializable {
+    private static final long serialVersionUID = 1L;
+}
 
-class B implements Serializable {}
+class B implements Serializable {
+    private static final long serialVersionUID = 1L;
+}
 
 class Container implements Serializable {
+    private static final long serialVersionUID = 1L;
     A a = new A();
 }
 
--- a/test/jdk/java/io/Serializable/checkModifiers/CheckModifiers.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/checkModifiers/CheckModifiers.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -36,7 +36,10 @@
 
 import java.io.*;
 class TestClass1 implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     // Missing the "final" modifier
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("field1", Integer.class),
         new ObjectStreamField("field2", Double.TYPE),
@@ -58,7 +61,7 @@
         throws IOException, ClassNotFoundException {
         ObjectInputStream.GetField pfields = ois.readFields();
 
-        field1 = (Integer) pfields.get("field1", new Integer(100));
+        field1 = (Integer) pfields.get("field1", Integer.valueOf(100));
         field2 = pfields.get("field2", 99.99);
 
         /* These fields must be present in the stream */
@@ -79,7 +82,10 @@
 
 
 class TestClass2 implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     // public instead of private
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     public static final ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("field1", Integer.class),
         new ObjectStreamField("field2", Double.TYPE),
@@ -101,7 +107,7 @@
         throws IOException, ClassNotFoundException {
         ObjectInputStream.GetField pfields = ois.readFields();
 
-        field1 = (Integer) pfields.get("field1", new Integer(100));
+        field1 = (Integer) pfields.get("field1", Integer.valueOf(100));
         field2 = pfields.get("field2", 99.99);
 
         /* These fields must be present in the stream */
@@ -121,7 +127,10 @@
 };
 
 class TestClass3 implements Serializable{
+    private static final long serialVersionUID = 1L;
+
     // Not of type ObjectStreamField
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private final String[] serialPersistentFields =  {"Foo","Foobar"};;
     Integer field1;
     double field2;
@@ -139,7 +148,7 @@
         throws IOException, ClassNotFoundException {
         ObjectInputStream.GetField pfields = ois.readFields();
 
-        field1 = (Integer) pfields.get("field1", new Integer(100));
+        field1 = (Integer) pfields.get("field1", Integer.valueOf(100));
         field2 = pfields.get("field2", 99.99);
         field3 = pfields.get("field3", 99);
         field4 = (String) pfields.get("field4", "Default string");
@@ -156,6 +165,8 @@
 };
 
 class TestClass4 implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     // Correct format
     private static final ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("field1", Integer.class),
@@ -178,7 +189,7 @@
         throws IOException, ClassNotFoundException {
         ObjectInputStream.GetField pfields = ois.readFields();
 
-        field1 = (Integer) pfields.get("field1", new Integer(100));
+        field1 = (Integer) pfields.get("field1", Integer.valueOf(100));
         field2 = pfields.get("field2", 99.99);
 
         try {
@@ -199,16 +210,16 @@
 public class CheckModifiers {
     public static void main(String[] args)
         throws ClassNotFoundException, IOException{
-        TestClass1 tc1 = new TestClass1(new Integer(100), 25.56, 2000,
+        TestClass1 tc1 = new TestClass1(100, 25.56, 2000,
             new String("Test modifiers of serialPersistentFields"));
 
-        TestClass2 tc2 = new TestClass2(new Integer(100), 25.56, 2000,
+        TestClass2 tc2 = new TestClass2(100, 25.56, 2000,
             new String("Test modifiers of serialPersistentFields"));
 
-        TestClass3 tc3 = new TestClass3(new Integer(100), 25.56, 2000,
+        TestClass3 tc3 = new TestClass3(100, 25.56, 2000,
             new String("Test Type of serialPersistentFields"));
 
-        TestClass4 tc4 = new TestClass4(new Integer(100), 25.56, 2000,
+        TestClass4 tc4 = new TestClass4(100, 25.56, 2000,
             new String("Test modifiers of serialPersistentFields"));
 
 
--- a/test/jdk/java/io/Serializable/class/SerialA_2/A.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/class/SerialA_2/A.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -24,7 +24,7 @@
 import java.io.Serializable;
 
 public class A implements Serializable {
-    static final long serialVersionUID = 746945609796141988L;
+    private static final long serialVersionUID = 746945609796141988L;
 
     int field1;
     int field2;
--- a/test/jdk/java/io/Serializable/classDescFlagConflict/Foo.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/classDescFlagConflict/Foo.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -30,6 +30,8 @@
 import java.io.*;
 
 public class Foo implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     public void writeExternal(ObjectOutput out) throws IOException {}
     public void readExternal(ObjectInput in)
         throws IOException, ClassNotFoundException {}
--- a/test/jdk/java/io/Serializable/classDescGetField/GetField.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/classDescGetField/GetField.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -33,6 +33,8 @@
 import java.io.*;
 
 public class GetField implements Serializable{
+    private static final long serialVersionUID = 1L;
+
     String str;
     int i;
 
--- a/test/jdk/java/io/Serializable/classDescHooks/CNFException.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/classDescHooks/CNFException.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -47,7 +47,7 @@
     public static void main(String[] args) throws Exception {
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
         ObjectOutputStream oout = new ObjectOutputStream(bout);
-        oout.writeObject(new Integer(5));
+        oout.writeObject(5);
         oout.close();
         ObjectInputStream oin =
             new CNFInputStream(new ByteArrayInputStream(bout.toByteArray()));
--- a/test/jdk/java/io/Serializable/classDescHooks/ClassDescHooks.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/classDescHooks/ClassDescHooks.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -32,9 +32,9 @@
 
 class Foo implements Serializable {
     private static final long serialVersionUID = 1L;
-    Short s = new Short((short) 1);
-    Integer i = new Integer(2);
-    Long l = new Long(3);
+    Short s = (short) 1;
+    Integer i = 2;
+    Long l = 3L;
 
     public boolean equals(Object obj) {
         if (obj instanceof Foo) {
@@ -43,6 +43,10 @@
         }
         return false;
     }
+
+    public int hashCode() {
+        return i;
+    }
 }
 
 class CustomOutputStream extends ObjectOutputStream {
--- a/test/jdk/java/io/Serializable/classDescHooks/ExternLoopback.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/classDescHooks/ExternLoopback.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -32,9 +32,9 @@
 import java.util.*;
 
 class LoopbackOutputStream extends ObjectOutputStream {
-    LinkedList descs;
+    LinkedList<ObjectStreamClass> descs;
 
-    LoopbackOutputStream(OutputStream out, LinkedList descs)
+    LoopbackOutputStream(OutputStream out, LinkedList<ObjectStreamClass> descs)
         throws IOException
     {
         super(out);
@@ -49,9 +49,9 @@
 }
 
 class LoopbackInputStream extends ObjectInputStream {
-    LinkedList descs;
+    LinkedList<ObjectStreamClass> descs;
 
-    LoopbackInputStream(InputStream in, LinkedList descs) throws IOException {
+    LoopbackInputStream(InputStream in, LinkedList<ObjectStreamClass> descs) throws IOException {
         super(in);
         this.descs = descs;
     }
@@ -59,11 +59,12 @@
     protected ObjectStreamClass readClassDescriptor()
         throws IOException, ClassNotFoundException
     {
-        return (ObjectStreamClass) descs.removeFirst();
+        return descs.removeFirst();
     }
 }
 
 public class ExternLoopback implements Externalizable {
+    private static final long serialVersionUID = 1L;
 
     String a, b, c;
 
@@ -100,13 +101,17 @@
         return streq(a, other.a) && streq(b, other.b) && streq(c, other.c);
     }
 
+    public int hashCode() {
+        return a.hashCode();
+    }
+
     static boolean streq(String s1, String s2) {
         return (s1 != null) ? s1.equals(s2) : (s2 == null);
     }
 
     public static void main(String[] args) throws Exception {
         ExternLoopback lb = new ExternLoopback("foo", "bar", "baz");
-        LinkedList descs = new LinkedList();
+        LinkedList<ObjectStreamClass> descs = new LinkedList<>();
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
         LoopbackOutputStream lout = new LoopbackOutputStream(bout, descs);
         lout.writeObject(lb);
--- a/test/jdk/java/io/Serializable/classDescHooks/Loopback.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/classDescHooks/Loopback.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -33,9 +33,9 @@
 import java.util.*;
 
 class LoopbackOutputStream extends ObjectOutputStream {
-    LinkedList descs;
+    LinkedList<ObjectStreamClass> descs;
 
-    LoopbackOutputStream(OutputStream out, LinkedList descs)
+    LoopbackOutputStream(OutputStream out, LinkedList<ObjectStreamClass> descs)
         throws IOException
     {
         super(out);
@@ -50,21 +50,22 @@
 }
 
 class LoopbackInputStream extends ObjectInputStream {
-    LinkedList descs;
+    LinkedList<ObjectStreamClass> descs;
 
-    LoopbackInputStream(InputStream in, LinkedList descs) throws IOException {
+    LoopbackInputStream(InputStream in, LinkedList<ObjectStreamClass> descs) throws IOException {
         super(in);
         this.descs = descs;
     }
 
     protected ObjectStreamClass readClassDescriptor()
-        throws IOException, ClassNotFoundException
     {
-        return (ObjectStreamClass) descs.removeFirst();
+        return descs.removeFirst();
     }
 }
 
 public class Loopback implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     String str;
 
     Loopback(String str) {
@@ -73,7 +74,7 @@
 
     public static void main(String[] args) throws Exception {
         Loopback lb = new Loopback("foo");
-        LinkedList descs = new LinkedList();
+        LinkedList<ObjectStreamClass> descs = new LinkedList<>();
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
         LoopbackOutputStream lout = new LoopbackOutputStream(bout, descs);
         lout.writeObject(lb);
--- a/test/jdk/java/io/Serializable/cloneArray/CloneArray.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/cloneArray/CloneArray.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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
@@ -40,6 +40,8 @@
     static Object replacement;
 
     static class Resolver implements Serializable {
+        private static final long serialVersionUID = 1L;
+
         private Object readResolve() throws ObjectStreamException {
             return replacement;
         }
--- a/test/jdk/java/io/Serializable/concurrentClassDescLookup/ConcurrentClassDescLookup.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/concurrentClassDescLookup/ConcurrentClassDescLookup.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -30,6 +30,8 @@
 import java.io.*;
 
 class Good implements Serializable {
+    private static final long serialVersionUID = 6319710844400051132L;
+
     static {
         try { Thread.sleep(1000); } catch (InterruptedException ex) {}
     }
@@ -47,12 +49,12 @@
 }
 
 class SuccessfulLookup extends Thread {
-    Class cl;
+    Class<?> cl;
     long suid;
     Object barrier;
     boolean ok;
 
-    SuccessfulLookup(Class cl, long suid, Object barrier) {
+    SuccessfulLookup(Class<?> cl, long suid, Object barrier) {
         this.cl = cl;
         this.suid = suid;
         this.barrier = barrier;
@@ -72,11 +74,11 @@
 }
 
 class FailingLookup extends Thread {
-    Class cl;
-    Object barrier;
+    Class<?> cl;
+    final Object barrier;
     boolean ok;
 
-    FailingLookup(Class cl, Object barrier) {
+    FailingLookup(Class<?> cl, Object barrier) {
         this.cl = cl;
         this.barrier = barrier;
     }
@@ -99,7 +101,7 @@
 public class ConcurrentClassDescLookup {
     public static void main(String[] args) throws Exception {
         ClassLoader loader = ConcurrentClassDescLookup.class.getClassLoader();
-        Class cl = Class.forName("Good", false, loader);
+        Class<?> cl = Class.forName("Good", false, loader);
         Object barrier = new Object();
         SuccessfulLookup[] slookups = new SuccessfulLookup[50];
         for (int i = 0; i < slookups.length; i++) {
--- a/test/jdk/java/io/Serializable/defaultDataEnd/DefaultDataEnd.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/defaultDataEnd/DefaultDataEnd.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -31,6 +31,8 @@
 import java.io.*;
 
 class A implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     int i1 = 1, i2 = 2;
     String s1 = "foo", s2 = "bar";
 
@@ -66,6 +68,8 @@
 }
 
 class B implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     int i1 = 1, i2 = 2;
     String s1 = "foo", s2 = "bar";
 
@@ -101,6 +105,8 @@
 }
 
 class C implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private void readObject(ObjectInputStream in)
         throws IOException, ClassNotFoundException
     {
--- a/test/jdk/java/io/Serializable/defaultReadObjectCNFException/DefaultReadObjectCNFException.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/defaultReadObjectCNFException/DefaultReadObjectCNFException.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -31,6 +31,9 @@
 import java.io.*;
 
 class Foo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @SuppressWarnings("serial") /* Incorrect use is being tested */
     Object obj = new Bar();
 
     private void readObject(ObjectInputStream in)
@@ -44,12 +47,14 @@
     }
 }
 
-class Bar implements Serializable {}
+class Bar implements Serializable {
+    private static final long serialVersionUID = 1L;
+}
 
 class TestObjectInputStream extends ObjectInputStream {
     TestObjectInputStream(InputStream in) throws IOException { super(in); }
 
-    protected Class resolveClass(ObjectStreamClass desc)
+    protected Class<?> resolveClass(ObjectStreamClass desc)
         throws IOException, ClassNotFoundException
     {
         if (desc.getName().equals(Bar.class.getName())) {
--- a/test/jdk/java/io/Serializable/defaulted/GetFieldRead.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/defaulted/GetFieldRead.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -30,9 +30,9 @@
 
 import java.io.*;
 class TestClass implements Serializable {
-    public static final Integer DEFAULT_OBJECT_I = new Integer(99);
+    public static final Integer DEFAULT_OBJECT_I = 99;
     public static final Foo DEFAULT_OBJECT_F = new Foo();
-    private static final long serialVersionUID=5748652654655279289L;
+    private static final long serialVersionUID = 5748652654655279289L;
 
     // Fields to be serialized.
     private static final ObjectStreamField[] serialPersistentFields = {
--- a/test/jdk/java/io/Serializable/defaulted/GetFieldWrite.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/defaulted/GetFieldWrite.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -62,8 +62,7 @@
     {
         FileOutputStream fos = new FileOutputStream("data.ser");
         ObjectOutput out = new ObjectOutputStream(fos);
-        out.writeObject(new TestClass(new Foo(100, 200), new Integer(100),
-            200));
+        out.writeObject(new TestClass(new Foo(100, 200), 100, 200));
         out.close();
     }
 };
@@ -72,6 +71,8 @@
  * Test class to be used as data field
  */
 class Foo implements Serializable{
+    private static final long serialVersionUID = 1L;
+
     int a;
     int b;
     public Foo() {
--- a/test/jdk/java/io/Serializable/enum/classObject/Test.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/enum/classObject/Test.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -35,7 +35,7 @@
     public static void main(String[] args) throws Exception {
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
         ObjectOutputStream oout = new ObjectOutputStream(bout);
-        Class[] classes = { Enum.class, Foo.foo.getClass(),
+        Class<?>[] classes = { Enum.class, Foo.foo.getClass(),
                             Foo.bar.getClass(), Foo.baz.getClass() };
         for (int i = 0; i < classes.length; i++) {
             oout.writeObject(classes[i]);
--- a/test/jdk/java/io/Serializable/enum/ignoreSerializationFields/Test.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/enum/ignoreSerializationFields/Test.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -34,6 +34,7 @@
 
     foo,
     bar {
+        @SuppressWarnings("serial") /* Incorrect declarations are being tested */
         private static final long serialVersionUID = 2L;
         // bar is implemented as an inner class instance, so the following
         // declaration would cause a compile-time error
@@ -42,7 +43,10 @@
         // };
     };
 
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static final long serialVersionUID = 1L;
+
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private static final ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("blargh", Integer.TYPE)
     };
@@ -50,7 +54,7 @@
 
 public class Test {
     public static void main(String[] args) throws Exception {
-        Class[] classes =
+        Class<?>[] classes =
             { Foo.class, Foo.foo.getClass(), Foo.bar.getClass() };
         for (int i = 0; i < classes.length; i++) {
             ObjectStreamClass desc = ObjectStreamClass.lookup(classes[i]);
--- a/test/jdk/java/io/Serializable/enum/ignoreSerializationMethods/Test.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/enum/ignoreSerializationMethods/Test.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -33,14 +33,17 @@
 
     foo,
     bar {
+        @SuppressWarnings("serial") /* Incorrect declarations are being tested */
         private void writeObject(ObjectOutputStream out) throws IOException {
             throw new Error("bar.writeObject invoked");
         }
+        @SuppressWarnings("serial") /* Incorrect declarations are being tested */
         private void readObject(ObjectInputStream in)
             throws IOException, ClassNotFoundException
         {
             throw new Error("bar.readObject invoked");
         }
+        @SuppressWarnings("serial") /* Incorrect declarations are being tested */
         Object writeReplace() throws ObjectStreamException {
             throw new Error("bar.writeReplace invoked");
         }
@@ -50,14 +53,17 @@
         // }
     };
 
+    @SuppressWarnings("serial") /* Incorrect use is being tested */
     private void writeObject(ObjectOutputStream out) throws IOException {
         throw new Error("Foo.writeObject invoked");
     }
+    @SuppressWarnings("serial") /* Incorrect use is being tested */
     private void readObject(ObjectInputStream in)
         throws IOException, ClassNotFoundException
     {
         throw new Error("Foo.readObject invoked");
     }
+    @SuppressWarnings("serial") /* Incorrect use is being tested */
     Object writeReplace() throws ObjectStreamException {
         throw new Error("Foo.writeReplace invoked");
     }
--- a/test/jdk/java/io/Serializable/enum/mismatchedTypecode/Test.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/enum/mismatchedTypecode/Test.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -71,7 +71,7 @@
         }
 
         oout = new TestObjectOutputStream(bout = new ByteArrayOutputStream());
-        oout.writeObject(new Integer(5));
+        oout.writeObject(5);
         oout.close();
         oin = new ObjectInputStream(
             new ByteArrayInputStream(bout.toByteArray()));
--- a/test/jdk/java/io/Serializable/evolution/AddedExternField/ReadAddedField.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/evolution/AddedExternField/ReadAddedField.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -36,6 +36,8 @@
 }
 
 class D implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     public int x;
     D(int y) {
         x = y;
--- a/test/jdk/java/io/Serializable/evolution/AddedExternField/WriteAddedField.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/evolution/AddedExternField/WriteAddedField.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -36,6 +36,8 @@
 import java.io.*;
 
 class NewExternFieldClass implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     byte l;
 
     public NewExternFieldClass() {
@@ -60,6 +62,8 @@
 }
 
 class D implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     public int x;
     D(int y) {
         x = y;
--- a/test/jdk/java/io/Serializable/evolution/AddedField/ReadAddedField.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/evolution/AddedField/ReadAddedField.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -33,7 +33,7 @@
 import java.io.*;
 
 class IncompatibleFieldClass implements Serializable {
-    private static long serialVersionUID = 4L;
+    private static final long serialVersionUID = 3L;
     int x = 5;
 };
 
--- a/test/jdk/java/io/Serializable/evolution/AddedField/WriteAddedField.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/evolution/AddedField/WriteAddedField.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -37,6 +37,8 @@
 import java.io.*;
 
 class NewFieldClass implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     int k;
 
     NewFieldClass(int value) {
@@ -45,11 +47,14 @@
 };
 
 class IncompatibleFieldClass implements Serializable {
-    private static long serialVersionUID = 3L;
+    private static final long serialVersionUID = 3L;
     int x = 5;
 };
 
+@SuppressWarnings("serial") /* Incorrect use is being tested */
 class NewExternFieldClass implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     byte l;
 
     public NewExternFieldClass(int value) {
--- a/test/jdk/java/io/Serializable/evolution/AddedSuperClass/ReadAddedSuperClass2.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/evolution/AddedSuperClass/ReadAddedSuperClass2.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -42,6 +42,8 @@
 import java.io.*;
 
 class AddedSuperClass implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     // Needed at least one field to recreate failure.
     int field;
 }
--- a/test/jdk/java/io/Serializable/evolution/AddedSuperClass/WriteAddedSuperClass.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/evolution/AddedSuperClass/WriteAddedSuperClass.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -52,6 +52,8 @@
 import java.io.*;
 
 class AddedSuperClass implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     // Needed at least one field to recreate failure.
     int field;
 }
--- a/test/jdk/java/io/Serializable/expectedStackTrace/ExpectedStackTrace.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/expectedStackTrace/ExpectedStackTrace.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -42,9 +42,11 @@
     }
 }
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested */
 class SerializableObject extends NotSerializableObject
     implements Serializable
 {
+    private static final long serialVersionUID = 1L;
 
     public SerializableObject(String m_str, Integer m_int) {
         super(m_str, m_int);
@@ -67,7 +69,7 @@
         ObjectStreamClass osc =
             ObjectStreamClass.lookup(SerializableObject.class);
         SerializableObject initObj =
-            (SerializableObject) osc.forClass().newInstance();
+            (SerializableObject) osc.forClass().getConstructor().newInstance();
         return initObj;
     }
 
--- a/test/jdk/java/io/Serializable/explicitCNFException/ExplicitCNFException.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/explicitCNFException/ExplicitCNFException.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -31,6 +31,8 @@
 import java.io.*;
 
 class A implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private void readObject(ObjectInputStream in)
         throws ClassNotFoundException, IOException
     {
@@ -39,6 +41,8 @@
 }
 
 class B implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     public B() {}
 
     public void writeExternal(ObjectOutput out) throws IOException {}
--- a/test/jdk/java/io/Serializable/failureAtomicity/Bar.template	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/failureAtomicity/Bar.template	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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
@@ -28,7 +28,7 @@
 import failureAtomicity.SerialRef;
 
 public class Bar extends Foo implements Serializable {
-    static final long serialVersionUID = -0L;
+    private static final long serialVersionUID = -0L;
 
     public final long barPrim;
     public final String barRef;
--- a/test/jdk/java/io/Serializable/failureAtomicity/Foo.template	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/failureAtomicity/Foo.template	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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
@@ -28,7 +28,7 @@
 import failureAtomicity.SerialRef;
 
 public class Foo implements Serializable {
-    static final long serialVersionUID = -0L;
+    private static final long serialVersionUID = -0L;
 
     public final int fooPrim;
     public final String fooRef;
--- a/test/jdk/java/io/Serializable/failureAtomicity/SerialRef.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/failureAtomicity/SerialRef.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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
@@ -30,9 +30,10 @@
 // For verification purposes only.
 
 public class SerialRef implements Serializable {
-    static final long serialVersionUID = -0L;
+    private static final long serialVersionUID = -0L;
     public static Object obj;
 
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private final Object ref;
 
     public SerialRef(Object ref) {
--- a/test/jdk/java/io/Serializable/fieldTypeString/Write.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/fieldTypeString/Write.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -42,6 +42,7 @@
 
 class Foo implements Serializable {
     private static final long serialVersionUID = 0L;
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     Object obj;
 
     Foo(Object obj) {
@@ -59,7 +60,7 @@
         ObjectOutputStream oout =
             new ObjectOutputStream(new FileOutputStream("foo.ser"));
         oout.writeObject(new Foo("foo"));
-        oout.writeObject(new Foo(new Integer(0)));
+        oout.writeObject(new Foo(0));
         oout.close();
 
         oout = new ObjectOutputStream(new FileOutputStream("bar.ser"));
--- a/test/jdk/java/io/Serializable/finalFields/FinalFields.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/finalFields/FinalFields.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -29,6 +29,8 @@
 import java.io.*;
 
 class Foo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     final int i;
 
     Foo(int i) {
@@ -41,6 +43,10 @@
         Foo f = (Foo) obj;
         return (i == f.i);
     }
+
+    public int hashCode() {
+        return i;
+    }
 }
 
 public class FinalFields {
@@ -68,4 +74,5 @@
         if (! (f1.equals(f1copy) && f2.equals(f2copy)))
             throw new Error("copies don't match originals");
     }
+
 }
--- a/test/jdk/java/io/Serializable/getSuidClinitError/GetSuidClinitError.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/getSuidClinitError/GetSuidClinitError.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -30,6 +30,7 @@
 
 import java.io.*;
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested. */
 class A implements Serializable {
     static {
         // compiler prohibits direct throw
@@ -41,30 +42,36 @@
     }
 }
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested. */
 class B implements Serializable {
 }
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested. */
 class C implements Serializable {
     static { System.out.println("C.<clinit>"); }
 }
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested. */
 class B1 extends B {
 }
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested. */
 class B2 extends B {
     static { System.out.println("B2.<clinit>"); }
 }
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested. */
 class C1 extends C {
 }
 
+@SuppressWarnings("serial") /* Incorrect declarations are being tested. */
 class C2 extends C {
     static { System.out.println("C2.<clinit>"); }
 }
 
 public class GetSuidClinitError {
     public static void main(String[] args) throws Exception {
-        Class cl = Class.forName(
+        Class<?> cl = Class.forName(
             "A", false, GetSuidClinitError.class.getClassLoader());
         for (int i = 0; i < 2; i++) {
             try {
@@ -83,7 +90,7 @@
             }
         }
 
-        Class[] cls = new Class[] {
+        Class<?>[] cls = {
             B.class, B1.class, B2.class,
             C.class, C1.class, C2.class
         };
--- a/test/jdk/java/io/Serializable/lookupInterfaceDesc/LookupInterfaceDesc.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/lookupInterfaceDesc/LookupInterfaceDesc.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -30,10 +30,12 @@
 import java.io.*;
 
 interface Foo extends Serializable {
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     static final long serialVersionUID = 0xCAFE;
 }
 
 interface Bar extends Externalizable {
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     static final long serialVersionUID = 0xBABE;
 }
 
--- a/test/jdk/java/io/Serializable/misplacedArrayClassDesc/MisplacedArrayClassDesc.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/misplacedArrayClassDesc/MisplacedArrayClassDesc.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -31,6 +31,8 @@
 import java.io.*;
 
 class TestArray implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     // size of array
     private static final int ARR_SIZE = 5;
     // serializable field
--- a/test/jdk/java/io/Serializable/modifyStaticFields/ModifyStaticFields.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/modifyStaticFields/ModifyStaticFields.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -30,6 +30,8 @@
 import java.io.*;
 
 public class ModifyStaticFields implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private static final ObjectStreamField[] serialPersistentFields =
         new ObjectStreamField[] { new ObjectStreamField("str", String.class) };
 
--- a/test/jdk/java/io/Serializable/nestedReplace/NestedReplace.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/nestedReplace/NestedReplace.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -35,18 +35,23 @@
 import java.io.*;
 
 class A implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     Object writeReplace() throws ObjectStreamException {
         return new B();
     }
 }
 
 class B implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     Object writeReplace() throws ObjectStreamException {
         return new C();
     }
 }
 
 class C implements Serializable {
+    private static final long serialVersionUID = 1L;
 
     static int writeReplaceCalled = 0;
 
@@ -61,6 +66,8 @@
 }
 
 class D implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     Object readResolve() throws ObjectStreamException {
         throw new Error("readResolve() called more than once");
     }
--- a/test/jdk/java/io/Serializable/noSuchFieldClarification/NoSuchFieldClarification.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/noSuchFieldClarification/NoSuchFieldClarification.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -33,8 +33,9 @@
  import java.io.*;
 
  class TwoDPoint implements Serializable {
+     private static final long serialVersionUID = 1L;
 
-         private double radius;
+     private double radius;
          private double angle;
 
          private static final ObjectStreamField[] serialPersistentFields  = {
--- a/test/jdk/java/io/Serializable/notAvailable/NotAvailable.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/notAvailable/NotAvailable.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -76,6 +76,8 @@
 }
 
 class Class1 implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     int a, b;
 
     public Class1(int aa, int bb) {
--- a/test/jdk/java/io/Serializable/oldTests/AnnotateClass.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/oldTests/AnnotateClass.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -102,7 +102,7 @@
     /* When any class is written, add a "magic" string
      * that must be verified by the TestInputStream.
      */
-    protected void annotateClass(Class cl) throws IOException {
+    protected void annotateClass(Class<?> cl) throws IOException {
         this.writeUTF("magic");
     }
 
@@ -112,7 +112,6 @@
      * Other objects are written as themselves.
      */
     protected Object replaceObject(Object obj)
-        throws IOException
     {
         /* For PrintStreams, like stdout and stderr, encode */
         if (obj instanceof PrintStream) {
@@ -169,6 +168,7 @@
  * and a small integer.
  */
 class StdStream implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
     private int stream = 0;
 
     public StdStream(PrintStream s) {
--- a/test/jdk/java/io/Serializable/oldTests/ArrayTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/oldTests/ArrayTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -22,6 +22,8 @@
  */
 
 public class ArrayTest implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
+
     byte b[] = { 0, 1};
     short s[] = { 0, 1, 2};
     char c[] = { 'Z', 'Y', 'X'};
--- a/test/jdk/java/io/Serializable/oldTests/ArraysOfArrays.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/oldTests/ArraysOfArrays.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -42,40 +42,40 @@
             ostream = new FileOutputStream("piotest5.tmp");
             ObjectOutputStream p = new ObjectOutputStream(ostream);
 
-            byte b[][] = {{ 0, 1}, {2,3}};
-            p.writeObject((Object)b);
+            byte[][] b = {{ 0, 1}, {2,3}};
+            p.writeObject(b);
 
-            short s[][] = {{ 0, 1, 2}, {3,4,5}};
-            p.writeObject((Object)s);
+            short[][] s = {{ 0, 1, 2}, {3,4,5}};
+            p.writeObject(s);
 
-            char c[][] = {{ 0, 1, 2, 3}, {4, 5, 6, 7}};
-            p.writeObject((Object)c);
+            char[][] c = {{ 0, 1, 2, 3}, {4, 5, 6, 7}};
+            p.writeObject(c);
 
-            int i[][] = {{ 0, 1, 2, 3, 4}, {5, 6, 7, 8, 9}};
-            p.writeObject((Object)i);
+            int[][] i = {{ 0, 1, 2, 3, 4}, {5, 6, 7, 8, 9}};
+            p.writeObject(i);
 
-            long l[][] = {{ 0, 1, 2, 3, 4, 5}, {6,7,8,9,10,11}};
+            long[][] l = {{ 0, 1, 2, 3, 4, 5}, {6,7,8,9,10,11}};
             p.writeObject((Object)l);
 
-            boolean z[][] = new boolean[2][2];
+            boolean[][] z = new boolean[2][2];
 
             z[0][0] = true;
             z[0][1] = false;
             z[1] = z[0];        // Use first row same as second
 
-            p.writeObject((Object)z);
+            p.writeObject(z);
 
-            float f[][] = {{ 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f},
+            float[][] f = {{ 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f},
                 { 1.1f, 2.1f, 3.1f, 4.1f, 5.1f, 6.1f}};
-            p.writeObject((Object)f);
+            p.writeObject(f);
 
-            double d[][] = {{ 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0d},
+            double[][] d = {{ 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0d},
                 { 1.1f, 2.1f, 3.1f, 4.1f, 5.1f, 6.1f, 7.1d}};
-            p.writeObject((Object)d);
+            p.writeObject(d);
 
-            Integer Int[][] = {{ new Integer(3), new Integer(2)},
-                { new Integer(1), new Integer(0)}};
-            p.writeObject((Object)Int);
+            Integer Int[][] = {{ 3, 2},
+                               { 1, 0}};
+            p.writeObject(Int);
 
             p.flush();
 
@@ -84,12 +84,12 @@
             istream = new FileInputStream("piotest5.tmp");
             ObjectInputStream q = new ObjectInputStream(istream);
 
-            byte b_u[][] = (byte [][]) (q.readObject());
+            byte[][] b_u = (byte [][]) (q.readObject());
             for (int ix = 0; ix < b_u.length; ix++) {
                 for(int iy = 0; iy < b_u[ix].length; iy++) {
                     if (b[ix][iy] != b_u[ix][iy]) {
                         System.err.println("\nByte array mismatch [" +
-                            ix + "][" + iy + " expected " + b[ix][iy] +
+                            ix + "][" + iy + "] expected " + b[ix][iy] +
                             " actual = " + b_u[ix][iy]);
                         throw new Error();
                     }
@@ -97,97 +97,97 @@
             }
 
 
-            short s_u[][] = (short [][])(q.readObject());
-            for (int ix = 0; ix < b_u.length; ix++) {
-                for(int iy = 0; iy < b_u[ix].length; iy++) {
-                    if (b[ix][iy] != b_u[ix][iy]) {
+            short[][] s_u = (short [][])(q.readObject());
+            for (int ix = 0; ix < s_u.length; ix++) {
+                for(int iy = 0; iy < s_u[ix].length; iy++) {
+                    if (s[ix][iy] != s_u[ix][iy]) {
                         System.err.println("\nshort array mismatch [" +
-                            ix + "][" + iy + " expected " + b[ix][iy] +
-                            " actual = " + b_u[ix][iy]);
+                            ix + "][" + iy + "] expected " + s[ix][iy] +
+                            " actual = " + s_u[ix][iy]);
                         throw new Error();
                     }
                 }
             }
 
-            char c_u[][] = (char [][])(q.readObject());
-            for (int ix = 0; ix < b_u.length; ix++) {
-                for(int iy = 0; iy < b_u[ix].length; iy++) {
-                    if (b[ix][iy] != b_u[ix][iy]) {
+            char[][] c_u = (char [][])(q.readObject());
+            for (int ix = 0; ix < c_u.length; ix++) {
+                for(int iy = 0; iy < c_u[ix].length; iy++) {
+                    if (c[ix][iy] != c_u[ix][iy]) {
                         System.err.println("\nchar array mismatch [" +
-                            ix + "][" + iy + " expected " + b[ix][iy] +
-                            " actual = " + b_u[ix][iy]);
+                            ix + "][" + iy + "] expected " + c[ix][iy] +
+                            " actual = " + c_u[ix][iy]);
                         throw new Error();
                     }
                 }
             }
 
-            int i_u[][] = (int [][])(q.readObject());
-            for (int ix = 0; ix < b_u.length; ix++) {
-                for(int iy = 0; iy < b_u[ix].length; iy++) {
-                    if (b[ix][iy] != b_u[ix][iy]) {
+            int[][] i_u = (int [][])(q.readObject());
+            for (int ix = 0; ix < i_u.length; ix++) {
+                for(int iy = 0; iy < i_u[ix].length; iy++) {
+                    if (i[ix][iy] != i_u[ix][iy]) {
                         System.err.println("\nint array mismatch [" +
-                            ix + "][" + iy + " expected " + b[ix][iy] +
-                            " actual = " + b_u[ix][iy]);
+                            ix + "][" + iy + "] expected " + i[ix][iy] +
+                            " actual = " + i_u[ix][iy]);
                         throw new Error();
                     }
                 }
             }
 
-            long l_u[][] = (long [][])(q.readObject());
-            for (int ix = 0; ix < b_u.length; ix++) {
-                for(int iy = 0; iy < b_u[ix].length; iy++) {
-                    if (b[ix][iy] != b_u[ix][iy]) {
+            long[][] l_u = (long [][])(q.readObject());
+            for (int ix = 0; ix < l_u.length; ix++) {
+                for(int iy = 0; iy < l_u[ix].length; iy++) {
+                    if (l[ix][iy] != l_u[ix][iy]) {
                         System.err.println("\nlong array mismatch [" +
-                            ix + "][" + iy + " expected " + b[ix][iy] +
-                            " actual = " + b_u[ix][iy]);
+                            ix + "][" + iy + "] expected " + l[ix][iy] +
+                            " actual = " + l_u[ix][iy]);
                         throw new Error();
                     }
                 }
             }
 
-            boolean z_u[][] = (boolean [][])(q.readObject());
-            for (int ix = 0; ix < b_u.length; ix++) {
-                for(int iy = 0; iy < b_u[ix].length; iy++) {
-                    if (b[ix][iy] != b_u[ix][iy]) {
+            boolean[][] z_u = (boolean [][])(q.readObject());
+            for (int ix = 0; ix < z_u.length; ix++) {
+                for(int iy = 0; iy < z_u[ix].length; iy++) {
+                    if (z[ix][iy] != z_u[ix][iy]) {
                         System.err.println("\nboolean array mismatch [" +
-                            ix + "][" + iy + " expected " + b[ix][iy] +
-                            " actual = " + b_u[ix][iy]);
+                            ix + "][" + iy + "] expected " + z[ix][iy] +
+                            " actual = " + z_u[ix][iy]);
                         throw new Error();
                     }
                 }
             }
 
-            float f_u[][] = (float [][])(q.readObject());
-            for (int ix = 0; ix < b_u.length; ix++) {
-                for(int iy = 0; iy < b_u[ix].length; iy++) {
-                    if (b[ix][iy] != b_u[ix][iy]) {
+            float[][] f_u = (float [][])(q.readObject());
+            for (int ix = 0; ix < f_u.length; ix++) {
+                for(int iy = 0; iy < f_u[ix].length; iy++) {
+                    if (f[ix][iy] != f_u[ix][iy]) {
                         System.err.println("\nfloat array mismatch [" +
-                            ix + "][" + iy + " expected " + b[ix][iy] +
-                            " actual = " + b_u[ix][iy]);
+                            ix + "][" + iy + "] expected " + f[ix][iy] +
+                            " actual = " + f_u[ix][iy]);
                         throw new Error();
                     }
                 }
             }
 
-            double d_u[][] = (double [][])(q.readObject());
-            for (int ix = 0; ix < b_u.length; ix++) {
-                for(int iy = 0; iy < b_u[ix].length; iy++) {
-                    if (b[ix][iy] != b_u[ix][iy]) {
+            double[][] d_u = (double [][])(q.readObject());
+            for (int ix = 0; ix < d_u.length; ix++) {
+                for(int iy = 0; iy < d_u[ix].length; iy++) {
+                    if (d[ix][iy] != d_u[ix][iy]) {
                         System.err.println("\ndouble array mismatch [" +
-                            ix + "][" + iy + " expected " + b[ix][iy] +
-                            " actual = " + b_u[ix][iy]);
+                            ix + "][" + iy + "] expected " + d[ix][iy] +
+                            " actual = " + d_u[ix][iy]);
                         throw new Error();
                     }
                 }
             }
 
-            Integer Int_u[][] = (Integer [][])(q.readObject());
-            for (int ix = 0; ix < b_u.length; ix++) {
-                for(int iy = 0; iy < b_u[ix].length; iy++) {
-                    if (b[ix][iy] != b_u[ix][iy]) {
+            Integer[][] Int_u = (Integer [][])(q.readObject());
+            for (int ix = 0; ix < Int_u.length; ix++) {
+                for(int iy = 0; iy < Int_u[ix].length; iy++) {
+                    if (!Int[ix][iy].equals(Int_u[ix][iy])) {
                         System.err.println("\nInteger array mismatch [" +
-                            ix + "][" + iy + " expected " + b[ix][iy] +
-                            " actual = " + b_u[ix][iy]);
+                            ix + "][" + iy + "] expected " + Int[ix][iy] +
+                            " actual = " + Int_u[ix][iy]);
                         throw new Error();
                     }
                 }
--- a/test/jdk/java/io/Serializable/oldTests/BinaryTree.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/oldTests/BinaryTree.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -75,6 +75,8 @@
 }
 
 class BinaryTreeTest implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
+
     public BinaryTreeTest left;
     public BinaryTreeTest right;
     public int id;
--- a/test/jdk/java/io/Serializable/oldTests/CheckForException.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/oldTests/CheckForException.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -105,6 +105,8 @@
 }
 
 class PickleClass implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
+
     int ii = 17;
     transient int tmp[];
 
@@ -129,6 +131,8 @@
 }
 
 class NoPickleClass extends PickleClass {
+    private static final long serialVersionUID = 1L;
+
     private void writeObject(ObjectOutputStream pw)
         throws NotSerializableException
     {
@@ -143,6 +147,8 @@
 }
 
 class TryPickleClass  extends NoPickleClass {
+    private static final long serialVersionUID = 1L;
+
     int i = 7;
     transient int tmp[];
 
--- a/test/jdk/java/io/Serializable/oldTests/CheckingEquality.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/oldTests/CheckingEquality.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -83,6 +83,8 @@
 }
 
 class Firstpsio implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
+
     String one;
     int two;
     float three[];
@@ -125,6 +127,8 @@
 }
 
 class Secondpsio extends Firstpsio  {
+    private static final long serialVersionUID = 1L;
+
     String quatre;
     int cinq;
 
@@ -173,6 +177,7 @@
 }
 
 class Thirdpsio extends Secondpsio {
+    private static final long serialVersionUID = 1L;
 
     static String ign = "ignored";
     transient Object oh;
@@ -184,7 +189,8 @@
     static final byte dcare = (byte) 128;
     private short nine = 8888;
     long ten;
-    java.util.Enumeration zero;
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
+    java.util.Enumeration<?> zero;
 
 
     boolean equals(Thirdpsio other) {
@@ -227,7 +233,7 @@
         eight = (byte)8;
         nine = (short)9;
         ten = (long)100000;
-        java.util.Enumeration em = null; /* default */
+        java.util.Enumeration<?> em = null; /* default */
 
         super.init();
     }
--- a/test/jdk/java/io/Serializable/oldTests/CircularList.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/oldTests/CircularList.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -68,6 +68,8 @@
 }
 
 class CircularListTest implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
+
     public CircularListTest next = null;
     public static CircularListTest list = null;
 
--- a/test/jdk/java/io/Serializable/oldTests/PrimitivesTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/oldTests/PrimitivesTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -22,6 +22,8 @@
  */
 
 public class PrimitivesTest implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
+
     byte b = 1;
     char c = 'c';
     float f = 3.14159f;
--- a/test/jdk/java/io/Serializable/oldTests/ValidateClass.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/oldTests/ValidateClass.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -64,7 +64,7 @@
             Validator vc_u;
 
             vc_u = (Validator)q.readObject();
-            if (vc_u.validated != Integer.MIN_VALUE) {
+            if (Validator.validated != Integer.MIN_VALUE) {
                 System.err.println("\nTEST FAILED: Validation callbacks did " +
                     "not complete.");
                 throw new Error();
@@ -80,6 +80,7 @@
 }
 
 class MissingWriterClass implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
     int i = 77;
 
     private void writeObject(ObjectOutputStream pw) throws IOException {
@@ -88,6 +89,7 @@
 }
 
 class MissingReaderClass implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
     int i = 77;
 
     private void readObject(ObjectInputStream pr) throws IOException {
@@ -97,6 +99,8 @@
 
 
 class Validator implements ObjectInputValidation, java.io.Serializable  {
+    private static final long serialVersionUID = 1L;
+
     static int validated = Integer.MAX_VALUE; // Last value validated
     int priority;
     Validator next = null;
--- a/test/jdk/java/io/Serializable/optionalDataEnd/OptionalDataEnd.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/optionalDataEnd/OptionalDataEnd.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -31,6 +31,8 @@
 import java.io.*;
 
 class Foo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     int reps;
 
     Foo(int reps) {
@@ -40,7 +42,7 @@
     private void writeObject(ObjectOutputStream out) throws IOException {
         out.defaultWriteObject();
         for (int i = 0; i < reps; i++) {
-            out.writeObject(new Integer(i));
+            out.writeObject(i);
         }
     }
 
--- a/test/jdk/java/io/Serializable/packageAccess/B.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/packageAccess/B.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -29,6 +29,8 @@
  */
 
 public class B extends A implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
+
     public B() {
         super(0);
     }
--- a/test/jdk/java/io/Serializable/packageAccess/C.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/packageAccess/C.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -31,6 +31,8 @@
 import java.io.*;
 
 public class C implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     Object writeReplace() throws ObjectStreamException {
         throw new Error("package-private writeReplace called");
     }
--- a/test/jdk/java/io/Serializable/packageAccess/D.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/packageAccess/D.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -29,4 +29,5 @@
  */
 
 public class D extends C implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
 }
--- a/test/jdk/java/io/Serializable/packageAccess/PackageAccessTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/packageAccess/PackageAccessTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -50,8 +50,8 @@
 
 public class PackageAccessTest {
 
-    static Class bcl;
-    static Class dcl;
+    static Class<?> bcl;
+    static Class<?> dcl;
 
     public static void main(String[] args) throws Exception {
         setup();
@@ -62,7 +62,7 @@
             bcl = Class.forName("B", true, ldr);
             dcl = Class.forName("D", true, ldr);
 
-            Object b = bcl.newInstance();
+            Object b = bcl.getConstructor().newInstance();
             try {
                 swizzle(b);
                 throw new Error("expected InvalidClassException for class B");
@@ -74,7 +74,7 @@
                 throw new Error("package private constructor of A invoked");
             }
 
-            Object d = dcl.newInstance();
+            Object d = dcl.getConstructor().newInstance();
             swizzle(d);
         }
     }
@@ -103,7 +103,7 @@
         super(in);
     }
 
-    protected Class resolveClass(ObjectStreamClass desc)
+    protected Class<?> resolveClass(ObjectStreamClass desc)
         throws IOException, ClassNotFoundException
     {
         String n = desc.getName();
--- a/test/jdk/java/io/Serializable/parents/EvolvedClass.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/parents/EvolvedClass.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -52,6 +52,8 @@
  * must not be invoked.
  */
 class ASuperClass implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     String name;
 
     ASuperClass() {
--- a/test/jdk/java/io/Serializable/parents/OriginalClass.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/parents/OriginalClass.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -59,6 +59,8 @@
 
 
 class ASubClass implements Serializable {
+    private static final long serialVersionUID = 6341246181948372513L;
+
     int num;
 
     ASubClass(int num) {
--- a/test/jdk/java/io/Serializable/partialClassDesc/PartialClassDesc.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/partialClassDesc/PartialClassDesc.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -43,7 +43,7 @@
 
 public class PartialClassDesc {
     public static void main(String[] args) throws Exception {
-        Class cl = Class.forName(
+        Class<?> cl = Class.forName(
             "A", false, PartialClassDesc.class.getClassLoader());
         ObjectStreamClass desc = null;
         try {
--- a/test/jdk/java/io/Serializable/primitiveClasses/PrimitiveClasses.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/primitiveClasses/PrimitiveClasses.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -30,7 +30,7 @@
 
 public class PrimitiveClasses {
     public static void main(String[] args) throws Exception {
-        Class[] primClasses = new Class[] {
+        Class<?>[] primClasses = {
             boolean.class, byte.class, char.class, short.class,
             int.class, long.class, float.class, double.class, void.class
         };
--- a/test/jdk/java/io/Serializable/proxy/Basic.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/proxy/Basic.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -36,12 +36,13 @@
 
 // dummy invocation handler
 class Handler implements InvocationHandler, Serializable {
+    private static final long serialVersionUID = 1L;
 
     static Method fooMethod, barMethod;
     static {
         try {
-            fooMethod = Foo.class.getDeclaredMethod("foo", new Class[0]);
-            barMethod = Bar.class.getDeclaredMethod("bar", new Class[0]);
+            fooMethod = Foo.class.getDeclaredMethod("foo", new Class<?>[0]);
+            barMethod = Bar.class.getDeclaredMethod("bar", new Class<?>[0]);
         } catch (NoSuchMethodException ex) {
             throw new Error();
         }
@@ -59,9 +60,9 @@
         throws Throwable
     {
         if (method.equals(fooMethod)) {
-            return new Integer(foo);
+            return foo;
         } else if (method.equals(barMethod)) {
-            return new Float(bar);
+            return bar;
         } else {
             throw new UnsupportedOperationException();
         }
@@ -73,7 +74,7 @@
 
     ProxyBlindInputStream(InputStream in) throws IOException { super(in); }
 
-    protected Class resolveProxyClass(String[] interfaces)
+    protected Class<?> resolveProxyClass(String[] interfaces)
         throws IOException, ClassNotFoundException
     {
         throw new ClassNotFoundException();
@@ -83,7 +84,7 @@
 public class Basic {
     public static void main(String[] args) throws Exception {
         ClassLoader loader = Basic.class.getClassLoader();
-        Class[] interfaces = new Class[] { Foo.class, Bar.class };
+        Class<?>[] interfaces = { Foo.class, Bar.class };
         Random rand = new Random();
         int foo = rand.nextInt();
         float bar = rand.nextFloat();
--- a/test/jdk/java/io/Serializable/proxy/replace/Test.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/proxy/replace/Test.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -30,6 +30,7 @@
 import java.lang.reflect.*;
 
 public class Test implements InvocationHandler, Serializable {
+    private static final long serialVersionUID = 1L;
 
     static ClassLoader loader = Test.class.getClassLoader();
 
@@ -39,10 +40,10 @@
         String methName = method.getName();
         if (methName.equals("writeReplace")) {
             return Proxy.newProxyInstance(
-                loader, new Class[] { ReadResolve.class }, this);
+                loader, new Class<?>[] { ReadResolve.class }, this);
         } else if (methName.equals("readResolve")) {
             return Proxy.newProxyInstance(
-                loader, new Class[] { Resolved.class }, this);
+                loader, new Class<?>[] { Resolved.class }, this);
         } else if (method.getDeclaringClass() == Object.class) {
             return method.invoke(this, args);
         } else {
@@ -54,7 +55,7 @@
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
         ObjectOutputStream oout = new ObjectOutputStream(bout);
         oout.writeObject(Proxy.newProxyInstance(
-            loader, new Class[] { WriteReplace.class }, new Test()));
+            loader, new Class<?>[] { WriteReplace.class }, new Test()));
         oout.close();
         ObjectInputStream oin = new ObjectInputStream(
             new ByteArrayInputStream(bout.toByteArray()));
--- a/test/jdk/java/io/Serializable/proxy/skipMissing/Handler.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/proxy/skipMissing/Handler.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -30,6 +30,8 @@
 import java.lang.reflect.*;
 
 class Handler implements InvocationHandler, Serializable {
+    private static final long serialVersionUID = 1L;
+
     public Object invoke(Object proxy, Method method, Object[] args)
         throws Throwable
     {
--- a/test/jdk/java/io/Serializable/proxy/skipMissing/Write.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/proxy/skipMissing/Write.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -42,6 +42,7 @@
 class A implements Serializable {
     private static final long serialVersionUID = 0L;
     String a = "a";
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     Object proxy;
     String z = "z";
 
@@ -65,7 +66,7 @@
     public static void main(String[] args) throws Exception {
         Object proxy = Proxy.newProxyInstance(
             Write.class.getClassLoader(),
-            new Class[] { I.class }, new Handler());
+            new Class<?>[] { I.class }, new Handler());
         ObjectOutputStream oout = new ObjectOutputStream(
             new FileOutputStream("tmp.ser"));
         oout.writeObject(new A(proxy));
--- a/test/jdk/java/io/Serializable/readObjectNoData/Read.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/readObjectNoData/Read.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -48,6 +48,7 @@
 class B extends A implements Serializable {
     private static final long serialVersionUID = 0L;
     boolean bCalled = false;
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     private void readObjectNoData(int wrong) throws ObjectStreamException {
         bCalled = true;
     }
@@ -82,6 +83,7 @@
 class E extends D {
     private static final long serialVersionUID = 0L;
     boolean eCalled = false;
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     void readObjectNoData() throws ObjectStreamException {
         eCalled = true;
     }
--- a/test/jdk/java/io/Serializable/recursiveClassDescLookup/Test.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/recursiveClassDescLookup/Test.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -40,7 +40,7 @@
 
 public class Test {
     public static void main(String[] args) throws Exception {
-        Class fooCl = Class.forName("Foo", false, Test.class.getClassLoader());
+        Class<?> fooCl = Class.forName("Foo", false, Test.class.getClassLoader());
         ObjectStreamClass.lookup(fooCl);
         System.out.println("done.");
     }
--- a/test/jdk/java/io/Serializable/replaceStringArray/ReplaceStringArray.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/replaceStringArray/ReplaceStringArray.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -30,6 +30,8 @@
 import java.lang.reflect.Array;
 
 class A implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     String stringA;
     String stringB;
     String stringC;
@@ -74,7 +76,7 @@
             Object[] array = (Object[]) obj;
             /* Double the array.
              * Initialize new array elements with original array. */
-            Class arrayComponentType = array.getClass().getComponentType();
+            Class<?> arrayComponentType = array.getClass().getComponentType();
             Object[] newarray =
                 (Object[])Array.newInstance(arrayComponentType,
                                             array.length * 2);
@@ -108,7 +110,7 @@
 
             /* Double the array.
              * Initialize new array elements with original array. */
-            Class arrayComponentType = array.getClass().getComponentType();
+            Class<?> arrayComponentType = array.getClass().getComponentType();
             Object[] newarray =
                 (Object[])Array.newInstance(arrayComponentType,
                                             array.length * 2);
--- a/test/jdk/java/io/Serializable/resolveClass/MethodTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/resolveClass/MethodTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -31,9 +31,11 @@
 import java.lang.reflect.*;
 
 public class MethodTest implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     public static void main(String[] args) throws Exception {
         Method readObject = ObjectInputStream.class.getDeclaredMethod(
-            "readObject", new Class[0]);
+            "readObject", new Class<?>[0]);
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
         ObjectOutputStream oout = new ObjectOutputStream(bout);
         oout.writeObject(new MethodTest());
--- a/test/jdk/java/io/Serializable/resolveClass/consTest/ConsTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/resolveClass/consTest/ConsTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -42,9 +42,10 @@
 import jdk.test.lib.util.JarUtils;
 
 public class ConsTest implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     public static void main(String[] args) throws Exception {
-        Constructor cons = Boot.class.getConstructor(
-            new Class[] { ObjectInputStream.class });
+        Constructor<?> cons = Boot.class.getConstructor(ObjectInputStream.class);
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
         ObjectOutputStream oout = new ObjectOutputStream(bout);
         oout.writeObject(new ConsTest());
@@ -53,7 +54,7 @@
         for (int i = 0; i < 100; i++) {
             ObjectInputStream oin = new ObjectInputStream(
                 new ByteArrayInputStream(bout.toByteArray()));
-            cons.newInstance(new Object[]{ oin });
+            cons.newInstance(oin);
         }
     }
 }
--- a/test/jdk/java/io/Serializable/resolveClass/deserializeButton/DeserializeButtonTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/resolveClass/deserializeButton/DeserializeButtonTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -46,7 +46,8 @@
 
         try (URLClassLoader ldr =
             new URLClassLoader(new URL[]{ new URL("file:cb.jar") })) {
-            Runnable r = (Runnable) Class.forName("Foo", true, ldr).newInstance();
+            Runnable r = (Runnable) Class.forName("Foo", true, ldr)
+                    .getConstructor().newInstance();
             r.run();
         }
     }
--- a/test/jdk/java/io/Serializable/resolveClass/deserializeButton/Foo.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/resolveClass/deserializeButton/Foo.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -34,7 +34,9 @@
 
 public class Foo implements Runnable {
 
-    static class TestElement extends Object implements Serializable {}
+    static class TestElement extends Object implements Serializable {
+        private static final long serialVersionUID = 1L;
+    }
 
     public void run() {
         try {
--- a/test/jdk/java/io/Serializable/resolveClassException/ResolveClassException.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/resolveClassException/ResolveClassException.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -37,8 +37,8 @@
         super(in);
     }
 
-    protected Class resolveClass(ObjectStreamClass desc)
-        throws IOException, ClassNotFoundException
+    protected Class<?> resolveClass(ObjectStreamClass desc)
+        throws ClassNotFoundException
     {
         throw new ClassNotFoundException(message);
     }
@@ -53,7 +53,7 @@
         Object obj;
 
         // write and read an object
-        obj = new Integer(5);
+        obj = 5;
         bout = new ByteArrayOutputStream();
         oout = new ObjectOutputStream(bout);
         oout.writeObject(obj);
@@ -67,7 +67,7 @@
         }
 
         // write and read an array of objects
-        obj = new Integer[] { new Integer(5) };
+        obj = new Integer[] { 5 };
         bout = new ByteArrayOutputStream();
         oout = new ObjectOutputStream(bout);
         oout.writeObject(obj);
--- a/test/jdk/java/io/Serializable/resolveProxyClass/NonPublicInterface.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/resolveProxyClass/NonPublicInterface.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -37,6 +37,8 @@
 public class NonPublicInterface {
 
     static class Handler implements InvocationHandler, Serializable {
+        private static final long serialVersionUID = 1L;
+
         public Object invoke(Object obj, Method meth, Object[] args) {
             return null;
         }
--- a/test/jdk/java/io/Serializable/sanityCheck/SanityCheck.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/sanityCheck/SanityCheck.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -31,6 +31,7 @@
 import java.util.*;
 
 class Item implements Serializable {
+    private static final long serialVersionUID = 1L;
 
     static final int ARRAYLEN = 1000;
     static final int STRLEN = 1000;
@@ -55,6 +56,7 @@
     double[] dary;
 
     String str;
+    @SuppressWarnings("serial")  /* Incorrect declarations are being tested */
     Object[] oary;
 
     Item() {
@@ -86,7 +88,7 @@
             fary[i] = rand.nextFloat();
             jary[i] = rand.nextLong();
             dary[i] = rand.nextDouble();
-            oary[i] = new Integer(rand.nextInt());
+            oary[i] = rand.nextInt();
         }
 
         char[] strChars = new char[STRLEN];
@@ -126,6 +128,11 @@
 
         return true;
     }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(i, j);
+    }
 }
 
 public class SanityCheck {
--- a/test/jdk/java/io/Serializable/serialFilter/SerialFilterTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/serialFilter/SerialFilterTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 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
@@ -730,6 +730,7 @@
     static class ReadResolveToArray implements Serializable, ObjectInputFilter {
         private static final long serialVersionUID = 123456789L;
 
+        @SuppressWarnings("serial") /* Incorrect declarations are being tested */
         private final Object array;
         private final int length;
 
--- a/test/jdk/java/io/Serializable/serialver/classpath/ClasspathTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/serialver/classpath/ClasspathTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -44,6 +44,7 @@
 import jdk.test.lib.process.ProcessTools;
 
 public class ClasspathTest implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
     int a;
     int b;
 
--- a/test/jdk/java/io/Serializable/serialver/nested/NestedTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/serialver/nested/NestedTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -45,7 +45,11 @@
 import jdk.test.lib.process.ProcessTools;
 
 public class NestedTest implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     public static class Test1 implements Serializable {
+        private static final long serialVersionUID = 1L;
+
         public static class Test2 implements Serializable{
             private static final long serialVersionUID = 100L;
         }
--- a/test/jdk/java/io/Serializable/skipToEndOfBlockData/SkipToEndOfBlockData.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/skipToEndOfBlockData/SkipToEndOfBlockData.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
@@ -32,6 +32,8 @@
 import java.io.*;
 
 class MismatchedRead implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     int i;
     float f;
 
@@ -59,9 +61,15 @@
         MismatchedRead other = (MismatchedRead) obj;
         return (i == other.i && f == other.f);
     }
+
+    public int hashCode() {
+        return i;
+    }
 }
 
 class MismatchedReadExternal implements Externalizable {
+    private static final long serialVersionUID = 1L;
+
     int i;
     float f;
 
@@ -91,9 +99,15 @@
         MismatchedReadExternal other = (MismatchedReadExternal) obj;
         return (i == other.i && f == other.f);
     }
+
+    public int hashCode() {
+        return i;
+    }
 }
 
 class InnocentBystander implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     String s;
 
     InnocentBystander(String s) {
@@ -108,6 +122,10 @@
             return s.equals(other.s);
         return (s == other.s);
     }
+
+    public int hashCode() {
+        return s.hashCode();
+    }
 }
 
 public class SkipToEndOfBlockData {
--- a/test/jdk/java/io/Serializable/skipWriteObject/Write.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/skipWriteObject/Write.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -44,6 +44,8 @@
 }
 
 class Bar implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     int a, b;
     private void writeObject(ObjectOutputStream out) throws IOException {
         out.defaultWriteObject();
--- a/test/jdk/java/io/Serializable/skippedObjCNFException/Read.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/skippedObjCNFException/Read.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -37,6 +37,7 @@
 
 class B implements Serializable {
     private static final long serialVersionUID = 0L;
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     Object c;
 }
 
--- a/test/jdk/java/io/Serializable/skippedObjCNFException/Write.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/skippedObjCNFException/Write.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -43,11 +43,13 @@
     // all three following fields not present on reading side
     B b = new B();
     C c = new C();
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     Object ca = new Object[] { new C() };
 }
 
 class B implements Serializable {
     private static final long serialVersionUID = 0L;
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     Object c = new C();
 }
 
--- a/test/jdk/java/io/Serializable/stopCustomDeserialization/Read.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/stopCustomDeserialization/Read.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -32,6 +32,7 @@
 
 class A implements Serializable {
     private static final long serialVersionUID = 0L;
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     Object x;
 }
 
--- a/test/jdk/java/io/Serializable/stopCustomDeserialization/Write.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/stopCustomDeserialization/Write.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -39,6 +39,7 @@
 
 class A implements Serializable {
     private static final long serialVersionUID = 0L;
+    @SuppressWarnings("serial") /* Incorrect declarations are being tested */
     Object x = new X();
 }
 
--- a/test/jdk/java/io/Serializable/subclass/AbstractObjectInputStream.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/subclass/AbstractObjectInputStream.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -253,7 +253,7 @@
      * @exception InstantiationException  TBD.
      */
     protected final native Object
-        allocateNewObject(Class ofClass, Class ctorClass)
+        allocateNewObject(Class<?> ofClass, Class<?> ctorClass)
         throws InstantiationException, IllegalAccessException;
 
     /**
@@ -271,7 +271,7 @@
      * @exception InstantiationException  TBD.
      */
     protected final native Object
-        allocateNewArray(Class componentClass, int length)
+        allocateNewArray(Class<?> componentClass, int length)
         throws InstantiationException, IllegalAccessException;
 
     /**
@@ -317,5 +317,6 @@
     public abstract int skipBytes(int len) throws IOException;
 
     /* @deprecated */
+    @SuppressWarnings("deprecation")
     public abstract String readLine() throws IOException;
 };
--- a/test/jdk/java/io/Serializable/subclass/SubclassTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/subclass/SubclassTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -57,6 +57,8 @@
  * Test if customized readObject and writeObject are called.
  */
 class B implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     public int publicIntField;
     public static int numWriteObjectCalled = 0;
     B(int v) {
@@ -80,9 +82,11 @@
  */
 
 class C implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     public int xx1;
     public int xx2;
-    static final ObjectStreamField[] serialPersistentFields = {
+    private static final ObjectStreamField[] serialPersistentFields = {
         new ObjectStreamField("x1", Integer.TYPE),
         new ObjectStreamField("x2", Integer.TYPE),
         new ObjectStreamField("x3", Integer.TYPE),
@@ -106,6 +110,8 @@
 
 
 class A implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     public int  publicIntField;
     public long publicLongField;
     public B    publicBField;
--- a/test/jdk/java/io/Serializable/subclass/XObjectInputStream.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/subclass/XObjectInputStream.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -47,7 +47,7 @@
 
         Object readResult = null;
         Object prevObject = currentObject;
-        Class  prevDesc   = currentClassDescriptor;
+        Class<?>  prevDesc   = currentClassDescriptor;
 
         boolean NotImplemented = true;
         if (NotImplemented)
@@ -243,7 +243,7 @@
      }
 
     private Object currentObject;
-    private Class currentClassDescriptor;
+    private Class<?> currentClassDescriptor;
 
 
 
@@ -256,15 +256,15 @@
      * Set the accessible flag on it here. ObjectOutputStream
      * will call it as necessary.
      */
-    public static Method getReadObjectMethod(final Class cl) {
+    public static Method getReadObjectMethod(final Class<?> cl) {
 
-        Method readObjectMethod = (Method)
+        Method readObjectMethod =
             java.security.AccessController.doPrivileged
-            (new java.security.PrivilegedAction() {
-                public Object run() {
+            (new java.security.PrivilegedAction<Method>() {
+                public Method run() {
                     Method m = null;
                     try {
-                        Class[] args = {ObjectInputStream.class};
+                        Class<?>[] args = {ObjectInputStream.class};
                         m = cl.getDeclaredMethod("readObject", args);
                         int mods = m.getModifiers();
                         // Method must be private and non-static
@@ -292,8 +292,8 @@
     {
         try {
             java.security.AccessController.doPrivileged
-                (new java.security.PrivilegedExceptionAction() {
-                    public Object run() throws InvocationTargetException,
+                (new java.security.PrivilegedExceptionAction<Void>() {
+                    public Void run() throws InvocationTargetException,
                                         java.lang.IllegalAccessException {
                         m.invoke(obj, argList);
                         return null;
--- a/test/jdk/java/io/Serializable/subclass/XObjectOutputStream.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/subclass/XObjectOutputStream.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -116,7 +116,7 @@
             int mods = fields[i].getModifiers();
             if (Modifier.isStatic(mods) || Modifier.isTransient(mods))
                 continue;
-            Class FieldType = fields[i].getType();
+            Class<?> FieldType = fields[i].getType();
             if (FieldType.isPrimitive()) {
                 System.out.println("Field " + fields[i].getName() +
                                     " has primitive type " + FieldType.toString());
@@ -127,7 +127,7 @@
                     writeObject(fields[i].get(obj));
                     if (FieldType.isArray()) {
                         Object[] array = ((Object[]) fields[i].get(obj));
-                        Class componentType = FieldType.getComponentType();
+                        Class<?> componentType = FieldType.getComponentType();
                         if (componentType.isPrimitive())
                             System.out.println("Output " + array.length + " primitive elements of" +
                                                componentType.toString());
@@ -227,6 +227,7 @@
         /**
          * Write the data and fields to the specified ObjectOutput stream.
          */
+        @SuppressWarnings("deprecation")
         public void write(ObjectOutput out) throws IOException {
             for (int i = 0; i < next; i++)
                 System.out.println(fieldName[i] + "=" + intValue[i]);
@@ -300,15 +301,15 @@
      * Set the accessible flag on it here.
      * Subclass of AbstractObjectOutputStream will call it as necessary.
      */
-    public static Method getWriteObjectMethod(final Class cl) {
+    public static Method getWriteObjectMethod(final Class<?> cl) {
 
-        Method writeObjectMethod = (Method)
+        Method writeObjectMethod =
             java.security.AccessController.doPrivileged
-            (new java.security.PrivilegedAction() {
-                public Object run() {
+            (new java.security.PrivilegedAction<Method>() {
+                public Method run() {
                     Method m = null;
                     try {
-                        Class[] args = {ObjectOutputStream.class};
+                        Class<?>[] args = {ObjectOutputStream.class};
                         m = cl.getDeclaredMethod("writeObject", args);
                         int mods = m.getModifiers();
                         // Method must be private and non-static
@@ -336,8 +337,8 @@
     {
         try {
             java.security.AccessController.doPrivileged
-                (new java.security.PrivilegedExceptionAction() {
-                    public Object run() throws InvocationTargetException,
+                (new java.security.PrivilegedExceptionAction<Void>() {
+                    public Void run() throws InvocationTargetException,
                                         java.lang.IllegalAccessException {
                         m.invoke(obj, argList);
                         return null;
--- a/test/jdk/java/io/Serializable/superclassDataLoss/A.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/superclassDataLoss/A.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -29,6 +29,8 @@
  */
 
 public class A implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
+
     protected final int i;
     protected A(int i) { this.i = i; }
 }
--- a/test/jdk/java/io/Serializable/superclassDataLoss/B.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/superclassDataLoss/B.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -29,6 +29,8 @@
  */
 
 public class B extends A implements Runnable {
+    private static final long serialVersionUID = 1L;
+
     public B() { super(0xDEADBEEF); }
 
     // verify superclass data still present
--- a/test/jdk/java/io/Serializable/superclassDataLoss/SuperclassDataLossTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/superclassDataLoss/SuperclassDataLossTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -62,7 +62,7 @@
         this.ldr12A = ldr12A;
     }
 
-    protected Class resolveClass(ObjectStreamClass desc)
+    protected Class<?> resolveClass(ObjectStreamClass desc)
         throws IOException, ClassNotFoundException
     {
         // resolve A's classdesc to class != B's superclass
@@ -91,7 +91,8 @@
              URLClassLoader ldr2 = new URLClassLoader(new URL[] { new URL("file:cb2.jar") })) {
             setup();
 
-            Runnable a = (Runnable) Class.forName("B", true, ldr1).newInstance();
+            Runnable a = (Runnable) Class.forName("B", true, ldr1)
+                    .getConstructor().newInstance();
             a.run();
 
             ByteArrayOutputStream bout = new ByteArrayOutputStream();
--- a/test/jdk/java/io/Serializable/survivePrematureClose/SurvivePrematureClose.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/survivePrematureClose/SurvivePrematureClose.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -32,6 +32,7 @@
 import java.io.*;
 
 class A implements Externalizable {
+    private static final long serialVersionUID = 1L;
 
     public A() {}
 
@@ -49,6 +50,7 @@
 }
 
 class B implements Serializable {
+    private static final long serialVersionUID = 1L;
 
     private void writeObject(ObjectOutputStream out) throws IOException {
         out.defaultWriteObject();
--- a/test/jdk/java/io/Serializable/typeSafeEnum/TypeSafeEnum.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/typeSafeEnum/TypeSafeEnum.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -30,6 +30,8 @@
 import java.io.*;
 
 public class TypeSafeEnum implements Serializable, ObjectInputValidation {
+    private static final long serialVersionUID = 1L;
+
     private static int numWriteObject = 0;
     private static int numReadObject = 0;
 
@@ -47,7 +49,7 @@
     static boolean verbose = false;
 
 
-    private Object writeReplace() throws IOException {
+    private Object writeReplace() {
         numWriteReplace++;
         if (verbose) {
             System.out.println("TypeSafeEnum.writeReplace() " +
@@ -56,7 +58,7 @@
         return this;
     }
 
-    private Object readResolve() throws IOException {
+    private Object readResolve() {
         numReadResolve++;
         if (verbose) {
             System.out.println("readResolve called on " + this.toString());
--- a/test/jdk/java/io/Serializable/typeStringBackRef/TypeStringBackRef.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/typeStringBackRef/TypeStringBackRef.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -30,6 +30,7 @@
 import java.io.*;
 
 public class TypeStringBackRef implements Serializable {
+    private static final long serialVersionUID = 1L;
 
     String a, b, c, d, e, f, g;
 
--- a/test/jdk/java/io/Serializable/underlyingOutputStreamException/UnderlyingOutputStreamException.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/underlyingOutputStreamException/UnderlyingOutputStreamException.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -30,6 +30,7 @@
 import java.io.*;
 
 class OriginalIOException extends IOException {
+    private static final long serialVersionUID = 1L;
 }
 
 class BrokenOutputStream extends OutputStream {
--- a/test/jdk/java/io/Serializable/unnamedPackageSwitch/UnnamedPackageSwitchTest.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/unnamedPackageSwitch/UnnamedPackageSwitchTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -46,7 +46,7 @@
 
 class TestObjectInputStream extends ObjectInputStream {
     TestObjectInputStream(InputStream in) throws IOException { super(in); }
-    protected Class resolveClass(ObjectStreamClass desc)
+    protected Class<?> resolveClass(ObjectStreamClass desc)
         throws IOException, ClassNotFoundException
     {
         String name = desc.getName();
--- a/test/jdk/java/io/Serializable/unresolvableObjectStreamClass/UnresolvableObjectStreamClass.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/unresolvableObjectStreamClass/UnresolvableObjectStreamClass.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -65,4 +65,5 @@
 }
 
 class MySerializable implements Serializable {
+    private static final long serialVersionUID = 1L;
 }
--- a/test/jdk/java/io/Serializable/unresolvedClassDesc/Foo.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/unresolvedClassDesc/Foo.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -29,4 +29,5 @@
  */
 
 public class Foo implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
 }
--- a/test/jdk/java/io/Serializable/unshared/Write.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/unshared/Write.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -37,6 +37,8 @@
 import java.io.*;
 
 class Foo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
     private static final ObjectStreamField[] serialPersistentFields =
         new ObjectStreamField[] {
             new ObjectStreamField("shared1", String.class),
@@ -54,6 +56,7 @@
 
 class Bar implements Serializable {
     private static final long serialVersionUID = 0L;
+    @SuppressWarnings("serial") /* Incorrect use is being tested */
     Object obj;
 
     Bar(Object obj) {
--- a/test/jdk/java/io/Serializable/userRWObjError/UserRWObjError.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/userRWObjError/UserRWObjError.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -39,6 +39,7 @@
  */
 
 public class UserRWObjError implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
 
     public static void main(String[] args) throws Exception {
         try {
--- a/test/jdk/java/io/Serializable/validate/Validate.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/validate/Validate.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -73,6 +73,8 @@
 }
 
 class Class1 implements Serializable, ObjectInputValidation {
+    private static final long serialVersionUID = 1L;
+
     int a, b;
     transient int validates;
 
--- a/test/jdk/java/io/Serializable/verifyDynamicObjHandleTable/VerifyDynamicObjHandleTable.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/verifyDynamicObjHandleTable/VerifyDynamicObjHandleTable.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -31,7 +31,9 @@
 import java.util.Iterator;
 
 class A implements Serializable {
-    static HashSet writeObjectExtent = new HashSet();
+    private static final long serialVersionUID = 1L;
+
+    static HashSet<A> writeObjectExtent = new HashSet<>();
 
     private void writeObject(ObjectOutputStream out) throws IOException {
         if (writeObjectExtent.contains(this)) {
@@ -63,7 +65,7 @@
         // allow writeObject to be called on any objects that
         // have already been serialized. These objects should be
         // written out by reference.
-        Iterator iter = A.writeObjectExtent.iterator();
+        Iterator<A> iter = A.writeObjectExtent.iterator();
         while (iter.hasNext()) {
             out.writeObject(iter.next());
         }
--- a/test/jdk/java/io/Serializable/writeObjectMemory/WriteObjectMemory.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/writeObjectMemory/WriteObjectMemory.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -33,7 +33,9 @@
 import java.util.Iterator;
 
 class A implements Serializable {
-    static HashSet writeObjectExtent = new HashSet();
+    private static final long serialVersionUID = 1L;
+
+    static HashSet<A>writeObjectExtent = new HashSet<>();
 
     private void writeObject(ObjectOutputStream out) throws IOException {
         if (writeObjectExtent.contains(this)) {
@@ -53,7 +55,7 @@
 
 public class WriteObjectMemory {
     public static void main(String args[])
-        throws IOException, ClassNotFoundException
+        throws IOException
     {
         ObjectOutputStream out =
             new ObjectOutputStream(new ByteArrayOutputStream(3000));
@@ -65,7 +67,7 @@
         // allow writeObject to be called on any objects that
         // have already been serialized. These objects should be
         // written out by reference.
-        Iterator iter = A.writeObjectExtent.iterator();
+        Iterator<A> iter = A.writeObjectExtent.iterator();
         while (iter.hasNext()) {
             out.writeObject(iter.next());
         }
--- a/test/jdk/java/io/Serializable/writeReplace/WriteReplace.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/writeReplace/WriteReplace.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -30,6 +30,9 @@
 public class WriteReplace {
 
     static class ReplaceMe implements Serializable {
+        private static final long serialVersionUID = 1L;
+
+        @SuppressWarnings("serial") /* Incorrect use is being tested */
         private Object obj;
         private boolean writeReplaceCalled = false;
 
--- a/test/jdk/java/io/Serializable/wrongReturnTypes/Read.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/wrongReturnTypes/Read.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -34,6 +34,7 @@
 
     static boolean readObjectNoDataCalled;
 
+    @SuppressWarnings("serial") /* Incorrect use is being tested */
     private Object readObjectNoData() throws ObjectStreamException {
         readObjectNoDataCalled = true;
         return null;
@@ -46,6 +47,7 @@
     static boolean readObjectCalled;
     static boolean readResolveCalled;
 
+    @SuppressWarnings("serial") /* Incorrect use is being tested */
     private Integer readObject(ObjectInputStream in)
         throws IOException, ClassNotFoundException
     {
@@ -54,6 +56,7 @@
         return null;
     }
 
+    @SuppressWarnings("serial") /* Incorrect use is being tested */
     private B readResolve() throws ObjectStreamException {
         readResolveCalled = true;
         return this;
--- a/test/jdk/java/io/Serializable/wrongReturnTypes/Write.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/io/Serializable/wrongReturnTypes/Write.java	Tue Oct 15 14:19:55 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -43,12 +43,14 @@
     static boolean writeObjectCalled;
     static boolean writeReplaceCalled;
 
+    @SuppressWarnings("serial") /* Incorrect use is being tested */
     private Object writeObject(ObjectOutputStream out) throws IOException {
         writeObjectCalled = true;
         out.defaultWriteObject();
         return null;
     }
 
+    @SuppressWarnings("serial") /* Incorrect use is being tested */
     private B writeReplace() throws ObjectStreamException {
         writeReplaceCalled = true;
         return this;
--- a/test/jdk/java/lang/ProcessBuilder/Basic.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/lang/ProcessBuilder/Basic.java	Tue Oct 15 14:19:55 2019 +0530
@@ -2111,6 +2111,19 @@
                                 case 2: r = s.read(bytes); break;
                                 default: throw new Error();
                             }
+                            if (r >= 0) {
+                                // The child sent unexpected output; print it to diagnose
+                                System.out.println("Unexpected child output:");
+                                if ((action & 0x2) == 0) {
+                                    System.out.write(r);    // Single character
+
+                                } else {
+                                    System.out.write(bytes, 0, r);
+                                }
+                                for (int c = s.read(); c >= 0; c = s.read())
+                                    System.out.write(c);
+                                System.out.println("\nEND Child output.");
+                            }
                             equal(-1, r);
                         } catch (IOException ioe) {
                             if (!ioe.getMessage().equals("Stream closed")) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/lang/Runtime/loadLibrary/LoadLibraryTest.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,158 @@
+/*
+ * Copyright (c) 2018, Amazon and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, Azul Systems, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * 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.
+ */
+
+/**
+ * @test
+ * @bug 8231584
+ * @library /test/lib
+ * @run main/othervm LoadLibraryTest
+ */
+
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.nio.file.Path;
+import java.net.MalformedURLException;
+import java.net.URLClassLoader;
+import java.net.URL;
+
+import jdk.test.lib.compiler.CompilerUtils;
+
+public class LoadLibraryTest {
+    static Thread thread1 = null;
+    static Thread thread2 = null;
+
+    static volatile boolean thread1Ready = false;
+
+    private static final String TEST_SRC = System.getProperty("test.src");
+    private static final Path SRC_DIR = Paths.get(TEST_SRC, "src");
+    private static final Path CLS_DIR = Paths.get("classes");
+
+    static TestClassLoader loader;
+    static void someLibLoad() {
+        try {
+/*
+            FileSystems.getDefault();
+
+            // jdk/jdk: loads directly from Bootstrap Classloader (doesn't take lock on Runtime)
+            java.net.NetworkInterface.getNetworkInterfaces();
+
+            System.out.println(jdk.net.ExtendedSocketOptions.SO_FLOW_SLA);
+*/
+            Class c = Class.forName("Target2", true, loader);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    static class TestClassLoader extends URLClassLoader {
+        boolean passed = false;
+
+        public boolean passed() {
+            return passed;
+        }
+
+        TestClassLoader() throws MalformedURLException {
+            super(new URL[] { new URL("file://" + CLS_DIR.toAbsolutePath().toString() + '/') });
+        }
+
+        public String findLibrary(String name) {
+            System.out.println("findLibrary " + name);
+
+            if ("someLibrary".equals(name)) {
+                try {
+                    synchronized(thread1) {
+                        while(!thread1Ready) {
+                            thread1.wait();
+                        }
+                        thread1.notifyAll();
+                    }
+
+                    Thread.sleep(10000);
+
+                    System.out.println("Thread2 load");
+                    someLibLoad();
+
+                    // no deadlock happened
+                    passed = true;
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+                return null;
+            }
+
+            return super.findLibrary(name);
+        }
+    }
+
+
+    public static void main(String[] args) throws Exception {
+        loader = new TestClassLoader();
+
+        if (!CompilerUtils.compile(SRC_DIR, CLS_DIR)) {
+            throw new Exception("Can't compile");
+        }
+
+        thread1 = new Thread() {
+            public void run() {
+                try {
+                    synchronized(this) {
+                        thread1Ready = true;
+                        thread1.notifyAll();
+                        thread1.wait();
+                    }
+                } catch(InterruptedException e) {
+                    throw new RuntimeException(e);
+                }
+
+                System.out.println("Thread1 load");
+                someLibLoad();
+            };
+        };
+
+        thread2 = new Thread() {
+            public void run() {
+                try {
+                    Class c = Class.forName("Target", true, loader);
+                    System.out.println(c);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+            };
+        };
+
+        thread1.setDaemon(true);
+        thread2.setDaemon(true);
+
+        thread1.start();
+        thread2.start();
+
+        thread1.join();
+        thread2.join();
+
+        if (!loader.passed()) {
+            throw new RuntimeException("FAIL");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/lang/Runtime/loadLibrary/src/Target.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, Azul Systems, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * 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.
+ */
+
+class Target {
+    static {
+        try {
+            System.loadLibrary("someLibrary");
+            throw new RuntimeException("someLibrary was loaded");
+        } catch (UnsatisfiedLinkError e) {
+            // expected: we do not have a someLibrary
+        }
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/lang/Runtime/loadLibrary/src/Target2.java	Tue Oct 15 14:19:55 2019 +0530
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2019, Azul Systems, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * 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.
+ */
+
+class Target2 {
+    static {
+        System.loadLibrary("awt");
+    }
+}
+
--- a/test/jdk/java/util/Locale/Bug8040211.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/java/util/Locale/Bug8040211.java	Tue Oct 15 14:19:55 2019 +0530
@@ -23,9 +23,9 @@
 
 /*
  * @test
- * @bug 8040211 8191404 8203872 8222980
+ * @bug 8040211 8191404 8203872 8222980 8225435
  * @summary Checks the IANA language subtag registry data update
- *          (LSR Revision: 2019-04-03) with Locale and Locale.LanguageRange
+ *          (LSR Revision: 2019-09-16) with Locale and Locale.LanguageRange
  *          class methods.
  * @run main Bug8040211
  */
@@ -42,6 +42,84 @@
 
     static boolean err = false;
 
+    private static final String ACCEPT_LANGUAGE =
+        "Accept-Language: aam, adp, aog, aue, bcg, cey, cqu, dif, ema,"
+        + " en-gb-oed, gti, kdz, koj, kwq, kxe, lii, lmm, lsn, lsv, lvi, mtm,"
+        + " ngv, nns, oyb, phr, pnd, pub, snz, suj, szy,taj, tjj, tjp, tvx,"
+        + " uss, uth, wkr;q=0.9, ar-hyw;q=0.8, yug;q=0.5, gfx;q=0.4";
+    private static final List<LanguageRange> EXPECTED_RANGE_LIST = List.of(
+            new LanguageRange("aam", 1.0),
+            new LanguageRange("aas", 1.0),
+            new LanguageRange("adp", 1.0),
+            new LanguageRange("dz", 1.0),
+            new LanguageRange("aog", 1.0),
+            new LanguageRange("myd", 1.0),
+            new LanguageRange("aue", 1.0),
+            new LanguageRange("ktz", 1.0),
+            new LanguageRange("bcg", 1.0),
+            new LanguageRange("bgm", 1.0),
+            new LanguageRange("cey", 1.0),
+            new LanguageRange("cqu", 1.0),
+            new LanguageRange("quh", 1.0),
+            new LanguageRange("dif", 1.0),
+            new LanguageRange("dit", 1.0),
+            new LanguageRange("ema", 1.0),
+            new LanguageRange("uok", 1.0),
+            new LanguageRange("en-gb-oed", 1.0),
+            new LanguageRange("en-gb-oxendict", 1.0),
+            new LanguageRange("gti", 1.0),
+            new LanguageRange("nyc", 1.0),
+            new LanguageRange("kdz", 1.0),
+            new LanguageRange("ncp", 1.0),
+            new LanguageRange("koj", 1.0),
+            new LanguageRange("kwv", 1.0),
+            new LanguageRange("kwq", 1.0),
+            new LanguageRange("yam", 1.0),
+            new LanguageRange("kxe", 1.0),
+            new LanguageRange("tvd", 1.0),
+            new LanguageRange("lii", 1.0),
+            new LanguageRange("raq", 1.0),
+            new LanguageRange("lmm", 1.0),
+            new LanguageRange("rmx", 1.0),
+            new LanguageRange("lsn", 1.0),
+            new LanguageRange("lsv", 1.0),
+            new LanguageRange("lvi", 1.0),
+            new LanguageRange("mtm", 1.0),
+            new LanguageRange("ymt", 1.0),
+            new LanguageRange("ngv", 1.0),
+            new LanguageRange("nnx", 1.0),
+            new LanguageRange("nns", 1.0),
+            new LanguageRange("nbr", 1.0),
+            new LanguageRange("oyb", 1.0),
+            new LanguageRange("thx", 1.0),
+            new LanguageRange("skk", 1.0),
+            new LanguageRange("jeg", 1.0),
+            new LanguageRange("phr", 1.0),
+            new LanguageRange("pmu", 1.0),
+            new LanguageRange("pnd", 1.0),
+            new LanguageRange("pub", 1.0),
+            new LanguageRange("puz", 1.0),
+            new LanguageRange("snz", 1.0),
+            new LanguageRange("asd", 1.0),
+            new LanguageRange("suj", 1.0),
+            new LanguageRange("szy", 1.0),
+            new LanguageRange("taj", 1.0),
+            new LanguageRange("tsf", 1.0),
+            new LanguageRange("tjj", 1.0),
+            new LanguageRange("tjp", 1.0),
+            new LanguageRange("tvx", 1.0),
+            new LanguageRange("uss", 1.0),
+            new LanguageRange("uth", 1.0),
+            new LanguageRange("wkr", 0.9),
+            new LanguageRange("ar-hyw", 0.8),
+            new LanguageRange("yug", 0.5),
+            new LanguageRange("yuu", 0.5),
+            new LanguageRange("gfx", 0.4),
+            new LanguageRange("oun", 0.4),
+            new LanguageRange("mwj", 0.4),
+            new LanguageRange("vaj", 0.4)
+        );
+
     public static void main(String[] args) {
         testLanguageRange();
         testLocale();
@@ -66,70 +144,15 @@
 
     private static void test_parse() {
         boolean error = false;
-        String str = "Accept-Language: aam, adp, aue, bcg, cqu, ema,"
-                + " en-gb-oed, gti, kdz, koj, kwq, kxe, lii, lmm, mtm, ngv,"
-                + " oyb, phr, pub, suj, taj;q=0.9, ar-hyw;q=0.8, yug;q=0.5, gfx;q=0.4";
-        ArrayList<LanguageRange> expected = new ArrayList<>();
-        expected.add(new LanguageRange("aam", 1.0));
-        expected.add(new LanguageRange("aas", 1.0));
-        expected.add(new LanguageRange("adp", 1.0));
-        expected.add(new LanguageRange("dz", 1.0));
-        expected.add(new LanguageRange("aue", 1.0));
-        expected.add(new LanguageRange("ktz", 1.0));
-        expected.add(new LanguageRange("bcg", 1.0));
-        expected.add(new LanguageRange("bgm", 1.0));
-        expected.add(new LanguageRange("cqu", 1.0));
-        expected.add(new LanguageRange("quh", 1.0));
-        expected.add(new LanguageRange("ema", 1.0));
-        expected.add(new LanguageRange("uok", 1.0));
-        expected.add(new LanguageRange("en-gb-oed", 1.0));
-        expected.add(new LanguageRange("en-gb-oxendict", 1.0));
-        expected.add(new LanguageRange("gti", 1.0));
-        expected.add(new LanguageRange("nyc", 1.0));
-        expected.add(new LanguageRange("kdz", 1.0));
-        expected.add(new LanguageRange("ncp", 1.0));
-        expected.add(new LanguageRange("koj", 1.0));
-        expected.add(new LanguageRange("kwv", 1.0));
-        expected.add(new LanguageRange("kwq", 1.0));
-        expected.add(new LanguageRange("yam", 1.0));
-        expected.add(new LanguageRange("kxe", 1.0));
-        expected.add(new LanguageRange("tvd", 1.0));
-        expected.add(new LanguageRange("lii", 1.0));
-        expected.add(new LanguageRange("raq", 1.0));
-        expected.add(new LanguageRange("lmm", 1.0));
-        expected.add(new LanguageRange("rmx", 1.0));
-        expected.add(new LanguageRange("mtm", 1.0));
-        expected.add(new LanguageRange("ymt", 1.0));
-        expected.add(new LanguageRange("ngv", 1.0));
-        expected.add(new LanguageRange("nnx", 1.0));
-        expected.add(new LanguageRange("oyb", 1.0));
-        expected.add(new LanguageRange("thx", 1.0));
-        expected.add(new LanguageRange("skk", 1.0));
-        expected.add(new LanguageRange("jeg", 1.0));
-        expected.add(new LanguageRange("phr", 1.0));
-        expected.add(new LanguageRange("pmu", 1.0));
-        expected.add(new LanguageRange("pub", 1.0));
-        expected.add(new LanguageRange("puz", 1.0));
-        expected.add(new LanguageRange("suj", 1.0));
-        expected.add(new LanguageRange("xsj", 1.0));
-        expected.add(new LanguageRange("taj", 0.9));
-        expected.add(new LanguageRange("tsf", 0.9));
-        expected.add(new LanguageRange("ar-hyw", 0.8));
-        expected.add(new LanguageRange("yug", 0.5));
-        expected.add(new LanguageRange("yuu", 0.5));
-        expected.add(new LanguageRange("gfx", 0.4));
-        expected.add(new LanguageRange("oun", 0.4));
-        expected.add(new LanguageRange("mwj", 0.4));
-        expected.add(new LanguageRange("vaj", 0.4));
-        List<LanguageRange> got = LanguageRange.parse(str);
-        if (!areEqual(expected, got)) {
+        List<LanguageRange> got = LanguageRange.parse(ACCEPT_LANGUAGE);
+        if (!areEqual(EXPECTED_RANGE_LIST, got)) {
             error = true;
             System.err.println("    language parse() test failed.");
         }
 
         if (error) {
             err = true;
-            System.err.println("  test_parse() failed.");
+            System.out.println("  test_parse() failed.");
         } else {
             System.out.println("  test_parse() passed.");
         }
@@ -152,7 +175,7 @@
                         + ", weight=" + lr.getWeight());
             }
 
-            System.out.println("  Actual size=" + actualSize);
+            System.err.println("  Actual size=" + actualSize);
             for (LanguageRange lr : got) {
                 System.err.println("    range=" + lr.getRange()
                         + ", weight=" + lr.getWeight());
@@ -351,11 +374,11 @@
             String tags,
             String expectedTags,
             String actualTags) {
-        System.out.println("\nIncorrect " + methodName + " result.");
-        System.out.println("  Priority list  :  " + priorityList);
-        System.out.println("  Language tags  :  " + tags);
-        System.out.println("  Expected value : " + expectedTags);
-        System.out.println("  Actual value   : " + actualTags);
+        System.err.println("\nIncorrect " + methodName + " result.");
+        System.err.println("  Priority list  :  " + priorityList);
+        System.err.println("  Language tags  :  " + tags);
+        System.err.println("  Expected value : " + expectedTags);
+        System.err.println("  Actual value   : " + actualTags);
     }
 
 }
--- a/test/jdk/jdk/jfr/event/io/EvilInstrument.java	Sat Oct 12 08:49:59 2019 +0530
+++ b/test/jdk/jdk/jfr/event/io/EvilInstrument.java	Tue Oct 15 14:19:55 2019 +0530
@@ -52,6 +52,7 @@
  * @library /test/lib /test/jdk
  * @modules java.instrument
  *
+ * @build jdk.jfr.event.io.EvilInstrument
  * @run shell MakeJAR.sh EvilInstrument 'Can-Redefine-Classes: true'
  * @run main/othervm -javaagent:EvilInstrument.jar jdk.jfr.event.io.EvilInstrument
  */