--- a/.hgtags Thu Jul 26 09:30:58 2018 -0700
+++ b/.hgtags Thu Jul 26 10:00:40 2018 -0700
@@ -497,6 +497,7 @@
00b16d0457e43d23f6ca5ade6b243edce62750a0 jdk-12+1
9937ef7499dcd7673714517fd5e450410c14ba4e jdk-11+22
1edcf36fe15f79d6228d1a63eb680878e2386480 jdk-11+23
+ea900a7dc7d77dee30865c60eabd87fc24b1037c jdk-11+24
69b438908512d3dfef5852c6a843a5778333a309 jdk-12+2
990db216e7199b2ba9989d8fa20b657e0ca7d969 jdk-12+3
499b873761d8e8a1cc4aa649daf04cbe98cbce77 jdk-12+4
--- a/doc/building.html Thu Jul 26 09:30:58 2018 -0700
+++ b/doc/building.html Thu Jul 26 10:00:40 2018 -0700
@@ -1,16 +1,11 @@
<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<html>
<head>
- <meta charset="utf-8" />
- <meta name="generator" content="pandoc" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+ <meta charset="utf-8">
+ <meta name="generator" content="pandoc">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Building the JDK</title>
- <style type="text/css">
- code{white-space: pre-wrap;}
- span.smallcaps{font-variant: small-caps;}
- span.underline{text-decoration: underline;}
- div.column{display: inline-block; vertical-align: top; width: 50%;}
- </style>
+ <style type="text/css">code{white-space: pre;}</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css">
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
@@ -134,8 +129,8 @@
<p>The JDK is a complex software project. Building it requires a certain amount of technical expertise, a fair number of dependencies on external software, and reasonably powerful hardware.</p>
<p>If you just want to use the JDK and not build it yourself, this document is not for you. See for instance <a href="http://openjdk.java.net/install">OpenJDK installation</a> for some methods of installing a prebuilt JDK.</p>
<h2 id="getting-the-source-code">Getting the Source Code</h2>
-<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="http://hg.openjdk.java.net/">OpenJDK Mercurial server</a> you can see a list of all available forests. If you want to build an older version, e.g. JDK 8, it is recommended that you get the <code>jdk8u</code> forest, which contains incremental updates, instead of the <code>jdk8</code> forest, which was frozen at JDK 8 GA.</p>
-<p>If you are new to Mercurial, a good place to start is the <a href="http://www.mercurial-scm.org/guide">Mercurial Beginner’s Guide</a>. The rest of this document assumes a working knowledge of Mercurial.</p>
+<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="http://hg.openjdk.java.net/">OpenJDK Mercurial server</a> you can see a list of all available forests. If you want to build an older version, e.g. JDK 8, it is recommended that you get the <code>jdk8u</code> forest, which contains incremental updates, instead of the <code>jdk8</code> forest, which was frozen at JDK 8 GA.</p>
+<p>If you are new to Mercurial, a good place to start is the <a href="http://www.mercurial-scm.org/guide">Mercurial Beginner's Guide</a>. The rest of this document assumes a working knowledge of Mercurial.</p>
<h3 id="special-considerations">Special Considerations</h3>
<p>For a smooth building experience, it is recommended that you follow these rules on where and how to check out the source code.</p>
<ul>
@@ -144,7 +139,7 @@
<li><p>Put the source code on a local disk, not a network share. If possible, use an SSD. The build process is very disk intensive, and having slow disk access will significantly increase build times. If you need to use a network share for the source code, see below for suggestions on how to keep the build artifacts on a local disk.</p></li>
<li><p>On Windows, extra care must be taken to make sure the <a href="#cygwin">Cygwin</a> environment is consistent. It is recommended that you follow this procedure:</p>
<ul>
-<li><p>Create the directory that is going to contain the top directory of the JDK clone by using the <code>mkdir</code> command in the Cygwin bash shell. That is, do <em>not</em> create it using Windows Explorer. This will ensure that it will have proper Cygwin attributes, and that it’s children will inherit those attributes.</p></li>
+<li><p>Create the directory that is going to contain the top directory of the JDK clone by using the <code>mkdir</code> command in the Cygwin bash shell. That is, do <em>not</em> create it using Windows Explorer. This will ensure that it will have proper Cygwin attributes, and that it's children will inherit those attributes.</p></li>
<li><p>Do not put the JDK clone in a path under your Cygwin home directory. This is especially important if your user name contains spaces and/or mixed upper and lower case letters.</p></li>
<li><p>Clone the JDK repository using the Cygwin command line <code>hg</code> client as instructed in this document. That is, do <em>not</em> use another Mercurial client such as TortoiseHg.</p></li>
</ul>
@@ -161,7 +156,7 @@
<h3 id="building-on-armaarch64">Building on arm/aarch64</h3>
<p>This is not recommended. Instead, see the section on <a href="#cross-compiling">Cross-compiling</a>.</p>
<h2 id="operating-system-requirements">Operating System Requirements</h2>
-<p>The mainline JDK project supports Linux, Solaris, macOS, AIX and Windows. Support for other operating system, e.g. BSD, exists in separate “port” projects.</p>
+<p>The mainline JDK project supports Linux, Solaris, macOS, AIX and Windows. Support for other operating system, e.g. BSD, exists in separate "port" projects.</p>
<p>In general, the JDK can be built on a wide range of versions of these operating systems, but the further you deviate from what is tested on a daily basis, the more likely you are to run into problems.</p>
<p>This table lists the OS versions used by Oracle when building the JDK. Such information is always subject to change, but this table is up to date at the time of writing.</p>
<table>
@@ -196,7 +191,7 @@
<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
<p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layer is Cygwin. (Msys is no longer supported due to a too old bash; msys2 and the new Windows Subsystem for Linux (WSL) would likely be possible to support in a future version but that would require effort to implement.)</p>
-<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/hg/jdk9/Makefile</code> rather than <code>C:\hg\jdk9\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
+<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/hg/jdk9/Makefile</code> rather than <code>C:\hg\jdk9\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
<h4 id="cygwin">Cygwin</h4>
<p>A functioning <a href="http://www.cygwin.com/">Cygwin</a> environment is thus required for building the JDK on Windows. If you have a 64-bit OS, we strongly recommend using the 64-bit version of Cygwin.</p>
<p><strong>Note:</strong> Cygwin has a model of continuously updating all packages without any easy way to install or revert to a specific version of a package. This means that whenever you add or update a package in Cygwin, you might (inadvertently) update tools that are used by the JDK build process, and that can cause unexpected build problems.</p>
@@ -210,13 +205,13 @@
</ul>
<p>Often, you can install these packages using the following command line:</p>
<pre><code><path to Cygwin setup>/setup-x86_64 -q -P autoconf -P make -P unzip -P zip</code></pre>
-<p>Unfortunately, Cygwin can be unreliable in certain circumstances. If you experience build tool crashes or strange issues when building on Windows, please check the Cygwin FAQ on the <a href="https://cygwin.com/faq/faq.html#faq.using.bloda">“BLODA” list</a> and the section on <a href="https://cygwin.com/faq/faq.html#faq.using.fixing-fork-failures">fork() failures</a>.</p>
+<p>Unfortunately, Cygwin can be unreliable in certain circumstances. If you experience build tool crashes or strange issues when building on Windows, please check the Cygwin FAQ on the <a href="https://cygwin.com/faq/faq.html#faq.using.bloda">"BLODA" list</a> and the section on <a href="https://cygwin.com/faq/faq.html#faq.using.fixing-fork-failures">fork() failures</a>.</p>
<h3 id="solaris">Solaris</h3>
<p>See <code>make/devkit/solaris11.1-package-list.txt</code> for a list of recommended packages to install when building on Solaris. The versions specified in this list is the versions used by the daily builds at Oracle, and is likely to work properly.</p>
<p>Older versions of Solaris shipped a broken version of <code>objcopy</code>. At least version 2.21.1 is needed, which is provided by Solaris 11 Update 1. Objcopy is needed if you want to have external debug symbols. Please make sure you are using at least version 2.21.1 of objcopy, or that you disable external debug symbols.</p>
<h3 id="macos">macOS</h3>
<p>Apple is using a quite aggressive scheme of pushing OS updates, and coupling these updates with required updates of Xcode. Unfortunately, this makes it difficult for a project such as the JDK to keep pace with a continuously updated machine running macOS. See the section on <a href="#apple-xcode">Apple Xcode</a> on some strategies to deal with this.</p>
-<p>It is recommended that you use at least Mac OS X 10.9 (Mavericks). At the time of writing, the JDK has been successfully compiled on macOS versions up to 10.12.5 (Sierra), using XCode 8.3.2 and <code>--disable-warnings-as-errors</code>.</p>
+<p>It is recommended that you use at least Mac OS X 10.13 (High Sierra). At the time of writing, the JDK has been successfully compiled on macOS 10.12 (Sierra).</p>
<p>The standard macOS environment contains the basic tooling needed to build, but for external libraries a package manager is recommended. The JDK uses <a href="https://brew.sh/">homebrew</a> in the examples, but feel free to use whatever manager you want (or none).</p>
<h3 id="linux">Linux</h3>
<p>It is often not much problem to build the JDK on Linux. The only general advice is to try to use the compilers, external libraries and header files as provided by your distribution.</p>
@@ -228,7 +223,7 @@
<h3 id="aix">AIX</h3>
<p>The regular builds by SAP is using AIX version 7.1, but AIX 5.3 is also supported. See the <a href="http://cr.openjdk.java.net/~simonis/ppc-aix-port">OpenJDK PowerPC Port Status Page</a> for details.</p>
<h2 id="native-compiler-toolchain-requirements">Native Compiler (Toolchain) Requirements</h2>
-<p>Large portions of the JDK consists of native code, that needs to be compiled to be able to run on the target platform. In theory, toolchain and operating system should be independent factors, but in practice there’s more or less a one-to-one correlation between target operating system and toolchain.</p>
+<p>Large portions of the JDK consists of native code, that needs to be compiled to be able to run on the target platform. In theory, toolchain and operating system should be independent factors, but in practice there's more or less a one-to-one correlation between target operating system and toolchain.</p>
<table>
<thead>
<tr class="header">
@@ -274,7 +269,7 @@
</tr>
<tr class="even">
<td style="text-align: left;">macOS</td>
-<td style="text-align: left;">Apple Xcode 6.3 (using clang 6.1.0)</td>
+<td style="text-align: left;">Apple Xcode 9.4 (using clang 9.1.0)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Solaris</td>
@@ -282,7 +277,7 @@
</tr>
<tr class="even">
<td style="text-align: left;">Windows</td>
-<td style="text-align: left;">Microsoft Visual Studio 2013 update 4</td>
+<td style="text-align: left;">Microsoft Visual Studio 2017 update 15.5.5</td>
</tr>
</tbody>
</table>
@@ -294,10 +289,10 @@
<p>The minimum accepted version of clang is 3.2. Older versions will not be accepted by <code>configure</code>.</p>
<p>To use clang instead of gcc on Linux, use <code>--with-toolchain-type=clang</code>.</p>
<h3 id="apple-xcode">Apple Xcode</h3>
-<p>The oldest supported version of Xcode is 5.</p>
+<p>The oldest supported version of Xcode is 8.</p>
<p>You will need the Xcode command lines developers tools to be able to build the JDK. (Actually, <em>only</em> the command lines tools are needed, not the IDE.) The simplest way to install these is to run:</p>
<pre><code>xcode-select --install</code></pre>
-<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode5.app/Contents/Developer/usr/bin</code></p>
+<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin</code></p>
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
<h3 id="oracle-solaris-studio">Oracle Solaris Studio</h3>
<p>The minimum accepted version of the Solaris Studio compilers is 5.13 (corresponding to Solaris Studio 12.4). Older versions will not be accepted by configure.</p>
@@ -358,15 +353,15 @@
$ CC -V
CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
-<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2013.</p>
-<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2010</code>.</p>
+<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2017. Versions older than 2017 are unlikely to continue working for long.</p>
+<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p>
<p>If you get <code>LINK: fatal error LNK1123: failure during conversion to COFF: file invalid</code> when building using Visual Studio 2010, you have encountered <a href="http://support.microsoft.com/kb/2757355">KB2757355</a>, a bug triggered by a specific installation order. However, the solution suggested by the KB article does not always resolve the problem. See <a href="https://stackoverflow.com/questions/10888391">this stackoverflow discussion</a> for other suggestions.</p>
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
<p>The regular builds by SAP is using version 12.1, described as <code>IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72) Version: 12.01.0000.0017</code>.</p>
<p>See the <a href="http://cr.openjdk.java.net/~simonis/ppc-aix-port">OpenJDK PowerPC Port Status Page</a> for details.</p>
<h2 id="boot-jdk-requirements">Boot JDK Requirements</h2>
-<p>Paradoxically, building the JDK requires a pre-existing JDK. This is called the “boot JDK”. The boot JDK does not, however, have to be a JDK built directly from the source code available in the OpenJDK Community. If you are porting the JDK to a new platform, chances are that there already exists another JDK for that platform that is usable as boot JDK.</p>
-<p>The rule of thumb is that the boot JDK for building JDK major version <em>N</em> should be a JDK of major version <em>N-1</em>, so for building JDK 9 a JDK 8 would be suitable as boot JDK. However, the JDK should be able to “build itself”, so an up-to-date build of the current JDK source is an acceptable alternative. If you are following the <em>N-1</em> rule, make sure you’ve got the latest update version, since JDK 8 GA might not be able to build JDK 9 on all platforms.</p>
+<p>Paradoxically, building the JDK requires a pre-existing JDK. This is called the "boot JDK". The boot JDK does not, however, have to be a JDK built directly from the source code available in the OpenJDK Community. If you are porting the JDK to a new platform, chances are that there already exists another JDK for that platform that is usable as boot JDK.</p>
+<p>The rule of thumb is that the boot JDK for building JDK major version <em>N</em> should be a JDK of major version <em>N-1</em>, so for building JDK 9 a JDK 8 would be suitable as boot JDK. However, the JDK should be able to "build itself", so an up-to-date build of the current JDK source is an acceptable alternative. If you are following the <em>N-1</em> rule, make sure you've got the latest update version, since JDK 8 GA might not be able to build JDK 9 on all platforms.</p>
<p>Early in the release cycle, version <em>N-1</em> may not yet have been released. In that case, the preferred boot JDK will be version <em>N-2</em> until version <em>N-1</em> is available.</p>
<p>If the boot JDK is not automatically detected, or the wrong JDK is picked, use <code>--with-boot-jdk</code> to point to the JDK to use.</p>
<h3 id="getting-jdk-binaries">Getting JDK binaries</h3>
@@ -428,14 +423,14 @@
<h3 id="gnu-make">GNU Make</h3>
<p>The JDK requires <a href="http://www.gnu.org/software/make">GNU Make</a>. No other flavors of make are supported.</p>
<p>At least version 3.81 of GNU Make must be used. For distributions supporting GNU Make 4.0 or above, we strongly recommend it. GNU Make 4.0 contains useful functionality to handle parallel building (supported by <code>--with-output-sync</code>) and speed and stability improvements.</p>
-<p>Note that <code>configure</code> locates and verifies a properly functioning version of <code>make</code> and stores the path to this <code>make</code> binary in the configuration. If you start a build using <code>make</code> on the command line, you will be using the version of make found first in your <code>PATH</code>, and not necessarily the one stored in the configuration. This initial make will be used as “bootstrap make”, and in a second stage, the make located by <code>configure</code> will be called. Normally, this will present no issues, but if you have a very old <code>make</code>, or a non-GNU Make <code>make</code> in your path, this might cause issues.</p>
+<p>Note that <code>configure</code> locates and verifies a properly functioning version of <code>make</code> and stores the path to this <code>make</code> binary in the configuration. If you start a build using <code>make</code> on the command line, you will be using the version of make found first in your <code>PATH</code>, and not necessarily the one stored in the configuration. This initial make will be used as "bootstrap make", and in a second stage, the make located by <code>configure</code> will be called. Normally, this will present no issues, but if you have a very old <code>make</code>, or a non-GNU Make <code>make</code> in your path, this might cause issues.</p>
<p>If you want to override the default make found by <code>configure</code>, use the <code>MAKE</code> configure variable, e.g. <code>configure MAKE=/opt/gnu/make</code>.</p>
<p>On Solaris, it is common to call the GNU version of make by using <code>gmake</code>.</p>
<h3 id="gnu-bash">GNU Bash</h3>
<p>The JDK requires <a href="http://www.gnu.org/software/bash">GNU Bash</a>. No other shells are supported.</p>
<p>At least version 3.2 of GNU Bash must be used.</p>
<h2 id="running-configure">Running Configure</h2>
-<p>To build the JDK, you need a “configuration”, which consists of a directory where to store the build output, coupled with information about the platform, the specific build machine, and choices that affect how the JDK is built.</p>
+<p>To build the JDK, you need a "configuration", which consists of a directory where to store the build output, coupled with information about the platform, the specific build machine, and choices that affect how the JDK is built.</p>
<p>The configuration is created by the <code>configure</code> script. The basic invocation of the <code>configure</code> script looks like this:</p>
<pre><code>bash configure [options]</code></pre>
<p>This will create an output directory containing the configuration and setup an area for the build result. This directory typically looks like <code>build/linux-x64-normal-server-release</code>, but the actual name depends on your specific configuration. (It can also be set directly, see <a href="#using-multiple-configurations">Using Multiple Configurations</a>). This directory is referred to as <code>$BUILD</code> in this documentation.</p>
@@ -497,13 +492,13 @@
</ul>
<h3 id="configure-control-variables">Configure Control Variables</h3>
<p>It is possible to control certain aspects of <code>configure</code> by overriding the value of <code>configure</code> variables, either on the command line or in the environment.</p>
-<p>Normally, this is <strong>not recommended</strong>. If used improperly, it can lead to a broken configuration. Unless you’re well versed in the build system, this is hard to use properly. Therefore, <code>configure</code> will print a warning if this is detected.</p>
+<p>Normally, this is <strong>not recommended</strong>. If used improperly, it can lead to a broken configuration. Unless you're well versed in the build system, this is hard to use properly. Therefore, <code>configure</code> will print a warning if this is detected.</p>
<p>However, there are a few <code>configure</code> variables, known as <em>control variables</em> that are supposed to be overriden on the command line. These are variables that describe the location of tools needed by the build, like <code>MAKE</code> or <code>GREP</code>. If any such variable is specified, <code>configure</code> will use that value instead of trying to autodetect the tool. For instance, <code>bash configure MAKE=/opt/gnumake4.0/bin/make</code>.</p>
-<p>If a configure argument exists, use that instead, e.g. use <code>--with-jtreg</code> instead of setting <code>JTREGEXE</code>.</p>
+<p>If a configure argument exists, use that instead, e.g. use <code>--with-jtreg</code> instead of setting <code>JTREGEXE</code>.</p>
<p>Also note that, despite what autoconf claims, setting <code>CFLAGS</code> will not accomplish anything. Instead use <code>--with-extra-cflags</code> (and similar for <code>cxxflags</code> and <code>ldflags</code>).</p>
<h2 id="running-make">Running Make</h2>
<p>When you have a proper configuration, all you need to do to build the JDK is to run <code>make</code>. (But see the warning at <a href="#gnu-make">GNU Make</a> about running the correct version of make.)</p>
-<p>When running <code>make</code> without any arguments, the default target is used, which is the same as running <code>make default</code> or <code>make jdk</code>. This will build a minimal (or roughly minimal) set of compiled output (known as an “exploded image”) needed for a developer to actually execute the newly built JDK. The idea is that in an incremental development fashion, when doing a normal make, you should only spend time recompiling what’s changed (making it purely incremental) and only do the work that’s needed to actually run and test your code.</p>
+<p>When running <code>make</code> without any arguments, the default target is used, which is the same as running <code>make default</code> or <code>make jdk</code>. This will build a minimal (or roughly minimal) set of compiled output (known as an "exploded image") needed for a developer to actually execute the newly built JDK. The idea is that in an incremental development fashion, when doing a normal make, you should only spend time recompiling what's changed (making it purely incremental) and only do the work that's needed to actually run and test your code.</p>
<p>The output of the exploded image resides in <code>$BUILD/jdk</code>. You can test the newly built JDK like this: <code>$BUILD/jdk/bin/java -version</code>.</p>
<h3 id="common-make-targets">Common Make Targets</h3>
<p>Apart from the default target, here are some common make targets:</p>
@@ -534,8 +529,8 @@
</ul>
<h3 id="make-control-variables">Make Control Variables</h3>
<p>It is possible to control <code>make</code> behavior by overriding the value of <code>make</code> variables, either on the command line or in the environment.</p>
-<p>Normally, this is <strong>not recommended</strong>. If used improperly, it can lead to a broken build. Unless you’re well versed in the build system, this is hard to use properly. Therefore, <code>make</code> will print a warning if this is detected.</p>
-<p>However, there are a few <code>make</code> variables, known as <em>control variables</em> that are supposed to be overriden on the command line. These make up the “make time” configuration, as opposed to the “configure time” configuration.</p>
+<p>Normally, this is <strong>not recommended</strong>. If used improperly, it can lead to a broken build. Unless you're well versed in the build system, this is hard to use properly. Therefore, <code>make</code> will print a warning if this is detected.</p>
+<p>However, there are a few <code>make</code> variables, known as <em>control variables</em> that are supposed to be overriden on the command line. These make up the "make time" configuration, as opposed to the "configure time" configuration.</p>
<h4 id="general-make-control-variables">General Make Control Variables</h4>
<ul>
<li><code>JOBS</code> - Specify the number of jobs to build with. See <a href="#build-performance">Build Performance</a>.</li>
@@ -559,7 +554,7 @@
<li><code>JDK_FILTER</code></li>
</ul>
<h2 id="running-tests">Running Tests</h2>
-<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=<path to jtreg home></code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
+<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=<path to jtreg home></code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://adopt-openjdk.ci.cloudbees.com/job/jtreg/lastSuccessfulBuild/artifact">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
<p>To execute the most basic tests (tier 1), use:</p>
<pre><code>make run-test-tier1</code></pre>
@@ -569,13 +564,13 @@
<p>The typical reason for cross-compiling is that the build is performed on a more powerful desktop computer, but the resulting binaries will be able to run on a different, typically low-performing system. Most of the complications that arise when building for embedded is due to this separation of <em>build</em> and <em>target</em> systems.</p>
<p>This requires a more complex setup and build procedure. This section assumes you are familiar with cross-compiling in general, and will only deal with the particularities of cross-compiling the JDK. If you are new to cross-compiling, please see the <a href="https://en.wikipedia.org/wiki/Cross_compiler#External_links">external links at Wikipedia</a> for a good start on reading materials.</p>
<p>Cross-compiling the JDK requires you to be able to build both for the build platform and for the target platform. The reason for the former is that we need to build and execute tools during the build process, both native tools and Java tools.</p>
-<p>If all you want to do is to compile a 32-bit version, for the same OS, on a 64-bit machine, consider using <code>--with-target-bits=32</code> instead of doing a full-blown cross-compilation. (While this surely is possible, it’s a lot more work and will take much longer to build.)</p>
+<p>If all you want to do is to compile a 32-bit version, for the same OS, on a 64-bit machine, consider using <code>--with-target-bits=32</code> instead of doing a full-blown cross-compilation. (While this surely is possible, it's a lot more work and will take much longer to build.)</p>
<h3 id="boot-jdk-and-build-jdk">Boot JDK and Build JDK</h3>
<p>When cross-compiling, make sure you use a boot JDK that runs on the <em>build</em> system, and not on the <em>target</em> system.</p>
-<p>To be able to build, we need a “Build JDK”, which is a JDK built from the current sources (that is, the same as the end result of the entire build process), but able to run on the <em>build</em> system, and not the <em>target</em> system. (In contrast, the Boot JDK should be from an older release, e.g. JDK 8 when building JDK 9.)</p>
+<p>To be able to build, we need a "Build JDK", which is a JDK built from the current sources (that is, the same as the end result of the entire build process), but able to run on the <em>build</em> system, and not the <em>target</em> system. (In contrast, the Boot JDK should be from an older release, e.g. JDK 8 when building JDK 9.)</p>
<p>The build process will create a minimal Build JDK for you, as part of building. To speed up the build, you can use <code>--with-build-jdk</code> to <code>configure</code> to point to a pre-built Build JDK. Please note that the build result is unpredictable, and can possibly break in subtle ways, if the Build JDK does not <strong>exactly</strong> match the current sources.</p>
<h3 id="specifying-the-target-platform">Specifying the Target Platform</h3>
-<p>You <em>must</em> specify the target platform when cross-compiling. Doing so will also automatically turn the build into a cross-compiling mode. The simplest way to do this is to use the <code>--openjdk-target</code> argument, e.g. <code>--openjdk-target=arm-linux-gnueabihf</code>. or <code>--openjdk-target=aarch64-oe-linux</code>. This will automatically set the <code>--build</code>, <code>--host</code> and <code>--target</code> options for autoconf, which can otherwise be confusing. (In autoconf terminology, the “target” is known as “host”, and “target” is used for building a Canadian cross-compiler.)</p>
+<p>You <em>must</em> specify the target platform when cross-compiling. Doing so will also automatically turn the build into a cross-compiling mode. The simplest way to do this is to use the <code>--openjdk-target</code> argument, e.g. <code>--openjdk-target=arm-linux-gnueabihf</code>. or <code>--openjdk-target=aarch64-oe-linux</code>. This will automatically set the <code>--build</code>, <code>--host</code> and <code>--target</code> options for autoconf, which can otherwise be confusing. (In autoconf terminology, the "target" is known as "host", and "target" is used for building a Canadian cross-compiler.)</p>
<h3 id="toolchain-considerations">Toolchain Considerations</h3>
<p>You will need two copies of your toolchain, one which generates output that can run on the target system (the normal, or <em>target</em>, toolchain), and one that generates output that can run on the build system (the <em>build</em> toolchain). Note that cross-compiling is only supported for gcc at the time being. The gcc standard is to prefix cross-compiling toolchains with the target denominator. If you follow this standard, <code>configure</code> is likely to pick up the toolchain correctly.</p>
<p>The <em>build</em> toolchain will be autodetected just the same way the normal <em>build</em>/<em>target</em> toolchain will be autodetected when not cross-compiling. If this is not what you want, or if the autodetection fails, you can specify a devkit containing the <em>build</em> toolchain using <code>--with-build-devkit</code> to <code>configure</code>, or by giving <code>BUILD_CC</code> and <code>BUILD_CXX</code> arguments.</p>
@@ -587,23 +582,21 @@
</ul>
<h3 id="native-libraries">Native Libraries</h3>
<p>You will need copies of external native libraries for the <em>target</em> system, present on the <em>build</em> machine while building.</p>
-<p>Take care not to replace the <em>build</em> system’s version of these libraries by mistake, since that can render the <em>build</em> machine unusable.</p>
+<p>Take care not to replace the <em>build</em> system's version of these libraries by mistake, since that can render the <em>build</em> machine unusable.</p>
<p>Make sure that the libraries you point to (ALSA, X11, etc) are for the <em>target</em>, not the <em>build</em>, platform.</p>
<h4 id="alsa-1">ALSA</h4>
-<p>You will need alsa libraries suitable for your <em>target</em> system. For most cases, using Debian’s pre-built libraries work fine.</p>
+<p>You will need alsa libraries suitable for your <em>target</em> system. For most cases, using Debian's pre-built libraries work fine.</p>
<p>Note that alsa is needed even if you only want to build a headless JDK.</p>
<ul>
<li><p>Go to <a href="https://www.debian.org/distrib/packages">Debian Package Search</a> and search for the <code>libasound2</code> and <code>libasound2-dev</code> packages for your <em>target</em> system. Download them to /tmp.</p></li>
-<li>Install the libraries into the cross-compilation toolchain. For instance:</li>
-</ul>
+<li><p>Install the libraries into the cross-compilation toolchain. For instance:</p>
<pre><code>cd /tools/gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux/arm-linux-gnueabihf/libc
dpkg-deb -x /tmp/libasound2_1.0.25-4_armhf.deb .
-dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre>
-<ul>
-<li>If alsa is not properly detected by <code>configure</code>, you can point it out by <code>--with-alsa</code>.</li>
+dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre></li>
+<li><p>If alsa is not properly detected by <code>configure</code>, you can point it out by <code>--with-alsa</code>.</p></li>
</ul>
<h4 id="x11-1">X11</h4>
-<p>You will need X11 libraries suitable for your <em>target</em> system. For most cases, using Debian’s pre-built libraries work fine.</p>
+<p>You will need X11 libraries suitable for your <em>target</em> system. For most cases, using Debian's pre-built libraries work fine.</p>
<p>Note that X11 is needed even if you only want to build a headless JDK.</p>
<ul>
<li>Go to <a href="https://www.debian.org/distrib/packages">Debian Package Search</a>, search for the following packages for your <em>target</em> system, and download them to /tmp/target-x11:
@@ -643,7 +636,7 @@
</ul>
<h3 id="building-for-armaarch64">Building for ARM/aarch64</h3>
<p>A common cross-compilation target is the ARM CPU. When building for ARM, it is useful to set the ABI profile. A number of pre-defined ABI profiles are available using <code>--with-abi-profile</code>: arm-vfp-sflt, arm-vfp-hflt, arm-sflt, armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer properly supported by the JDK.</p>
-<p>The JDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to –with-abi-profile, to ensure a consistent build.</p>
+<p>The JDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to --with-abi-profile, to ensure a consistent build.</p>
<h3 id="verifying-the-build">Verifying the Build</h3>
<p>The build will end up in a directory named like <code>build/linux-arm-normal-server-release</code>.</p>
<p>Inside this build output directory, the <code>images/jdk</code> will contain the newly built JDK, for your <em>target</em> system.</p>
@@ -651,21 +644,21 @@
<h2 id="build-performance">Build Performance</h2>
<p>Building the JDK requires a lot of horsepower. Some of the build tools can be adjusted to utilize more or less of resources such as parallel threads and memory. The <code>configure</code> script analyzes your system and selects reasonable values for such options based on your hardware. If you encounter resource problems, such as out of memory conditions, you can modify the detected values with:</p>
<ul>
-<li><p><code>--with-num-cores</code> – number of cores in the build system, e.g. <code>--with-num-cores=8</code>.</p></li>
-<li><p><code>--with-memory-size</code> – memory (in MB) available in the build system, e.g. <code>--with-memory-size=1024</code></p></li>
+<li><p><code>--with-num-cores</code> -- number of cores in the build system, e.g. <code>--with-num-cores=8</code>.</p></li>
+<li><p><code>--with-memory-size</code> -- memory (in MB) available in the build system, e.g. <code>--with-memory-size=1024</code></p></li>
</ul>
<p>You can also specify directly the number of build jobs to use with <code>--with-jobs=N</code> to <code>configure</code>, or <code>JOBS=N</code> to <code>make</code>. Do not use the <code>-j</code> flag to <code>make</code>. In most cases it will be ignored by the makefiles, but it can cause problems for some make targets.</p>
<p>It might also be necessary to specify the JVM arguments passed to the Boot JDK, using e.g. <code>--with-boot-jdk-jvmargs="-Xmx8G"</code>. Doing so will override the default JVM arguments passed to the Boot JDK.</p>
<p>At the end of a successful execution of <code>configure</code>, you will get a performance summary, indicating how well the build will perform. Here you will also get performance hints. If you want to build fast, pay attention to those!</p>
<p>If you want to tweak build performance, run with <code>make LOG=info</code> to get a build time summary at the end of the build process.</p>
<h3 id="disk-speed">Disk Speed</h3>
-<p>If you are using network shares, e.g. via NFS, for your source code, make sure the build directory is situated on local disk (e.g. by <code>ln -s /localdisk/jdk-build $JDK-SHARE/build</code>). The performance penalty is extremely high for building on a network share; close to unusable.</p>
+<p>If you are using network shares, e.g. via NFS, for your source code, make sure the build directory is situated on local disk (e.g. by <code>ln -s /localdisk/jdk-build $JDK-SHARE/build</code>). The performance penalty is extremely high for building on a network share; close to unusable.</p>
<p>Also, make sure that your build tools (including Boot JDK and toolchain) is located on a local disk and not a network share.</p>
<p>As has been stressed elsewhere, do use SSD for source code and build directory, as well as (if possible) the build tools.</p>
<h3 id="virus-checking">Virus Checking</h3>
<p>The use of virus checking software, especially on Windows, can <em>significantly</em> slow down building of the JDK. If possible, turn off such software, or exclude the directory containing the JDK source code from on-the-fly checking.</p>
<h3 id="ccache">Ccache</h3>
-<p>The JDK build supports building with ccache when using gcc or clang. Using ccache can radically speed up compilation of native code if you often rebuild the same sources. Your milage may vary however, so we recommend evaluating it for yourself. To enable it, make sure it’s on the path and configure with <code>--enable-ccache</code>.</p>
+<p>The JDK build supports building with ccache when using gcc or clang. Using ccache can radically speed up compilation of native code if you often rebuild the same sources. Your milage may vary however, so we recommend evaluating it for yourself. To enable it, make sure it's on the path and configure with <code>--enable-ccache</code>.</p>
<h3 id="precompiled-headers">Precompiled Headers</h3>
<p>By default, the Hotspot build uses preccompiled headers (PCH) on the toolchains were it is properly supported (clang, gcc, and Visual Studio). Normally, this speeds up the build process, but in some circumstances, it can actually slow things down.</p>
<p>You can experiment by disabling precompiled headers using <code>--disable-precompiled-headers</code>.</p>
@@ -700,11 +693,11 @@
Hint: Try searching the build log for the name of the first failed target.
Hint: If caused by a warning, try configure --disable-warnings-as-errors.</code></pre>
-<p>Let’s break it down! First, the selected configuration, and the top-level target you entered on the command line that caused the failure is printed.</p>
+<p>Let's break it down! First, the selected configuration, and the top-level target you entered on the command line that caused the failure is printed.</p>
<p>Then, between the <code>Output from failing command(s) repeated here</code> and <code>End of repeated output</code> the first lines of output (stdout and stderr) from the actual failing command is repeated. In most cases, this is the error message that caused the build to fail. If multiple commands were failing (this can happen in a parallel build), output from all failed commands will be printed here.</p>
<p>The path to the <code>failure-logs</code> directory is printed. In this file you will find a <code><target>.log</code> file that contains the output from this command in its entirety, and also a <code><target>.cmd</code>, which contain the complete command line used for running this command. You can re-run the failing command by executing <code>. <path to failure-logs>/<target>.cmd</code> in your shell.</p>
<p>Another way to trace the failure is to follow the chain of make targets, from top-level targets to individual file targets. Between <code>Make failed targets repeated here</code> and <code>End of repeated output</code> the output from make showing this chain is repeated. The first failed recipe will typically contain the full path to the file in question that failed to compile. Following lines will show a trace of make targets why we ended up trying to compile that file.</p>
-<p>Finally, some hints are given on how to locate the error in the complete log. In this example, we would try searching the log file for “<code>psMemoryPool.o</code>”. Another way to quickly locate make errors in the log is to search for “<code>] Error</code>” or “<code>***</code>”.</p>
+<p>Finally, some hints are given on how to locate the error in the complete log. In this example, we would try searching the log file for "<code>psMemoryPool.o</code>". Another way to quickly locate make errors in the log is to search for "<code>] Error</code>" or "<code>***</code>".</p>
<p>Note that the build failure summary will only help you if the issue was a compilation failure or similar. If the problem is more esoteric, or is due to errors in the build machinery, you will likely get empty output logs, and <code>No indication of failed target found</code> instead of the make target chain.</p>
<h4 id="checking-the-build-log-file">Checking the Build Log File</h4>
<p>The output (stdout and stderr) from the latest build is always stored in <code>$BUILD/build.log</code>. The previous build log is stored as <code>build.log.old</code>. This means that it is not necessary to redirect the build output yourself if you want to process it.</p>
@@ -725,13 +718,13 @@
<li><p>Clean build results</p>
<p>The simplest way to fix incremental rebuild issues is to run <code>make clean</code>. This will remove all build results, but not the configuration or any build system support artifacts. In most cases, this will solve build errors resulting from incremental build mismatches.</p></li>
<li><p>Completely clean the build directory.</p>
-<p>If this does not work, the next step is to run <code>make dist-clean</code>, or removing the build output directory (<code>$BUILD</code>). This will clean all generated output, including your configuration. You will need to re-run <code>configure</code> after this step. A good idea is to run <code>make print-configuration</code> before running <code>make dist-clean</code>, as this will print your current <code>configure</code> command line. Here’s a way to do this:</p>
+<p>If this does not work, the next step is to run <code>make dist-clean</code>, or removing the build output directory (<code>$BUILD</code>). This will clean all generated output, including your configuration. You will need to re-run <code>configure</code> after this step. A good idea is to run <code>make print-configuration</code> before running <code>make dist-clean</code>, as this will print your current <code>configure</code> command line. Here's a way to do this:</p>
<pre><code>make print-configuration > current-configuration
make dist-clean
bash configure $(cat current-configuration)
make</code></pre></li>
<li><p>Re-clone the Mercurial forest</p>
-<p>Sometimes the Mercurial repositories themselves gets in a state that causes the product to be un-buildable. In such a case, the simplest solution is often the “sledgehammer approach”: delete the entire forest, and re-clone it. If you have local changes, save them first to a different location using <code>hg export</code>.</p></li>
+<p>Sometimes the Mercurial repositories themselves gets in a state that causes the product to be un-buildable. In such a case, the simplest solution is often the "sledgehammer approach": delete the entire forest, and re-clone it. If you have local changes, save them first to a different location using <code>hg export</code>.</p></li>
</ol>
<h3 id="specific-build-issues">Specific Build Issues</h3>
<h4 id="clock-skew">Clock Skew</h4>
@@ -755,7 +748,7 @@
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
<h3 id="setting-up-a-forest-for-pushing-changes-defpath">Setting Up a Forest for Pushing Changes (defpath)</h3>
<p>To help you prepare a proper push path for a Mercurial repository, there exists a useful tool known as <a href="http://openjdk.java.net/projects/code-tools/defpath">defpath</a>. It will help you setup a proper push path for pushing changes to the JDK.</p>
-<p>Install the extension by cloning <code>http://hg.openjdk.java.net/code-tools/defpath</code> and updating your <code>.hgrc</code> file. Here’s one way to do this:</p>
+<p>Install the extension by cloning <code>http://hg.openjdk.java.net/code-tools/defpath</code> and updating your <code>.hgrc</code> file. Here's one way to do this:</p>
<pre><code>cd ~
mkdir hg-ext
cd hg-ext
@@ -789,7 +782,7 @@
<h3 id="handling-reconfigurations">Handling Reconfigurations</h3>
<p>If you update the forest and part of the configure script has changed, the build system will force you to re-run <code>configure</code>.</p>
<p>Most of the time, you will be fine by running <code>configure</code> again with the same arguments as the last time, which can easily be performed by <code>make reconfigure</code>. To simplify this, you can use the <code>CONF_CHECK</code> make control variable, either as <code>make CONF_CHECK=auto</code>, or by setting an environment variable. For instance, if you add <code>export CONF_CHECK=auto</code> to your <code>.bashrc</code> file, <code>make</code> will always run <code>reconfigure</code> automatically whenever the configure script has changed.</p>
-<p>You can also use <code>CONF_CHECK=ignore</code> to skip the check for a needed configure update. This might speed up the build, but comes at the risk of an incorrect build result. This is only recommended if you know what you’re doing.</p>
+<p>You can also use <code>CONF_CHECK=ignore</code> to skip the check for a needed configure update. This might speed up the build, but comes at the risk of an incorrect build result. This is only recommended if you know what you're doing.</p>
<p>From time to time, you will also need to modify the command line to <code>configure</code> due to changes. Use <code>make print-configure</code> to show the command line used for your current configuration.</p>
<h3 id="using-fine-grained-make-targets">Using Fine-Grained Make Targets</h3>
<p>The default behavior for make is to create consistent and correct output, at the expense of build speed, if necessary.</p>
@@ -847,9 +840,9 @@
<p>This is what they are used for:</p>
<ul>
<li><p><code>images</code>: This is the directory were the output of the <code>*-image</code> make targets end up. For instance, <code>make jdk-image</code> ends up in <code>images/jdk</code>.</p></li>
-<li><p><code>jdk</code>: This is the “exploded image”. After <code>make jdk</code>, you will be able to launch the newly built JDK by running <code>$BUILD/jdk/bin/java</code>.</p></li>
+<li><p><code>jdk</code>: This is the "exploded image". After <code>make jdk</code>, you will be able to launch the newly built JDK by running <code>$BUILD/jdk/bin/java</code>.</p></li>
<li><p><code>test-results</code>: This directory contains the results from running tests.</p></li>
-<li><p><code>support</code>: This is an area for intermediate files needed during the build, e.g. generated source code, object files and class files. Some noteworthy directories in <code>support</code> is <code>gensrc</code>, which contains the generated source code, and the <code>modules_*</code> directories, which contains the files in a per-module hierarchy that will later be collapsed into the <code>jdk</code> directory of the exploded image.</p></li>
+<li><p><code>support</code>: This is an area for intermediate files needed during the build, e.g. generated source code, object files and class files. Some noteworthy directories in <code>support</code> is <code>gensrc</code>, which contains the generated source code, and the <code>modules_*</code> directories, which contains the files in a per-module hierarchy that will later be collapsed into the <code>jdk</code> directory of the exploded image.</p></li>
<li><p><code>buildtools</code>: This is an area for tools compiled for the build platform that are used during the rest of the build.</p></li>
<li><p><code>hotspot</code>: This is an area for intermediate files needed when building hotspot.</p></li>
<li><p><code>configure-support</code>, <code>make-support</code> and <code>test-support</code>: These directories contain files that are needed by the build system for <code>configure</code>, <code>make</code> and for running tests.</p></li>
@@ -884,7 +877,7 @@
))</code></pre>
<p>By encapsulating and expressing the high-level knowledge of <em>what</em> should be done, rather than <em>how</em> it should be done (as is normal in Makefiles), we can build a much more powerful and flexible build system.</p>
<p>Correct dependency tracking is paramount. Sloppy dependency tracking will lead to improper parallelization, or worse, race conditions.</p>
-<p>To test for/debug race conditions, try running <code>make JOBS=1</code> and <code>make JOBS=100</code> and see if it makes any difference. (It shouldn’t).</p>
+<p>To test for/debug race conditions, try running <code>make JOBS=1</code> and <code>make JOBS=100</code> and see if it makes any difference. (It shouldn't).</p>
<p>To compare the output of two different builds and see if, and how, they differ, run <code>$BUILD1/compare.sh -o $BUILD2</code>, where <code>$BUILD1</code> and <code>$BUILD2</code> are the two builds you want to compare.</p>
<p>To automatically build two consecutive versions and compare them, use <code>COMPARE_BUILD</code>. The value of <code>COMPARE_BUILD</code> is a set of variable=value assignments, like this:</p>
<pre><code>make COMPARE_BUILD=CONF=--enable-new-hotspot-feature:MAKE=hotspot</code></pre>
@@ -892,9 +885,9 @@
<p>To analyze build performance, run with <code>LOG=trace</code> and check <code>$BUILD/build-trace-time.log</code>. Use <code>JOBS=1</code> to avoid parallelism.</p>
<p>Please check that you adhere to the <a href="http://openjdk.java.net/groups/build/doc/code-conventions.html">Code Conventions for the Build System</a> before submitting patches.</p>
<h2 id="contributing-to-the-jdk">Contributing to the JDK</h2>
-<p>So, now you’ve built your JDK, and made your first patch, and want to contribute it back to the OpenJDK Community.</p>
+<p>So, now you've built your JDK, and made your first patch, and want to contribute it back to the OpenJDK Community.</p>
<p>First of all: Thank you! We gladly welcome your contribution. However, please bear in mind that the JDK is a massive project, and we must ask you to follow our rules and guidelines to be able to accept your contribution.</p>
-<p>The official place to start is the <a href="http://openjdk.java.net/contribute/">‘How to contribute’ page</a>. There is also an official (but somewhat outdated and skimpy on details) <a href="http://openjdk.java.net/guide/">Developer’s Guide</a>.</p>
-<p>If this seems overwhelming to you, the Adoption Group is there to help you! A good place to start is their <a href="https://wiki.openjdk.java.net/display/Adoption/New+Contributor">‘New Contributor’ page</a>, or start reading the comprehensive <a href="https://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/en/">Getting Started Kit</a>. The Adoption Group will also happily answer any questions you have about contributing. Contact them by <a href="http://mail.openjdk.java.net/mailman/listinfo/adoption-discuss">mail</a> or <a href="http://openjdk.java.net/irc/">IRC</a>.</p>
+<p>The official place to start is the <a href="http://openjdk.java.net/contribute/">'How to contribute' page</a>. There is also an official (but somewhat outdated and skimpy on details) <a href="http://openjdk.java.net/guide/">Developer's Guide</a>.</p>
+<p>If this seems overwhelming to you, the Adoption Group is there to help you! A good place to start is their <a href="https://wiki.openjdk.java.net/display/Adoption/New+Contributor">'New Contributor' page</a>, or start reading the comprehensive <a href="https://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/en/">Getting Started Kit</a>. The Adoption Group will also happily answer any questions you have about contributing. Contact them by <a href="http://mail.openjdk.java.net/mailman/listinfo/adoption-discuss">mail</a> or <a href="http://openjdk.java.net/irc/">IRC</a>.</p>
</body>
</html>
--- a/doc/building.md Thu Jul 26 09:30:58 2018 -0700
+++ b/doc/building.md Thu Jul 26 10:00:40 2018 -0700
@@ -233,9 +233,8 @@
machine running macOS. See the section on [Apple Xcode](#apple-xcode) on some
strategies to deal with this.
-It is recommended that you use at least Mac OS X 10.9 (Mavericks). At the time
-of writing, the JDK has been successfully compiled on macOS versions up to
-10.12.5 (Sierra), using XCode 8.3.2 and `--disable-warnings-as-errors`.
+It is recommended that you use at least Mac OS X 10.13 (High Sierra). At the time
+of writing, the JDK has been successfully compiled on macOS 10.12 (Sierra).
The standard macOS environment contains the basic tooling needed to build, but
for external libraries a package manager is recommended. The JDK uses
@@ -292,9 +291,9 @@
Operating system Toolchain version
------------------ -------------------------------------------------------
Linux gcc 7.3.0
- macOS Apple Xcode 6.3 (using clang 6.1.0)
+ macOS Apple Xcode 9.4 (using clang 9.1.0)
Solaris Oracle Solaris Studio 12.4 (with compiler version 5.13)
- Windows Microsoft Visual Studio 2013 update 4
+ Windows Microsoft Visual Studio 2017 update 15.5.5
### gcc
@@ -315,7 +314,7 @@
### Apple Xcode
-The oldest supported version of Xcode is 5.
+The oldest supported version of Xcode is 8.
You will need the Xcode command lines developers tools to be able to build
the JDK. (Actually, *only* the command lines tools are needed, not the IDE.)
@@ -330,7 +329,7 @@
good suggestions on managing multiple Xcode versions. To use a specific version
of Xcode, use `xcode-select -s` before running `configure`, or use
`--with-toolchain-path` to point to the version of Xcode to use, e.g.
-`configure --with-toolchain-path=/Applications/Xcode5.app/Contents/Developer/usr/bin`
+`configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin`
If you have recently (inadvertently) updated your OS and/or Xcode version, and
the JDK can no longer be built, please see the section on [Problems with the
@@ -372,11 +371,11 @@
The minimum accepted version of Visual Studio is 2010. Older versions will not
be accepted by `configure`. The maximum accepted version of Visual Studio is
-2013.
+2017. Versions older than 2017 are unlikely to continue working for long.
If you have multiple versions of Visual Studio installed, `configure` will by
default pick the latest. You can request a specific version to be used by
-setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2010`.
+setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2015`.
If you get `LINK: fatal error LNK1123: failure during conversion to COFF: file
invalid` when building using Visual Studio 2010, you have encountered
--- a/make/CompileJavaModules.gmk Thu Jul 26 09:30:58 2018 -0700
+++ b/make/CompileJavaModules.gmk Thu Jul 26 10:00:40 2018 -0700
@@ -621,9 +621,14 @@
$(install-file)
CreateHkTargets = \
- $(patsubst $(TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
- $(subst /share/classes,, \
- $(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1))))
+ $(call FilterExcludedTranslations, \
+ $(patsubst $(TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
+ $(subst /share/classes,, \
+ $(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1)) \
+ ) \
+ ), \
+ .properties \
+ )
ifeq ($(MODULE), java.sql.rowset)
TARGETS += $(call CreateHkTargets, $(java.sql.rowset_CLEAN_FILES))
--- a/make/Images.gmk Thu Jul 26 09:30:58 2018 -0700
+++ b/make/Images.gmk Thu Jul 26 10:00:40 2018 -0700
@@ -121,115 +121,117 @@
#
# Avoid evaluating this whole section on windows for speed and stability
ifneq ($(OPENJDK_TARGET_OS), windows)
- JRE_MAN_PAGES += \
- java.1 \
- jjs.1 \
- keytool.1 \
- orbd.1 \
- pack200.1 \
- rmid.1 \
- rmiregistry.1 \
- servertool.1 \
- unpack200.1
+ ifeq ($(BUILD_MANPAGES), true)
+ JRE_MAN_PAGES += \
+ java.1 \
+ jjs.1 \
+ keytool.1 \
+ orbd.1 \
+ pack200.1 \
+ rmid.1 \
+ rmiregistry.1 \
+ servertool.1 \
+ unpack200.1
- JDK_MAN_PAGES += \
- $(JRE_MAN_PAGES) \
- idlj.1 \
- jar.1 \
- jarsigner.1 \
- javac.1 \
- javadoc.1 \
- javap.1 \
- jconsole.1 \
- jcmd.1 \
- jdb.1 \
- jdeps.1 \
- jinfo.1 \
- jmap.1 \
- jps.1 \
- jrunscript.1 \
- jstack.1 \
- jstat.1 \
- jstatd.1 \
- rmic.1 \
- serialver.1
+ JDK_MAN_PAGES += \
+ $(JRE_MAN_PAGES) \
+ idlj.1 \
+ jar.1 \
+ jarsigner.1 \
+ javac.1 \
+ javadoc.1 \
+ javap.1 \
+ jconsole.1 \
+ jcmd.1 \
+ jdb.1 \
+ jdeps.1 \
+ jinfo.1 \
+ jmap.1 \
+ jps.1 \
+ jrunscript.1 \
+ jstack.1 \
+ jstat.1 \
+ jstatd.1 \
+ rmic.1 \
+ serialver.1
- # This variable is potentially overridden in the closed makefile.
- MAN_SRC_BASEDIR ?= $(TOPDIR)/src
+ # This variable is potentially overridden in the closed makefile.
+ MAN_SRC_BASEDIR ?= $(TOPDIR)/src
- ifeq ($(OPENJDK_TARGET_OS), linux)
- MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc
- MAN1_SUBDIR = man
- endif
- ifeq ($(OPENJDK_TARGET_OS), solaris)
- MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc
- MAN1_SUBDIR = sun/man/man1
- endif
- ifeq ($(OPENJDK_TARGET_OS), macosx)
- MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc
- MAN1_SUBDIR = man
- endif
+ ifeq ($(OPENJDK_TARGET_OS), linux)
+ MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc
+ MAN1_SUBDIR = man
+ endif
+ ifeq ($(OPENJDK_TARGET_OS), solaris)
+ MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc
+ MAN1_SUBDIR = sun/man/man1
+ endif
+ ifeq ($(OPENJDK_TARGET_OS), macosx)
+ MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc
+ MAN1_SUBDIR = man
+ endif
- $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
+ $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
- $(JDK_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
+ $(JDK_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/%
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
- $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
+ $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
- $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
+ $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
$(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
- ifeq ($(OPENJDK_TARGET_OS), solaris)
- $(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
+ ifeq ($(OPENJDK_TARGET_OS), solaris)
+ $(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
$(call LogInfo, Converting $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
- $(JDK_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
+ $(JDK_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
$(call LogInfo, Converting $(patsubst $(OUTPUTDIR)/%,%,$@))
$(install-file)
- endif
+ endif
- ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
- $(JRE_IMAGE_DIR)/man/ja:
+ ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
+ $(JRE_IMAGE_DIR)/man/ja:
$(call LogInfo, Creating $(patsubst $(OUTPUTDIR)/%,%,$@))
$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
- $(JDK_IMAGE_DIR)/man/ja:
+ $(JDK_IMAGE_DIR)/man/ja:
$(call LogInfo, Creating $(patsubst $(OUTPUTDIR)/%,%,$@))
$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
- endif
+ endif
- ifeq ($(OPENJDK_TARGET_OS), solaris)
- JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
- $(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/, $(JRE_MAN_PAGES)) \
- $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
- $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JRE_MAN_PAGES))
+ ifeq ($(OPENJDK_TARGET_OS), solaris)
+ JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
+ $(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/, $(JRE_MAN_PAGES)) \
+ $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
+ $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JRE_MAN_PAGES))
+
+ JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
+ $(addprefix $(JDK_IMAGE_DIR)/man/ja/man1/, $(JDK_MAN_PAGES)) \
+ $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
+ $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES))
+ endif
- JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
- $(addprefix $(JDK_IMAGE_DIR)/man/ja/man1/, $(JDK_MAN_PAGES)) \
- $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
- $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES))
- endif
+ ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
+ JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
+ $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
+ $(JRE_IMAGE_DIR)/man/ja
- ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
- JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
- $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
- $(JRE_IMAGE_DIR)/man/ja
+ JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
+ $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
+ $(JDK_IMAGE_DIR)/man/ja
+ endif
- JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
- $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
- $(JDK_IMAGE_DIR)/man/ja
- endif
-
- JRE_TARGETS += $(JRE_MAN_PAGE_LIST)
- JDK_TARGETS += $(JDK_MAN_PAGE_LIST)
+ JRE_TARGETS += $(JRE_MAN_PAGE_LIST)
+ JDK_TARGETS += $(JDK_MAN_PAGE_LIST)
+ endif # BUILD_MANPAGES
endif # Windows
################################################################################
--- a/make/autoconf/configure.ac Thu Jul 26 09:30:58 2018 -0700
+++ b/make/autoconf/configure.ac Thu Jul 26 10:00:40 2018 -0700
@@ -233,6 +233,7 @@
JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
JDKOPT_EXCLUDE_TRANSLATIONS
+JDKOPT_ENABLE_DISABLE_MANPAGES
###############################################################################
#
--- a/make/autoconf/hotspot.m4 Thu Jul 26 09:30:58 2018 -0700
+++ b/make/autoconf/hotspot.m4 Thu Jul 26 10:00:40 2018 -0700
@@ -331,8 +331,10 @@
# Enable JFR by default, except for Zero, linux-sparcv9 and on minimal.
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
- if test "x$OPENJDK_TARGET_OS" != xlinux || test "x$OPENJDK_TARGET_CPU" != xsparcv9; then
- NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jfr"
+ if test "x$OPENJDK_TARGET_OS" != xaix; then
+ if test "x$OPENJDK_TARGET_OS" != xlinux || test "x$OPENJDK_TARGET_CPU" != xsparcv9; then
+ NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jfr"
+ fi
fi
fi
@@ -459,7 +461,7 @@
JVM_FEATURES_aot="aot"
fi
else
- if test "x$enable_aot" = "xno" || "x$DISABLE_AOT" = "xaot"; then
+ if test "x$enable_aot" = "xno" || test "x$DISABLE_AOT" = "xaot"; then
AC_MSG_RESULT([no, forced])
else
AC_MSG_RESULT([no])
--- a/make/autoconf/jdk-options.m4 Thu Jul 26 09:30:58 2018 -0700
+++ b/make/autoconf/jdk-options.m4 Thu Jul 26 10:00:40 2018 -0700
@@ -604,3 +604,29 @@
AC_SUBST(EXCLUDE_TRANSLATIONS)
])
+
+################################################################################
+#
+# Optionally disable man pages
+#
+AC_DEFUN([JDKOPT_ENABLE_DISABLE_MANPAGES],
+[
+ AC_ARG_ENABLE([manpages], [AS_HELP_STRING([--disable-manpages],
+ [Set to disable building of man pages @<:@enabled@:>@])])
+
+ BUILD_MANPAGES="true"
+ AC_MSG_CHECKING([if man pages should be built])
+ if test "x$enable_manpages" = "x"; then
+ AC_MSG_RESULT([yes])
+ elif test "x$enable_manpages" = "xyes"; then
+ AC_MSG_RESULT([yes, forced])
+ elif test "x$enable_manpages" = "xno"; then
+ AC_MSG_RESULT([no, forced])
+ BUILD_MANPAGES="false"
+ else
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([--enable-manpages can only yes/no or empty])
+ fi
+
+ AC_SUBST(BUILD_MANPAGES)
+])
--- a/make/autoconf/spec.gmk.in Thu Jul 26 09:30:58 2018 -0700
+++ b/make/autoconf/spec.gmk.in Thu Jul 26 10:00:40 2018 -0700
@@ -311,6 +311,8 @@
EXCLUDE_TRANSLATIONS := @EXCLUDE_TRANSLATIONS@
+BUILD_MANPAGES := @BUILD_MANPAGES@
+
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
# it in sync.
BOOT_JDK:=@BOOT_JDK@
--- a/make/conf/jib-profiles.js Thu Jul 26 09:30:58 2018 -0700
+++ b/make/conf/jib-profiles.js Thu Jul 26 10:00:40 2018 -0700
@@ -242,7 +242,8 @@
dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf"],
default_make_targets: ["product-bundles", "test-bundles"],
configure_args: concat(["--enable-jtreg-failure-handler"],
- "--with-exclude-translations=de,es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I",
+ "--with-exclude-translations=de,es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
+ "--disable-manpages",
versionArgs(input, common))
};
// Extra settings for debug profiles
--- a/src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -128,24 +128,24 @@
FileMenu.file.labelAndMnemonic=\u30D5\u30A1\u30A4\u30EB(&F)
FileMenu.accessible_description=\u30D5\u30A1\u30A4\u30EB\u30FB\u30E1\u30CB\u30E5\u30FC
-FileMenu.about.labelAndMnemonic=\u60C5\u5831(&B)
+FileMenu.about.labelAndMnemonic=\u6982\u8981(&B)
FileMenu.about_accessible_description=SwingSet2\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u8A73\u7D30\u3092\u78BA\u8A8D\u3057\u307E\u3059
FileMenu.open.labelAndMnemonic=\u958B\u304F(&O)
-FileMenu.open_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F\u305F\u3081\u306E\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0\u30FB\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
+FileMenu.open_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F\u305F\u3081\u306E\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
FileMenu.save.labelAndMnemonic=\u4FDD\u5B58(&S)
-FileMenu.save_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3059\u308B\u305F\u3081\u306E\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0\u30FB\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
+FileMenu.save_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3059\u308B\u305F\u3081\u306E\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
FileMenu.save_as.labelAndMnemonic=\u5225\u540D\u4FDD\u5B58(&A)...
-FileMenu.save_as_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u5225\u540D\u4FDD\u5B58\u3059\u308B\u305F\u3081\u306E\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0\u30FB\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
+FileMenu.save_as_accessible_description=\u30D5\u30A1\u30A4\u30EB\u3092\u5225\u540D\u4FDD\u5B58\u3059\u308B\u305F\u3081\u306E\u30E1\u30CB\u30E5\u30FC\u9805\u76EE
FileMenu.exit.labelAndMnemonic=\u7D42\u4E86(&X)
FileMenu.exit_accessible_description=SwingSet2\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u7D42\u4E86\u3057\u307E\u3059
### Multi-Screen menu ###
-MultiMenu.multi.labelAndMnemonic=\u30DE\u30EB\u30C1\u30B9\u30AF\u30EA\u30FC\u30F3(&M)
-MultiMenu.multi_accessible_description=\u30DE\u30EB\u30C1\u30B9\u30AF\u30EA\u30FC\u30F3\u30FB\u30E1\u30CB\u30E5\u30FC
-MultiMenu.all.labelAndMnemonic=SwingSet2\u3092\u3059\u3079\u3066\u306E\u30B9\u30AF\u30EA\u30FC\u30F3\u306B\u4F5C\u6210\u3057\u307E\u3059(&A)
-MultiMenu.all_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u30B9\u30AF\u30EA\u30FC\u30F3\u3054\u3068\u306B\u4F5C\u6210\u3057\u307E\u3059
-MultiMenu.single.labelAndMnemonic=SwingSet2\u3092\u30B9\u30AF\u30EA\u30FC\u30F3\u306B\u4F5C\u6210\u3057\u307E\u3059
-MultiMenu.single_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u30B9\u30AF\u30EA\u30FC\u30F3\u306B\u4F5C\u6210\u3057\u307E\u3059
+MultiMenu.multi.labelAndMnemonic=\u30B9\u30AF\u30EA\u30FC\u30F3\u30FB\u30E2\u30FC\u30C9(&M)
+MultiMenu.multi_accessible_description=\u30B9\u30AF\u30EA\u30FC\u30F3\u30FB\u30E1\u30CB\u30E5\u30FC
+MultiMenu.all.labelAndMnemonic=\u30DE\u30EB\u30C1\u30FB\u30B9\u30AF\u30EA\u30FC\u30F3(&A)
+MultiMenu.all_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u3059\u3079\u3066\u306E\u30B9\u30AF\u30EA\u30FC\u30F3\u306B\u4F5C\u6210\u3057\u307E\u3059
+MultiMenu.single.labelAndMnemonic=\u30B7\u30F3\u30B0\u30EB\u30FB\u30B9\u30AF\u30EA\u30FC\u30F3
+MultiMenu.single_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u30921\u3064\u306E\u30B9\u30AF\u30EA\u30FC\u30F3\u306B\u4F5C\u6210\u3057\u307E\u3059
################################
@@ -295,7 +295,7 @@
FileChooserDemo.help=\u30D8\u30EB\u30D7
FileChooserDemo.find=\u691C\u7D22
FileChooserDemo.ok=OK
-FileChooserDemo.about=\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
+FileChooserDemo.about=\u8A73\u7D30
FileChooserDemo.cancel=\u53D6\u6D88
### Html Demo ###
@@ -308,20 +308,20 @@
### Internal Frame Demo ###
-InternalFrameDemo.accessible_description=JInternal Frame\u30C7\u30E2
+InternalFrameDemo.accessible_description=JInternalFrame\u30C7\u30E2
InternalFrameDemo.create_frames.labelAndMnemonic=\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3055\u308C\u305F\u5185\u90E8\u30D5\u30EC\u30FC\u30E0\u306E\u4F5C\u6210
InternalFrameDemo.title_text_field.labelAndMnemonic=\u30D5\u30EC\u30FC\u30E0\u306E\u30BF\u30A4\u30C8\u30EB:
InternalFrameDemo.frame.labelAndMnemonic=\u30D5\u30EC\u30FC\u30E0
InternalFrameDemo.palette.labelAndMnemonic=\u5185\u90E8\u30D5\u30EC\u30FC\u30E0\u306E\u4F5C\u6210
-InternalFrameDemo.name=Internal Frame\u30C7\u30E2
-InternalFrameDemo.tooltip=JInternal Frame\u30C7\u30E2
+InternalFrameDemo.name=InternalFrame\u30C7\u30E2
+InternalFrameDemo.tooltip=JInternalFrame\u30C7\u30E2
InternalFrameDemo.closable.labelAndMnemonic=\u30AF\u30ED\u30FC\u30BA\u53EF
InternalFrameDemo.resizable.labelAndMnemonic=\u30B5\u30A4\u30BA\u5909\u66F4\u53EF
InternalFrameDemo.iconifiable.labelAndMnemonic=\u6700\u5C0F\u5316\u53EF
InternalFrameDemo.maximizable.labelAndMnemonic=\u6700\u5927\u5316\u53EF
-InternalFrameDemo.toast=Cheers
-InternalFrameDemo.duke=Your Grace
-InternalFrameDemo.duchess=Duchess
+InternalFrameDemo.toast=\u4E7E\u676F
+InternalFrameDemo.duke=\u730A\u4E0B
+InternalFrameDemo.duchess=\u516C\u7235\u592B\u4EBA
InternalFrameDemo.cab=Anyone need a Taxi?
@@ -330,8 +330,8 @@
ListDemo.accessible_description=JList\u30C7\u30E2
ListDemo.name=List\u30C7\u30E2
ListDemo.tooltip=JList\u30C7\u30E2
-ListDemo.prefixes=\u63A5\u982D\u8F9E
-ListDemo.suffixes=\u63A5\u5C3E\u8F9E
+ListDemo.prefixes=\u30D7\u30EA\u30D5\u30A3\u30AF\u30B9
+ListDemo.suffixes=\u30B5\u30D5\u30A3\u30AF\u30B9
ListDemo.count.labelAndMnemonic=\u751F\u6210\u3055\u308C\u305F\u30EA\u30B9\u30C8\u30FB\u30A8\u30F3\u30C8\u30EA\u306E\u6570:
ListDemo.all=\u3059\u3079\u3066
ListDemo.none=\u306A\u3057
@@ -342,14 +342,14 @@
ListDemo.green=\u7DD1\u8272\u306E\u4F1A\u793E\u30ED\u30B4\u30FB\u30A4\u30E1\u30FC\u30B8
ListDemo.magenta=\u30DE\u30BC\u30F3\u30BF\u306E\u4F1A\u793E\u30ED\u30B4\u30FB\u30A4\u30E1\u30FC\u30B8
ListDemo.cyan=\u30B7\u30A2\u30F3\u306E\u4F1A\u793E\u30ED\u30B4\u30FB\u30A4\u30E1\u30FC\u30B8
-ListDemo.description=<html><P STYLE="margin-left: .25in; margin-right: .25in">\u3053\u306E\u30C7\u30E2\u3067\u306F\u30012\u3064\u306E\u7570\u306A\u308B\u65B9\u6CD5\u3067\u4F5C\u6210\u3057\u305F\u30EA\u30B9\u30C8\u3092\u7D39\u4ECB\u3057\u307E\u3059\u3002\u5DE6\u5074\u306B\u3042\u308B<b>JList</b>\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30EA\u30B9\u30C8\u9805\u76EE\u306F\u3001\u30C1\u30A7\u30C3\u30AF\u30FB\u30DE\u30FC\u30AF\u306E\u4ED8\u3051\u3089\u308C\u305F\u63A5\u982D\u8F9E\u304A\u3088\u3073\u63A5\u5C3E\u8F9E\u306E\u9806\u5217\u3067\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u53F3\u5074\u306E\u63A5\u982D\u8F9E\u304A\u3088\u3073\u63A5\u5C3E\u8F9E\u306E\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9\u306E\u5217\u306F\u3001\u5782\u76F4\u914D\u7F6E\u306E<b>BoxLayout</b>\u3092\u6301\u3064<b>JPanel</b>\u3092\u4F7F\u7528\u3057\u3066<b>JScrollPane</b>\u5185\u306B\u4F5C\u6210\u3055\u308C\u307E\u3059\u3002</P></html>
+ListDemo.description=<html><P STYLE="margin-left: .25in; margin-right: .25in">\u3053\u306E\u30C7\u30E2\u3067\u306F\u30012\u3064\u306E\u7570\u306A\u308B\u65B9\u6CD5\u3067\u4F5C\u6210\u3057\u305F\u30EA\u30B9\u30C8\u3092\u7D39\u4ECB\u3057\u307E\u3059\u3002\u5DE6\u5074\u306B\u3042\u308B<b>JList</b>\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30EA\u30B9\u30C8\u9805\u76EE\u306F\u3001\u30C1\u30A7\u30C3\u30AF\u30FB\u30DE\u30FC\u30AF\u306E\u4ED8\u3051\u3089\u308C\u305F\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u304A\u3088\u3073\u30B5\u30D5\u30A3\u30AF\u30B9\u306E\u9806\u5217\u3067\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u53F3\u5074\u306E\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u304A\u3088\u3073\u30B5\u30D5\u30A3\u30AF\u30B9\u306E\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9\u306E\u5217\u306F\u3001\u5782\u76F4\u914D\u7F6E\u306E<b>BoxLayout</b>\u3092\u6301\u3064<b>JPanel</b>\u3092\u4F7F\u7528\u3057\u3066<b>JScrollPane</b>\u5185\u306B\u4F5C\u6210\u3055\u308C\u307E\u3059\u3002</P></html>
### OptionPane Demo ###
OptionPaneDemo.accessible_description=OptionPane\u30C7\u30E2\u3067\u306F\u3001\u69D8\u3005\u306A\u5171\u901A\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u30FB\u30DC\u30C3\u30AF\u30B9\u3092\u751F\u6210\u3059\u308B\u305F\u3081\u306EJOptionPane\u306E\u4F7F\u7528\u4F8B\u3092\u7D39\u4ECB\u3057\u307E\u3059
OptionPaneDemo.tooltip=JOptionPane\u30C7\u30E2
-OptionPaneDemo.name=Option Pane\u30C7\u30E2
+OptionPaneDemo.name=OptionPane\u30C7\u30E2
OptionPaneDemo.warningbutton=\u8B66\u544A\u30C0\u30A4\u30A2\u30ED\u30B0\u306E\u8868\u793A
OptionPaneDemo.componentbutton=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u306E\u8868\u793A
@@ -367,10 +367,10 @@
OptionPaneDemo.confirmno=\u5C4B\u5185\u306B\u3044\u3066\u69D8\u3005\u306A\u3082\u306E\u304B\u3089\u4FDD\u8B77\u3055\u308C\u3066\u3044\u308B\u306E\u306F\u3044\u3044\u3053\u3068\u3067\u3059\u3002
OptionPaneDemo.inputquestion=\u597D\u304D\u306A\u6620\u753B\u306F\u4F55\u3067\u3059\u304B\u3002
-OptionPaneDemo.inputresponse=\u3042\u308C\u306F\u3068\u3066\u3082\u3044\u3044\u6620\u753B\u3067\u3057\u305F\u306D\u3002
+OptionPaneDemo.inputresponse=\u305D\u308C\u306F\u3044\u3044\u6620\u753B\u3067\u3059\u306D\u3002
OptionPaneDemo.componenttitle=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u306E\u4F8B
-OptionPaneDemo.componentmessage=<html>JOptionPane\u306B\u306F\u3001\u30C6\u30AD\u30B9\u30C8\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306A\u3069\u306E\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092<br>\u5FC5\u8981\u306A\u3060\u3051\u542B\u3081\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002</html>
+OptionPaneDemo.componentmessage=<html>JOptionPane\u306B\u306F\u3001\u30C6\u30AD\u30B9\u30C8\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306A\u3069\u306E\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u5FC5\u8981\u306A\u3060\u3051\u542B\u3081\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002</html>
OptionPaneDemo.componenttextfield=\u30B3\u30F3\u30DC\u30DC\u30C3\u30AF\u30B9:
OptionPaneDemo.component_cb1=\u9805\u76EE1
OptionPaneDemo.component_cb2=\u9805\u76EE2
@@ -405,7 +405,7 @@
### ScrollPane Demo ###
ScrollPaneDemo.accessible_description=JScrollPane\u30C7\u30E2
-ScrollPaneDemo.name=Scroll Pane\u30C7\u30E2
+ScrollPaneDemo.name=ScrollPane\u30C7\u30E2
ScrollPaneDemo.tooltip=JScrollPane\u30C7\u30E2
ScrollPaneDemo.crayons=\u305F\u304F\u3055\u3093\u306E\u30AF\u30EC\u30E8\u30F3
ScrollPaneDemo.colheader=\u5217\u30D8\u30C3\u30C0\u30FC
@@ -427,20 +427,20 @@
SliderDemo.plain=\u30D7\u30EC\u30FC\u30F3
SliderDemo.a_plain_slider=\u30D7\u30EC\u30FC\u30F3\u306E\u30B9\u30E9\u30A4\u30C0
SliderDemo.majorticks=\u5927\u76EE\u76DB
-SliderDemo.majorticksdescription=\u5927\u76EE\u76DB\u3092\u8868\u793A\u3059\u308B\u30B9\u30E9\u30A4\u30C0
-SliderDemo.ticks=\u5C0F\u76EE\u76DB\u3001Snap-to-ticks\u304A\u3088\u3073\u30E9\u30D9\u30EB
+SliderDemo.majorticksdescription=\u5927\u76EE\u76DB\u3092\u6301\u3064\u30B9\u30E9\u30A4\u30C0
+SliderDemo.ticks=\u5927\u5C0F\u76EE\u76DB\u3068\u30E9\u30D9\u30EB(SnapToTicks=true)
SliderDemo.minorticks=\u5C0F\u76EE\u76DB
-SliderDemo.minorticksdescription=\u5927\u76EE\u76DB\u3068\u5C0F\u76EE\u76DB\u3092\u8868\u793A\u3059\u308B\u30B9\u30E9\u30A4\u30C0(\u76EE\u76DB\u30DE\u30FC\u30AF\u306B\u30B9\u30CA\u30C3\u30D7\u3059\u308B\u30B9\u30E9\u30A4\u30C0\u30FB\u30A2\u30AF\u30B7\u30E7\u30F3\u3042\u308A\u3001\u4E00\u90E8\u306E\u76EE\u76DB\u306F\u76EE\u7ACB\u3064\u30E9\u30D9\u30EB\u4ED8\u304D)
+SliderDemo.minorticksdescription=SnapToTicks=true\u3067\u5927\u76EE\u76DB\u3001\u5C0F\u76EE\u76DB\u304A\u3088\u3073\u30E9\u30D9\u30EB\u4ED8\u304D\u306E\u30B9\u30E9\u30A4\u30C0
SliderDemo.disabled=\u7121\u52B9
-SliderDemo.disableddescription=\u7121\u52B9\u5316\u3055\u308C\u305F\u3001\u5927\u76EE\u76DB\u3068\u5C0F\u76EE\u76DB\u3092\u8868\u793A\u3059\u308B\u30B9\u30E9\u30A4\u30C0(\u64CD\u4F5C\u4E0D\u53EF)
+SliderDemo.disableddescription=\u5927\u5C0F\u306E\u76EE\u76DB\u3092\u6301\u3064\u7121\u52B9\u306A\u30B9\u30E9\u30A4\u30C0(\u64CD\u4F5C\u4E0D\u53EF)
### SplitPane Demo ###
SplitPaneDemo.accessible_description=JSplitPane\u30C7\u30E2
-SplitPaneDemo.name=Split Pane\u30C7\u30E2
+SplitPaneDemo.name=SplitPane\u30C7\u30E2
SplitPaneDemo.tooltip=JSplitPane\u30C7\u30E2
-SplitPaneDemo.earth=\u6BCD\u306A\u308B\u5730\u7403
-SplitPaneDemo.moon=\u6708\u9762\u306E\u5B87\u5B99\u98DB\u884C\u58EB
+SplitPaneDemo.earth=\u5730\u7403
+SplitPaneDemo.moon=\u5B87\u5B99\u98DB\u884C\u58EB
SplitPaneDemo.vert_split.labelAndMnemonic=\u5782\u76F4\u5206\u5272(&V)
SplitPaneDemo.horz_split.labelAndMnemonic=\u6C34\u5E73\u5206\u5272(&R)
SplitPaneDemo.cont_layout.labelAndMnemonic=\u9023\u7D9A\u3057\u305F\u30EC\u30A4\u30A2\u30A6\u30C8(&C)
@@ -460,7 +460,7 @@
TabbedPaneDemo.tooltip=JTabbedPane\u30C7\u30E2
TabbedPaneDemo.name=TabbedPane\u30C7\u30E2
-TabbedPaneDemo.bounce=<html><font color=blue><bold><center>Bouncing Babies!</center></bold></font></html>
+TabbedPaneDemo.bounce=<html><font color=blue><bold><center>\u5143\u6C17\u306A\u5B50\u4F9B\u9054\u3002</center></bold></font></html>
TabbedPaneDemo.stephen=\u30B9\u30C6\u30A3\u30FC\u30F4\u30F3
TabbedPaneDemo.david=\u30C7\u30A4\u30F4\u30A3\u30C3\u30C9
TabbedPaneDemo.matthew=\u30DE\u30B7\u30E5\u30FC
@@ -533,7 +533,7 @@
TableDemo.2001=2001\u5E74\u5B87\u5B99\u306E\u65C5
TableDemo.buckaroo=\u30D0\u30AB\u30EB\u30FC\u30FB\u30D0\u30F3\u30B6\u30A4\u306E8\u6B21\u5143\u30AE\u30E3\u30E9\u30AF\u30B7\u30FC
TableDemo.firstsight=\u3042\u306A\u305F\u304C\u898B\u3048\u306A\u304F\u3066\u3082
-TableDemo.airplane=\u30D5\u30E9\u30A4\u30F3\u30B0\u30FB\u30CF\u30A4(\u5168\u30B7\u30EA\u30FC\u30BA)
+TableDemo.airplane=\u30D5\u30E9\u30A4\u30F3\u30B0\u30FB\u30CF\u30A4(\u30B7\u30EA\u30FC\u30BA)
TableDemo.aliens=\u30A8\u30A4\u30EA\u30A2\u30F3
TableDemo.bicycle=\u81EA\u8EE2\u8ECA\u6CE5\u68D2
TableDemo.bladerunner=\u30D6\u30EC\u30FC\u30C9\u30FB\u30E9\u30F3\u30CA\u30FC(\u30C7\u30A3\u30EC\u30AF\u30BF\u30FC\u30BA\u30FB\u30AB\u30C3\u30C8)
@@ -541,18 +541,18 @@
TableDemo.brazil=\u672A\u6765\u4E16\u7D00\u30D6\u30E9\u30B8\u30EB
TableDemo.bugs=\u30D0\u30B0\u30BA\u30FB\u30E9\u30A4\u30D5
TableDemo.city=\u30ED\u30B9\u30C8\u30FB\u30C1\u30EB\u30C9\u30EC\u30F3
-TableDemo.chusingura=\u5FE0\u81E3\u8535(1962)
+TableDemo.chusingura=\u5FE0\u81E3\u8535
TableDemo.clock=\u6642\u8A08\u4ED5\u639B\u3051\u306E\u30AA\u30EC\u30F3\u30B8
TableDemo.curse=\u602A\u5947\u30DF\u30A4\u30E9\u7537
TableDemo.dasboot=U\u30DC\u30FC\u30C8
TableDemo.dazed=\u30D0\u30C3\u30C9\u30FB\u30C1\u30E5\u30FC\u30CB\u30F3\u30B0
TableDemo.defending=\u3042\u306A\u305F\u306E\u6B7B\u5F8C\u306B\u3054\u7528\u5FC3
-TableDemo.eraserhead=\u30A4\u30EC\u30A4\u30B6\u30FC\u30D8\u30C3\u30C9
+TableDemo.eraserhead=\u30A4\u30EC\u30A4\u30B6\u30FB\u30D8\u30C3\u30C9
TableDemo.fifthelement=\u30D5\u30A3\u30D5\u30B9\u30FB\u30A8\u30EC\u30E1\u30F3\u30C8
TableDemo.goodfellas=\u30B0\u30C3\u30C9\u30FB\u30D5\u30A7\u30ED\u30FC\u30BA
TableDemo.harold=\u30CF\u30ED\u30EB\u30C9\u3068\u30E2\u30FC\u30C9
TableDemo.joyluck=\u30B8\u30E7\u30A4\u30FB\u30E9\u30C3\u30AF\u30FB\u30AF\u30E9\u30D6
-TableDemo.jules=\u7A81\u7136\u708E\u306E\u3054\u3068\u304F
+TableDemo.jules=\u7A81\u7136\u708E\u306E\u3054\u3068\u304F\u30B8\u30E5\u30FC\u30EB\u3068\u30B8\u30E0
TableDemo.ladyvanishes=\u30EC\u30C7\u30A3\u30FB\u30D0\u30CB\u30C3\u30B7\u30E5/\u6697\u53F7\u3092\u6B4C\u3046\u5973
TableDemo.mohicans=\u30E9\u30B9\u30C8\u30FB\u30AA\u30D6\u30FB\u30E2\u30D2\u30AB\u30F3
TableDemo.lonestar=\u771F\u5B9F\u306E\u56C1\u304D
@@ -581,7 +581,7 @@
TableDemo.corn=\u3068\u3046\u3082\u308D\u3053\u3057
TableDemo.grapes=\u3076\u3069\u3046
TableDemo.grapefruit=\u30B0\u30EC\u30FC\u30D7\u30D5\u30EB\u30FC\u30C4
-TableDemo.kiwi=\u30AD\u30A6\u30A3\u30FB\u30D5\u30EB\u30FC\u30C4
+TableDemo.kiwi=\u30AD\u30A6\u30A4\u30FB\u30D5\u30EB\u30FC\u30C4
TableDemo.onion=\u7389\u306D\u304E
TableDemo.pear=\u6D0B\u306A\u3057
TableDemo.peach=\u6843
@@ -624,15 +624,15 @@
### ToolTip Demo ###
ToolTipDemo.accessible_description=ToolTip\u306F\u3001\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306B\u3064\u3044\u3066\u306E\u7C21\u5358\u306A\u8AAC\u660E\u3092\u8868\u793A\u3057\u307E\u3059\u3002
-ToolTipDemo.accessible_cow=\u3053\u308C\u306F\u96CC\u725B\u3067\u3059\u3002
+ToolTipDemo.accessible_cow=\u3053\u308C\u306F\u4E73\u725B\u3067\u3059
ToolTipDemo.tooltip=ToolTip\u30C7\u30E2
ToolTipDemo.name=ToolTip\u30C7\u30E2
-ToolTipDemo.bessie=\u96CC\u725B\u306E\u30D9\u30C3\u30B7\u30FC
-ToolTipDemo.cow=\u96CC\u725B\u3002
-ToolTipDemo.got_milk=\u725B\u4E73\u3042\u308B?
-ToolTipDemo.tail=\u3057\u3063\u307D\u3002
+ToolTipDemo.bessie=\u96CC\u725B\u306E\u30A8\u30EA\u30B6\u30D9\u30B9
+ToolTipDemo.cow=\u4E73\u725B
+ToolTipDemo.got_milk=\u725B\u4E73\u98F2\u3093\u3060?
+ToolTipDemo.tail=\u3057\u3063\u307D
ToolTipDemo.moo=\u30E2\u30A9\u30A9\u30A9\u30A9!
-ToolTipDemo.tooltip_features=<html>\u3082\u3057\u3084\u3042\u306A\u305F\u306F\u3001\u30C4\u30FC\u30EB\u30FB\u30C1\u30C3\u30D7\u306F\u300C1\u884C\u306E\u30D7\u30EC\u30FC\u30F3\u30FB\u30C6\u30AD\u30B9\u30C8\u300D\u3057\u304B<p>\u8868\u793A\u3067\u304D\u306A\u3044\u9000\u5C48\u306A\u3082\u306E\u3060\u306A\u3093\u3066\u601D\u3063\u3066\u3084\u3057\u307E\u305B\u3093\u304B\u3002<p>\u3060\u3068\u3057\u305F\u3089\u3001\u79C1\u305F\u3061<font color=blue size=+2>Swing!</font>\u30C1\u30FC\u30E0\u304C\u305D\u306E\u8AA4\u89E3\u3092\u89E3\u3044\u3066\u3042\u3052\u307E\u3057\u3087\u3046\u3002<p>Swing\u306EToolTip\u306F\u3001HTML\u3092\u4F7F\u7528\u3057\u3066<ul><li>List\u3092\u6301\u3063\u305F\u308A\u3001<li><b>\u592A\u5B57</b>\u306B\u3057\u305F\u308A\u3001<li><em>\u5F37\u8ABF</em>\u306B\u3057\u305F\u308A\u3001<li>\u6587\u5B57\u306B<font color=red>\u8272</font>\u3092\u4ED8\u3051\u305F\u308A\u3001<li><font size=+3>\u30B5\u30A4\u30BA</font>\u3092\u5909\u3048\u305F\u308A\u3001<li><font face=AvantGarde>\u30D5\u30A9\u30F3\u30C8</font>\u3092\u5909\u3048\u305F\u308A\u3001</ul>\u305D\u3046\u305D\u3046\u3001\u3082\u3061\u308D\u3093\u8907\u6570\u884C\u306B\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u3061\u3083\u3046\u306E\u3067\u3059\u3002\u306D\u3063\u3002</html>
+ToolTipDemo.tooltip_features=<html>\u3082\u3057\u3084\u3042\u306A\u305F\u306F\u3001\u30C4\u30FC\u30EB\u30FB\u30C1\u30C3\u30D7\u306F\u300C1\u884C\u306E\u30D7\u30EC\u30A4\u30F3\u30FB\u30C6\u30AD\u30B9\u30C8\u300D\u3057\u304B<p>\u8868\u793A\u3067\u304D\u306A\u3044\u9000\u5C48\u306A\u3082\u306E\u3060\u306A\u3093\u3066\u601D\u3063\u3066\u3084\u3057\u307E\u305B\u3093\u304B\u3002<p>\u3060\u3068\u3057\u305F\u3089\u3001\u79C1\u305F\u3061<font color=blue size=+2>Swing!</font>\u30C1\u30FC\u30E0\u304C\u305D\u306E\u8AA4\u89E3\u3092\u89E3\u3044\u3066\u3042\u3052\u307E\u3057\u3087\u3046\u3002<p>Swing\u306EToolTip\u306F\u3001HTML\u3092\u4F7F\u7528\u3057\u3066<ul><li>List\u3092\u6301\u3063\u305F\u308A\u3001<li><b>\u592A\u5B57</b>\u306B\u3057\u305F\u308A\u3001<li><em>\u30A4\u30BF\u30EA\u30C3\u30AF</em>\u306B\u3057\u305F\u308A\u3001<li>\u6587\u5B57\u306B<font color=red>\u8272</font>\u3092\u4ED8\u3051\u305F\u308A\u3001<li><font size=+3>\u30B5\u30A4\u30BA</font>\u3092\u5909\u3048\u305F\u308A\u3001<li><font face=AvantGarde>\u30D5\u30A9\u30F3\u30C8</font>\u3092\u5909\u3048\u305F\u308A\u3001</ul>\u305D\u3046\u305D\u3046\u3001\u3082\u3061\u308D\u3093\u8907\u6570\u884C\u306B\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u3061\u3083\u3046\u306E\u3067\u3059\u3002\u306D\u3063\u3002</html>
### Tree Demo ###
--- a/src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -319,9 +319,9 @@
InternalFrameDemo.resizable.labelAndMnemonic=\u53EF\u8C03\u6574\u5927\u5C0F
InternalFrameDemo.iconifiable.labelAndMnemonic=\u53EF\u56FE\u6807\u5316
InternalFrameDemo.maximizable.labelAndMnemonic=\u53EF\u6700\u5927\u5316
-InternalFrameDemo.toast=Cheers
-InternalFrameDemo.duke=Your Grace
-InternalFrameDemo.duchess=Duchess
+InternalFrameDemo.toast=\u5E72\u676F
+InternalFrameDemo.duke=\u9601\u4E0B\uFF01
+InternalFrameDemo.duchess=\u516C\u7235\u592B\u4EBA
InternalFrameDemo.cab=\u8C01\u9700\u8981\u51FA\u79DF\u8F66?
--- a/src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -687,8 +687,11 @@
__ set_info("fast new_instance init check", dont_gc_arguments);
}
+ // If TLAB is disabled, see if there is support for inlining contiguous
+ // allocations.
+ // Otherwise, just go to the slow path.
if ((id == fast_new_instance_id || id == fast_new_instance_init_check_id) &&
- UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
+ !UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
Label slow_path;
Register obj_size = r2;
Register t1 = r19;
@@ -799,7 +802,10 @@
}
#endif // ASSERT
- if (UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
+ // If TLAB is disabled, see if there is support for inlining contiguous
+ // allocations.
+ // Otherwise, just go to the slow path.
+ if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
Register arr_size = r4;
Register t1 = r2;
Register t2 = r5;
--- a/src/hotspot/cpu/arm/c1_Runtime1_arm.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/cpu/arm/c1_Runtime1_arm.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -546,9 +546,10 @@
const Register result = R0;
const Register klass = R1;
- if (UseTLAB && Universe::heap()->supports_inline_contig_alloc() && id != new_instance_id) {
- // We come here when TLAB allocation failed.
- // In this case we try to allocate directly from eden.
+ // If TLAB is disabled, see if there is support for inlining contiguous
+ // allocations.
+ // Otherwise, just go to the slow path.
+ if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc() && id != new_instance_id) {
Label slow_case, slow_case_no_pop;
// Make sure the class is fully initialized
@@ -616,9 +617,10 @@
const Register klass = R1;
const Register length = R2;
- if (UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
- // We come here when TLAB allocation failed.
- // In this case we try to allocate directly from eden.
+ // If TLAB is disabled, see if there is support for inlining contiguous
+ // allocations.
+ // Otherwise, just go to the slow path.
+ if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
Label slow_case, slow_case_no_pop;
#ifdef AARCH64
--- a/src/hotspot/cpu/arm/sharedRuntime_arm.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/cpu/arm/sharedRuntime_arm.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -513,6 +513,7 @@
case T_ARRAY:
case T_OBJECT:
case T_ADDRESS:
+ case T_METADATA:
#ifndef __ABI_HARD__
case T_FLOAT:
#endif // !__ABI_HARD__
--- a/src/hotspot/cpu/ppc/frame_ppc.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/cpu/ppc/frame_ppc.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -49,14 +49,134 @@
bool frame::safe_for_sender(JavaThread *thread) {
bool safe = false;
- address cursp = (address)sp();
- address curfp = (address)fp();
- if ((cursp != NULL && curfp != NULL &&
- (cursp <= thread->stack_base() && cursp >= thread->stack_base() - thread->stack_size())) &&
- (curfp <= thread->stack_base() && curfp >= thread->stack_base() - thread->stack_size())) {
- safe = true;
+ address sp = (address)_sp;
+ address fp = (address)_fp;
+ address unextended_sp = (address)_unextended_sp;
+
+ // Consider stack guards when trying to determine "safe" stack pointers
+ static size_t stack_guard_size = os::uses_stack_guard_pages() ?
+ JavaThread::stack_red_zone_size() + JavaThread::stack_yellow_reserved_zone_size() : 0;
+ size_t usable_stack_size = thread->stack_size() - stack_guard_size;
+
+ // sp must be within the usable part of the stack (not in guards)
+ bool sp_safe = (sp < thread->stack_base()) &&
+ (sp >= thread->stack_base() - usable_stack_size);
+
+
+ if (!sp_safe) {
+ return false;
+ }
+
+ // Unextended sp must be within the stack and above or equal sp
+ bool unextended_sp_safe = (unextended_sp < thread->stack_base()) && (unextended_sp >= sp);
+
+ if (!unextended_sp_safe) {
+ return false;
}
- return safe;
+
+ // An fp must be within the stack and above (but not equal) sp.
+ bool fp_safe = (fp <= thread->stack_base()) && (fp > sp);
+ // an interpreter fp must be within the stack and above (but not equal) sp
+ bool fp_interp_safe = (fp <= thread->stack_base()) && (fp > sp) &&
+ ((fp - sp) >= (ijava_state_size + top_ijava_frame_abi_size));
+
+ // We know sp/unextended_sp are safe, only fp is questionable here
+
+ // If the current frame is known to the code cache then we can attempt to
+ // to construct the sender and do some validation of it. This goes a long way
+ // toward eliminating issues when we get in frame construction code
+
+ if (_cb != NULL ){
+ // Entry frame checks
+ if (is_entry_frame()) {
+ // An entry frame must have a valid fp.
+ return fp_safe && is_entry_frame_valid(thread);
+ }
+
+ // Now check if the frame is complete and the test is
+ // reliable. Unfortunately we can only check frame completeness for
+ // runtime stubs and nmethods. Other generic buffer blobs are more
+ // problematic so we just assume they are OK. Adapter blobs never have a
+ // complete frame and are never OK
+ if (!_cb->is_frame_complete_at(_pc)) {
+ if (_cb->is_compiled() || _cb->is_adapter_blob() || _cb->is_runtime_stub()) {
+ return false;
+ }
+ }
+
+ // Could just be some random pointer within the codeBlob.
+ if (!_cb->code_contains(_pc)) {
+ return false;
+ }
+
+ if (is_interpreted_frame() && !fp_interp_safe) {
+ return false;
+ }
+
+ abi_minframe* sender_abi = (abi_minframe*) fp;
+ intptr_t* sender_sp = (intptr_t*) fp;
+ address sender_pc = (address) sender_abi->lr;;
+
+ // We must always be able to find a recognizable pc.
+ CodeBlob* sender_blob = CodeCache::find_blob_unsafe(sender_pc);
+ if (sender_blob == NULL) {
+ return false;
+ }
+
+ // Could be a zombie method
+ if (sender_blob->is_zombie() || sender_blob->is_unloaded()) {
+ return false;
+ }
+
+ // It should be safe to construct the sender though it might not be valid.
+
+ frame sender(sender_sp, sender_pc);
+
+ // Do we have a valid fp?
+ address sender_fp = (address) sender.fp();
+
+ // sender_fp must be within the stack and above (but not
+ // equal) current frame's fp.
+ if (sender_fp > thread->stack_base() || sender_fp <= fp) {
+ return false;
+ }
+
+ // If the potential sender is the interpreter then we can do some more checking.
+ if (Interpreter::contains(sender_pc)) {
+ return sender.is_interpreted_frame_valid(thread);
+ }
+
+ // Could just be some random pointer within the codeBlob.
+ if (!sender.cb()->code_contains(sender_pc)) {
+ return false;
+ }
+
+ // We should never be able to see an adapter if the current frame is something from code cache.
+ if (sender_blob->is_adapter_blob()) {
+ return false;
+ }
+
+ if (sender.is_entry_frame()) {
+ return sender.is_entry_frame_valid(thread);
+ }
+
+ // Frame size is always greater than zero. If the sender frame size is zero or less,
+ // something is really weird and we better give up.
+ if (sender_blob->frame_size() <= 0) {
+ return false;
+ }
+
+ return true;
+ }
+
+ // Must be native-compiled frame. Since sender will try and use fp to find
+ // linkages it must be safe
+
+ if (!fp_safe) {
+ return false;
+ }
+
+ return true;
}
bool frame::is_interpreted_frame() const {
--- a/src/hotspot/cpu/sparc/c1_Runtime1_sparc.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/cpu/sparc/c1_Runtime1_sparc.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -407,8 +407,11 @@
__ set_info("fast new_instance init check", dont_gc_arguments);
}
+ // If TLAB is disabled, see if there is support for inlining contiguous
+ // allocations.
+ // Otherwise, just go to the slow path.
if ((id == fast_new_instance_id || id == fast_new_instance_init_check_id) &&
- UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
+ !UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
Label slow_path;
Register G1_obj_size = G1;
Register G3_t1 = G3;
--- a/src/hotspot/cpu/x86/c1_Runtime1_x86.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/cpu/x86/c1_Runtime1_x86.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -1013,7 +1013,10 @@
__ set_info("fast new_instance init check", dont_gc_arguments);
}
- if ((id == fast_new_instance_id || id == fast_new_instance_init_check_id) && UseTLAB
+ // If TLAB is disabled, see if there is support for inlining contiguous
+ // allocations.
+ // Otherwise, just go to the slow path.
+ if ((id == fast_new_instance_id || id == fast_new_instance_init_check_id) && !UseTLAB
&& Universe::heap()->supports_inline_contig_alloc()) {
Label slow_path;
Register obj_size = rcx;
@@ -1046,13 +1049,9 @@
}
#endif // ASSERT
- // if we got here then the TLAB allocation failed, so try
- // refilling the TLAB or allocating directly from eden.
- Label retry_tlab, try_eden;
const Register thread = NOT_LP64(rdi) LP64_ONLY(r15_thread);
NOT_LP64(__ get_thread(thread));
- __ bind(try_eden);
// get the instance size (size is postive so movl is fine for 64bit)
__ movl(obj_size, Address(klass, Klass::layout_helper_offset()));
@@ -1133,9 +1132,10 @@
}
#endif // ASSERT
- // If we got here, the TLAB allocation failed, so try allocating from
- // eden if inline contiguous allocations are supported.
- if (UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
+ // If TLAB is disabled, see if there is support for inlining contiguous
+ // allocations.
+ // Otherwise, just go to the slow path.
+ if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
Register arr_size = rsi;
Register t1 = rcx; // must be rcx for use as shift count
Register t2 = rdi;
--- a/src/hotspot/os/linux/os_linux.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/os/linux/os_linux.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -2826,9 +2826,10 @@
// Map all node ids in which it is possible to allocate memory. Also nodes are
// not always consecutively available, i.e. available from 0 to the highest
- // node number.
+ // node number. If the nodes have been bound explicitly using numactl membind,
+ // then allocate memory from those nodes only.
for (int node = 0; node <= highest_node_number; node++) {
- if (Linux::isnode_in_configured_nodes((unsigned int)node)) {
+ if (Linux::isnode_in_bound_nodes((unsigned int)node)) {
ids[i++] = node;
}
}
@@ -2929,6 +2930,8 @@
libnuma_dlsym(handle, "numa_bitmask_isbitset")));
set_numa_distance(CAST_TO_FN_PTR(numa_distance_func_t,
libnuma_dlsym(handle, "numa_distance")));
+ set_numa_get_membind(CAST_TO_FN_PTR(numa_get_membind_func_t,
+ libnuma_v2_dlsym(handle, "numa_get_membind")));
if (numa_available() != -1) {
set_numa_all_nodes((unsigned long*)libnuma_dlsym(handle, "numa_all_nodes"));
@@ -2993,17 +2996,23 @@
unsigned long *cpu_map = NEW_C_HEAP_ARRAY(unsigned long, cpu_map_size, mtInternal);
for (size_t i = 0; i < node_num; i++) {
// Check if node is configured (not a memory-less node). If it is not, find
- // the closest configured node.
- if (!isnode_in_configured_nodes(nindex_to_node()->at(i))) {
+ // the closest configured node. Check also if node is bound, i.e. it's allowed
+ // to allocate memory from the node. If it's not allowed, map cpus in that node
+ // to the closest node from which memory allocation is allowed.
+ if (!isnode_in_configured_nodes(nindex_to_node()->at(i)) ||
+ !isnode_in_bound_nodes(nindex_to_node()->at(i))) {
closest_distance = INT_MAX;
// Check distance from all remaining nodes in the system. Ignore distance
- // from itself and from another non-configured node.
+ // from itself, from another non-configured node, and from another non-bound
+ // node.
for (size_t m = 0; m < node_num; m++) {
- if (m != i && isnode_in_configured_nodes(nindex_to_node()->at(m))) {
+ if (m != i &&
+ isnode_in_configured_nodes(nindex_to_node()->at(m)) &&
+ isnode_in_bound_nodes(nindex_to_node()->at(m))) {
distance = numa_distance(nindex_to_node()->at(i), nindex_to_node()->at(m));
// If a closest node is found, update. There is always at least one
- // configured node in the system so there is always at least one node
- // close.
+ // configured and bound node in the system so there is always at least
+ // one node close.
if (distance != 0 && distance < closest_distance) {
closest_distance = distance;
closest_node = nindex_to_node()->at(m);
@@ -3053,6 +3062,7 @@
os::Linux::numa_set_bind_policy_func_t os::Linux::_numa_set_bind_policy;
os::Linux::numa_bitmask_isbitset_func_t os::Linux::_numa_bitmask_isbitset;
os::Linux::numa_distance_func_t os::Linux::_numa_distance;
+os::Linux::numa_get_membind_func_t os::Linux::_numa_get_membind;
unsigned long* os::Linux::_numa_all_nodes;
struct bitmask* os::Linux::_numa_all_nodes_ptr;
struct bitmask* os::Linux::_numa_nodes_ptr;
@@ -5034,8 +5044,9 @@
if (!Linux::libnuma_init()) {
UseNUMA = false;
} else {
- if ((Linux::numa_max_node() < 1)) {
- // There's only one node(they start from 0), disable NUMA.
+ if ((Linux::numa_max_node() < 1) || Linux::isbound_to_single_node()) {
+ // If there's only one node (they start from 0) or if the process
+ // is bound explicitly to a single node using membind, disable NUMA.
UseNUMA = false;
}
}
--- a/src/hotspot/os/linux/os_linux.hpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/os/linux/os_linux.hpp Thu Jul 26 10:00:40 2018 -0700
@@ -228,6 +228,7 @@
typedef int (*numa_tonode_memory_func_t)(void *start, size_t size, int node);
typedef void (*numa_interleave_memory_func_t)(void *start, size_t size, unsigned long *nodemask);
typedef void (*numa_interleave_memory_v2_func_t)(void *start, size_t size, struct bitmask* mask);
+ typedef struct bitmask* (*numa_get_membind_func_t)(void);
typedef void (*numa_set_bind_policy_func_t)(int policy);
typedef int (*numa_bitmask_isbitset_func_t)(struct bitmask *bmp, unsigned int n);
@@ -244,6 +245,7 @@
static numa_set_bind_policy_func_t _numa_set_bind_policy;
static numa_bitmask_isbitset_func_t _numa_bitmask_isbitset;
static numa_distance_func_t _numa_distance;
+ static numa_get_membind_func_t _numa_get_membind;
static unsigned long* _numa_all_nodes;
static struct bitmask* _numa_all_nodes_ptr;
static struct bitmask* _numa_nodes_ptr;
@@ -259,6 +261,7 @@
static void set_numa_set_bind_policy(numa_set_bind_policy_func_t func) { _numa_set_bind_policy = func; }
static void set_numa_bitmask_isbitset(numa_bitmask_isbitset_func_t func) { _numa_bitmask_isbitset = func; }
static void set_numa_distance(numa_distance_func_t func) { _numa_distance = func; }
+ static void set_numa_get_membind(numa_get_membind_func_t func) { _numa_get_membind = func; }
static void set_numa_all_nodes(unsigned long* ptr) { _numa_all_nodes = ptr; }
static void set_numa_all_nodes_ptr(struct bitmask **ptr) { _numa_all_nodes_ptr = (ptr == NULL ? NULL : *ptr); }
static void set_numa_nodes_ptr(struct bitmask **ptr) { _numa_nodes_ptr = (ptr == NULL ? NULL : *ptr); }
@@ -299,7 +302,7 @@
if (_numa_bitmask_isbitset != NULL && _numa_all_nodes_ptr != NULL) {
return _numa_bitmask_isbitset(_numa_all_nodes_ptr, n);
} else
- return 0;
+ return false;
}
// Check if numa node exists in the system (including zero memory nodes).
static bool isnode_in_existing_nodes(unsigned int n) {
@@ -318,7 +321,42 @@
// substitute.
return _numa_bitmask_isbitset(_numa_all_nodes_ptr, n);
} else
- return 0;
+ return false;
+ }
+ // Check if node is in bound node set.
+ static bool isnode_in_bound_nodes(int node) {
+ if (_numa_get_membind != NULL && _numa_bitmask_isbitset != NULL) {
+ return _numa_bitmask_isbitset(_numa_get_membind(), node);
+ } else {
+ return false;
+ }
+ }
+ // Check if bound to only one numa node.
+ // Returns true if bound to a single numa node, otherwise returns false.
+ static bool isbound_to_single_node() {
+ int nodes = 0;
+ struct bitmask* bmp = NULL;
+ unsigned int node = 0;
+ unsigned int highest_node_number = 0;
+
+ if (_numa_get_membind != NULL && _numa_max_node != NULL && _numa_bitmask_isbitset != NULL) {
+ bmp = _numa_get_membind();
+ highest_node_number = _numa_max_node();
+ } else {
+ return false;
+ }
+
+ for (node = 0; node <= highest_node_number; node++) {
+ if (_numa_bitmask_isbitset(bmp, node)) {
+ nodes++;
+ }
+ }
+
+ if (nodes == 1) {
+ return true;
+ } else {
+ return false;
+ }
}
};
--- a/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -42,16 +42,60 @@
}
bool JavaThread::pd_get_top_frame_for_profiling(frame* fr_addr, void* ucontext, bool isInJava) {
- ucontext_t* uc = (ucontext_t*) ucontext;
- *fr_addr = frame((intptr_t*)uc->uc_mcontext.regs->gpr[1/*REG_SP*/],
- (address)uc->uc_mcontext.regs->nip);
- return true;
+ assert(this->is_Java_thread(), "must be JavaThread");
+
+ // If we have a last_Java_frame, then we should use it even if
+ // isInJava == true. It should be more reliable than ucontext info.
+ if (has_last_Java_frame() && frame_anchor()->walkable()) {
+ *fr_addr = pd_last_frame();
+ return true;
+ }
+
+ // At this point, we don't have a last_Java_frame, so
+ // we try to glean some information out of the ucontext
+ // if we were running Java code when SIGPROF came in.
+ if (isInJava) {
+ ucontext_t* uc = (ucontext_t*) ucontext;
+ frame ret_frame((intptr_t*)uc->uc_mcontext.regs->gpr[1/*REG_SP*/],
+ (address)uc->uc_mcontext.regs->nip);
+
+ if (ret_frame.pc() == NULL) {
+ // ucontext wasn't useful
+ return false;
+ }
+
+ if (ret_frame.is_interpreted_frame()) {
+ frame::ijava_state* istate = ret_frame.get_ijava_state();
+ if (!((Method*)(istate->method))->is_metaspace_object()) {
+ return false;
+ }
+ uint64_t reg_bcp = uc->uc_mcontext.regs->gpr[14/*R14_bcp*/];
+ uint64_t istate_bcp = istate->bcp;
+ uint64_t code_start = (uint64_t)(((Method*)(istate->method))->code_base());
+ uint64_t code_end = (uint64_t)(((Method*)istate->method)->code_base() + ((Method*)istate->method)->code_size());
+ if (istate_bcp >= code_start && istate_bcp < code_end) {
+ // we have a valid bcp, don't touch it, do nothing
+ } else if (reg_bcp >= code_start && reg_bcp < code_end) {
+ istate->bcp = reg_bcp;
+ } else {
+ return false;
+ }
+ }
+ if (!ret_frame.safe_for_sender(this)) {
+ // nothing else to try if the frame isn't good
+ return false;
+ }
+ *fr_addr = ret_frame;
+ return true;
+ }
+ // nothing else to try
+ return false;
}
// Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Linux/PPC.
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) {
- Unimplemented();
- return false;
+ assert(this->is_Java_thread(), "must be JavaThread");
+ return pd_get_top_frame_for_profiling(fr_addr, ucontext, isInJava);
}
void JavaThread::cache_global_variables() { }
--- a/src/hotspot/share/aot/aotCodeHeap.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/share/aot/aotCodeHeap.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -29,7 +29,7 @@
#include "classfile/javaAssertions.hpp"
#include "gc/shared/cardTable.hpp"
#include "gc/shared/cardTableBarrierSet.hpp"
-#include "gc/shared/collectedHeap.hpp"
+#include "gc/shared/gcConfig.hpp"
#include "gc/g1/heapRegion.hpp"
#include "interpreter/abstractInterpreter.hpp"
#include "jvmci/compilerRuntime.hpp"
@@ -160,10 +160,15 @@
// Check configuration size
verify_flag(_config->_config_size, AOTConfiguration::CONFIG_SIZE, "AOT configuration size");
+ // Check GC
+ CollectedHeap::Name gc = (CollectedHeap::Name)_config->_gc;
+ if (_valid && !GCConfig::is_gc_selected(gc)) {
+ handle_config_error("Shared file %s error: used '%s' is different from current '%s'", _name, GCConfig::hs_err_name(gc), GCConfig::hs_err_name());
+ }
+
// Check flags
verify_flag(_config->_useCompressedOops, UseCompressedOops, "UseCompressedOops");
verify_flag(_config->_useCompressedClassPointers, UseCompressedClassPointers, "UseCompressedClassPointers");
- verify_flag(_config->_useG1GC, UseG1GC, "UseG1GC");
verify_flag(_config->_useTLAB, UseTLAB, "UseTLAB");
verify_flag(_config->_useBiasedLocking, UseBiasedLocking, "UseBiasedLocking");
verify_flag(_config->_objectAlignment, ObjectAlignmentInBytes, "ObjectAlignmentInBytes");
--- a/src/hotspot/share/aot/aotCodeHeap.hpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/share/aot/aotCodeHeap.hpp Thu Jul 26 10:00:40 2018 -0700
@@ -92,8 +92,8 @@
} AOTHeader;
typedef struct {
- enum { CONFIG_SIZE = 7 * jintSize + 12 };
- // 7 int values
+ enum { CONFIG_SIZE = 8 * jintSize + 11 };
+ // 8 int values
int _config_size;
int _narrowOopShift;
int _narrowKlassShift;
@@ -101,12 +101,12 @@
int _fieldsAllocationStyle;
int _objectAlignment;
int _codeSegmentSize;
- // byte[12] array map to boolean values here
+ int _gc;
+ // byte[11] array map to boolean values here
bool _debug_VM;
bool _useCompressedOops;
bool _useCompressedClassPointers;
bool _compactFields;
- bool _useG1GC;
bool _useTLAB;
bool _useBiasedLocking;
bool _tieredAOT;
--- a/src/hotspot/share/gc/shared/gcConfig.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/share/gc/shared/gcConfig.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -226,6 +226,15 @@
return "unknown gc";
}
+const char* GCConfig::hs_err_name(CollectedHeap::Name name) {
+ FOR_EACH_SUPPORTED_GC(gc) {
+ if (gc->_name == name) {
+ return gc->_hs_err_name;
+ }
+ }
+ return "unknown gc";
+}
+
GCArguments* GCConfig::arguments() {
assert(_arguments != NULL, "Not initialized");
return _arguments;
--- a/src/hotspot/share/gc/shared/gcConfig.hpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/share/gc/shared/gcConfig.hpp Thu Jul 26 10:00:40 2018 -0700
@@ -50,6 +50,7 @@
static bool is_gc_selected_ergonomically();
static const char* hs_err_name();
+ static const char* hs_err_name(CollectedHeap::Name name);
static GCArguments* arguments();
};
--- a/src/hotspot/share/prims/whitebox.cpp Thu Jul 26 09:30:58 2018 -0700
+++ b/src/hotspot/share/prims/whitebox.cpp Thu Jul 26 10:00:40 2018 -0700
@@ -1785,6 +1785,14 @@
WB_END
+WB_ENTRY(jboolean, WB_IsJFRIncludedInVmBuild(JNIEnv* env))
+#if INCLUDE_JFR
+ return true;
+#else
+ return false;
+#endif // INCLUDE_JFR
+WB_END
+
#if INCLUDE_CDS
WB_ENTRY(jint, WB_GetOffsetForName(JNIEnv* env, jobject o, jstring name))
@@ -2163,6 +2171,7 @@
{CC"getResolvedReferences", CC"(Ljava/lang/Class;)Ljava/lang/Object;", (void*)&WB_GetResolvedReferences},
{CC"areOpenArchiveHeapObjectsMapped", CC"()Z", (void*)&WB_AreOpenArchiveHeapObjectsMapped},
{CC"isCDSIncludedInVmBuild", CC"()Z", (void*)&WB_IsCDSIncludedInVmBuild },
+ {CC"isJFRIncludedInVmBuild", CC"()Z", (void*)&WB_IsJFRIncludedInVmBuild },
{CC"isJavaHeapArchiveSupported", CC"()Z", (void*)&WB_IsJavaHeapArchiveSupported },
{CC"clearInlineCaches0", CC"(Z)V", (void*)&WB_ClearInlineCaches },
--- a/src/java.base/share/classes/com/sun/crypto/provider/RSACipher.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/com/sun/crypto/provider/RSACipher.java Thu Jul 26 10:00:40 2018 -0700
@@ -332,7 +332,7 @@
if ((inLen == 0) || (in == null)) {
return;
}
- if (bufOfs + inLen > buffer.length) {
+ if (inLen > (buffer.length - bufOfs)) {
bufOfs = buffer.length + 1;
return;
}
--- a/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -42,6 +42,7 @@
public static final String MORE_INFO = "MORE_INFO";
public static final String DUPLICATE_OPTION = "DUPLICATE_OPTION";
public static final String BAD_SPEC = "BAD_SPEC";
+ public static final String DEPRECATED = "DEPRECATED";
/*
* The following are the output of 'pack200' and 'unpack200' commands.
@@ -89,7 +90,7 @@
" -q\u3001--quiet \u5197\u9577\u6027\u3092\u6700\u4F4E\u30EC\u30D9\u30EB\u306B\u8A2D\u5B9A\u3057\u307E\u3059",
" -l{F}\u3001--log-file={F} \u6307\u5B9A\u306E\u30ED\u30B0\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306FSystem.out ",
" ('-'\u306E\u5834\u5408)\u306B\u51FA\u529B\u3057\u307E\u3059",
- " -?\u3001-h\u3001--help \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059",
+ " -?\u3001-h\u3001--help \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059",
" -V\u3001--version \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u307E\u3059",
" -J{X} \u30AA\u30D7\u30B7\u30E7\u30F3X\u3092\u57FA\u790E\u3068\u306A\u308BJava VM\u306B\u6E21\u3057\u307E\u3059",
"",
@@ -118,7 +119,7 @@
" -q\u3001--quiet \u5197\u9577\u6027\u3092\u6700\u4F4E\u30EC\u30D9\u30EB\u306B\u8A2D\u5B9A\u3057\u307E\u3059",
" -l{F}\u3001--log-file={F} \u6307\u5B9A\u306E\u30ED\u30B0\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F",
" System.out ('-'\u306E\u5834\u5408)\u306B\u51FA\u529B\u3057\u307E\u3059",
- " -?\u3001-h\u3001--help \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059",
+ " -?\u3001-h\u3001--help \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059",
" -V\u3001--version \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u307E\u3059",
" -J{X} \u30AA\u30D7\u30B7\u30E7\u30F3X\u3092\u57FA\u790E\u3068\u306A\u308BJava VM\u306B\u6E21\u3057\u307E\u3059"
}
@@ -126,6 +127,7 @@
{MORE_INFO, "(\u8A73\u7D30\u306F\u3001{0} --help\u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002)"}, // parameter 0:command name
{DUPLICATE_OPTION, "\u91CD\u8907\u30AA\u30D7\u30B7\u30E7\u30F3: {0}"}, // parameter 0:option
{BAD_SPEC, "{0}\u306E\u7121\u52B9\u306A\u4ED5\u69D8: {1}"}, // parameter 0:option;parameter 1:specifier
+ {DEPRECATED, "\n\u8B66\u544A: {0}\u30C4\u30FC\u30EB\u306F\u975E\u63A8\u5968\u3067\u3042\u308A\u3001\u4ECA\u5F8C\u306EJDK\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u4E88\u5B9A\u3067\u3059\u3002\n"} // parameter 0:command name
};
protected Object[][] getContents() {
--- a/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -42,6 +42,7 @@
public static final String MORE_INFO = "MORE_INFO";
public static final String DUPLICATE_OPTION = "DUPLICATE_OPTION";
public static final String BAD_SPEC = "BAD_SPEC";
+ public static final String DEPRECATED = "DEPRECATED";
/*
* The following are the output of 'pack200' and 'unpack200' commands.
@@ -89,7 +90,7 @@
" -q, --quiet \u5C06\u8BE6\u7EC6\u7A0B\u5EA6\u8BBE\u7F6E\u4E3A\u6700\u4F4E\u7EA7\u522B",
" -l{F}, --log-file={F} \u8F93\u51FA\u5230\u7ED9\u5B9A\u65E5\u5FD7\u6587\u4EF6, ",
" \u6216\u5BF9\u4E8E System.out \u6307\u5B9A '-'",
- " -?, -h, --help \u8F93\u51FA\u6B64\u6D88\u606F",
+ " -?, -h, --help \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F",
" -V, --version \u8F93\u51FA\u7A0B\u5E8F\u7248\u672C",
" -J{X} \u5C06\u9009\u9879 X \u4F20\u9012\u7ED9\u57FA\u7840 Java VM",
"",
@@ -118,7 +119,7 @@
" -q, --quiet \u5C06\u8BE6\u7EC6\u7A0B\u5EA6\u8BBE\u7F6E\u4E3A\u6700\u4F4E\u7EA7\u522B",
" -l{F}, --log-file={F} \u8F93\u51FA\u5230\u7ED9\u5B9A\u65E5\u5FD7\u6587\u4EF6, \u6216",
" \u5BF9\u4E8E System.out \u6307\u5B9A '-'",
- " -?, -h, --help \u8F93\u51FA\u6B64\u6D88\u606F",
+ " -?, -h, --help \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F",
" -V, --version \u8F93\u51FA\u7A0B\u5E8F\u7248\u672C",
" -J{X} \u5C06\u9009\u9879 X \u4F20\u9012\u7ED9\u57FA\u7840 Java VM"
}
@@ -126,6 +127,7 @@
{MORE_INFO, "(\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u8FD0\u884C {0} --help\u3002)"}, // parameter 0:command name
{DUPLICATE_OPTION, "\u91CD\u590D\u7684\u9009\u9879: {0}"}, // parameter 0:option
{BAD_SPEC, "{0}\u7684\u89C4\u8303\u9519\u8BEF: {1}"}, // parameter 0:option;parameter 1:specifier
+ {DEPRECATED, "\n\u8B66\u544A\uFF1A{0} \u5DE5\u5177\u5DF2\u8FC7\u65F6\uFF0C\u8BA1\u5212\u5728\u672A\u6765\u7684 JDK \u53D1\u884C\u7248\u4E2D\u5220\u9664\u3002\n"} // parameter 0:command name
};
protected Object[][] getContents() {
--- a/src/java.base/share/classes/java/lang/String.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/java/lang/String.java Thu Jul 26 10:00:40 2018 -0700
@@ -2764,30 +2764,32 @@
}
/**
- * Returns a stream of substrings extracted from this string
- * partitioned by line terminators.
+ * Returns a stream of lines extracted from this string,
+ * separated by line terminators.
+ * <p>
+ * A <i>line terminator</i> is one of the following:
+ * a line feed character {@code "\n"} (U+000A),
+ * a carriage return character {@code "\r"} (U+000D),
+ * or a carriage return followed immediately by a line feed
+ * {@code "\r\n"} (U+000D U+000A).
* <p>
- * Line terminators recognized are line feed
- * {@code "\n"} ({@code U+000A}),
- * carriage return
- * {@code "\r"} ({@code U+000D})
- * and a carriage return followed immediately by a line feed
- * {@code "\r\n"} ({@code U+000D U+000A}).
+ * A <i>line</i> is either a sequence of zero or more characters
+ * followed by a line terminator, or it is a sequence of one or
+ * more characters followed by the end of the string. A
+ * line does not include the line terminator.
* <p>
- * The stream returned by this method contains each line of
- * this string that is terminated by a line terminator except that
- * the last line can either be terminated by a line terminator or the
- * end of the string.
- * The lines in the stream are in the order in which
- * they occur in this string and do not include the line terminators
- * partitioning the lines.
+ * The stream returned by this method contains the lines from
+ * this string in the order in which they occur.
+ *
+ * @apiNote This definition of <i>line</i> implies that an empty
+ * string has zero lines and that there is no empty line
+ * following a line terminator at the end of a string.
*
* @implNote This method provides better performance than
* split("\R") by supplying elements lazily and
* by faster search of new line terminators.
*
- * @return the stream of strings extracted from this string
- * partitioned by line terminators
+ * @return the stream of lines extracted from this string
*
* @since 11
*/
--- a/src/java.base/share/classes/java/security/Signature.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/java/security/Signature.java Thu Jul 26 10:00:40 2018 -0700
@@ -700,7 +700,7 @@
* encoded or of the wrong type, if this signature algorithm is unable to
* process the input data provided, etc.
* @exception IllegalArgumentException if the {@code signature}
- * byte array is null, or the {@code offset} or {@code length}
+ * byte array is {@code null}, or the {@code offset} or {@code length}
* is less than 0, or the sum of the {@code offset} and
* {@code length} is greater than the length of the
* {@code signature} byte array.
@@ -897,14 +897,15 @@
/**
* Returns the parameters used with this signature object.
*
- * <p>The returned parameters may be the same that were used to initialize
- * this signature, or may contain a combination of default and randomly
- * generated parameter values used by the underlying signature
- * implementation if this signature requires algorithm parameters but
- * was not initialized with any.
+ * <p> If this signature has been previously initialized with parameters
+ * (by calling the {@code setParameter} method), this method returns
+ * the same parameters. If this signature has not been initialized with
+ * parameters, this method may return a combination of default and
+ * randomly generated parameter values if the underlying
+ * signature implementation supports it and can successfully generate
+ * them. Otherwise, {@code null} is returned.
*
- * @return the parameters used with this signature, or null if this
- * signature does not use any parameters.
+ * @return the parameters used with this signature, or {@code null}
*
* @see #setParameter(AlgorithmParameterSpec)
* @since 1.4
@@ -925,7 +926,7 @@
*
* @param param the string name of the parameter.
*
- * @return the object that represents the parameter value, or null if
+ * @return the object that represents the parameter value, or {@code null} if
* there is none.
*
* @exception InvalidParameterException if {@code param} is an invalid
--- a/src/java.base/share/classes/java/security/SignatureSpi.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/java/security/SignatureSpi.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -326,18 +326,18 @@
}
/**
- * <p>This method is overridden by providers to return the
- * parameters used with this signature engine, or null
- * if this signature engine does not use any parameters.
+ * <p>This method is overridden by providers to return the parameters
+ * used with this signature engine.
*
- * <p>The returned parameters may be the same that were used to initialize
- * this signature engine, or may contain a combination of default and
- * randomly generated parameter values used by the underlying signature
- * implementation if this signature engine requires algorithm parameters
- * but was not initialized with any.
+ * <p> If this signature engine has been previously initialized with
+ * parameters (by calling the {@code engineSetParameter} method), this
+ * method returns the same parameters. If this signature engine has not been
+ * initialized with parameters, this method may return a combination of
+ * default and randomly generated parameter values if the underlying
+ * signature implementation supports it and can successfully generate
+ * them. Otherwise, {@code null} is returned.
*
- * @return the parameters used with this signature engine, or null if this
- * signature engine does not use any parameters
+ * @return the parameters used with this signature engine, or {@code null}
*
* @exception UnsupportedOperationException if this method is
* not overridden by a provider
@@ -360,7 +360,7 @@
*
* @param param the string name of the parameter.
*
- * @return the object that represents the parameter value, or null if
+ * @return the object that represents the parameter value, or {@code null} if
* there is none.
*
* @exception InvalidParameterException if {@code param} is an
--- a/src/java.base/share/classes/javax/crypto/Cipher.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/javax/crypto/Cipher.java Thu Jul 26 10:00:40 2018 -0700
@@ -2739,7 +2739,7 @@
// Input sanity check
if ((src == null) || (offset < 0) || (len < 0)
- || ((len + offset) > src.length)) {
+ || len > (src.length - offset)) {
throw new IllegalArgumentException("Bad arguments");
}
--- a/src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java Thu Jul 26 10:00:40 2018 -0700
@@ -451,6 +451,9 @@
return true;
}
}
+ if (Reflection.areNestMates(cl, superCl)) {
+ return true;
+ }
return false;
} else {
// sanity check to ensure the parent is protected or public
--- a/src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 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
@@ -24,7 +24,7 @@
#
# Translators please note do not translate the options themselves
-java.launcher.opt.header = \u4F7F\u7528\u65B9\u6CD5: {0} [options] <mainclass> [args...]\n (\u30AF\u30E9\u30B9\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\n \u307E\u305F\u306F {0} [options] -jar <jarfile> [args...]\n (jar\u30D5\u30A1\u30A4\u30EB\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\n \u307E\u305F\u306F {0} [options] -m <module>[/<mainclass>] [args...]\n {0} [options] --module <module>[/<mainclass>] [args...]\n (\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\n\n \u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9-jar <jarfile>\u3001-m\u307E\u305F\u306F--module\n <module>/<mainclass>\u306B\u7D9A\u304F\u5F15\u6570\u306F\u3001\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3078\u306E\u5F15\u6570\u3068\u3057\u3066\u6E21\u3055\u308C\u307E\u3059\u3002\n\n \u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n\n
+java.launcher.opt.header = \u4F7F\u7528\u65B9\u6CD5: {0} [options] <mainclass> [args...]\n (\u30AF\u30E9\u30B9\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\n \u307E\u305F\u306F {0} [options] -jar <jarfile> [args...]\n (jar\u30D5\u30A1\u30A4\u30EB\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\n \u307E\u305F\u306F {0} [options] -m <module>[/<mainclass>] [args...]\n {0} [options] --module <module>[/<mainclass>] [args...]\n (\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\n \u307E\u305F\u306F {0} [options] <sourcefile> [args]\n (\u5358\u4E00\u306E\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u30FB\u30D7\u30ED\u30B0\u30E9\u30E0\u3092\u5B9F\u884C\u3059\u308B\u5834\u5408)\n\n \u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3001\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3001-jar <jarfile>\u3001\n -m\u307E\u305F\u306F--module <module>/<mainclass>\u306B\u7D9A\u304F\u5F15\u6570\u306F\u3001\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3078\u306E\u5F15\u6570\u3068\u3057\u3066\n \u6E21\u3055\u308C\u307E\u3059\u3002\n\n \u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n\n
java.launcher.opt.vmselect =\ {0}\t "{1}" VM\u3092\u9078\u629E\u3059\u308B\u5834\u5408\n
java.launcher.opt.hotspot =\ {0}\t \u306F"{1}" VM\u306E\u30B7\u30CE\u30CB\u30E0\u3067\u3059 [\u975E\u63A8\u5968]\n
@@ -32,11 +32,11 @@
# Translators please note do not translate the options themselves
java.launcher.opt.footer = \ -cp <\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB\u306E\u30AF\u30E9\u30B9\u691C\u7D22\u30D1\u30B9>\n -classpath <\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB\u306E\u30AF\u30E9\u30B9\u691C\u7D22\u30D1\u30B9>\n --class-path <\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB\u306E\u30AF\u30E9\u30B9\u691C\u7D22\u30D1\u30B9>\n {0}\u533A\u5207\u308A\u30EA\u30B9\u30C8(\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u30A2\u30FC\u30AB\u30A4\u30D6\u3001\n ZIP\u30A2\u30FC\u30AB\u30A4\u30D6)\u3067\u3001\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u691C\u7D22\u7528\u3002\n -p <module path>\n --module-path <module path>...\n \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E{0}\u533A\u5207\u308A\u30EA\u30B9\u30C8\u3001\u5404\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n \u306F\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u3059\u3002\n --upgrade-module-path <module path>...\n \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E{0}\u533A\u5207\u308A\u30EA\u30B9\u30C8\u3001\u5404\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n \u306F\u3001\u30E9\u30F3\u30BF\u30A4\u30E0\u30FB\u30A4\u30E1\u30FC\u30B8\u5185\u306E\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u53EF\u80FD\u306A\n \u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u7F6E\u63DB\u3059\u308B\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u3059\n --add-modules <module name>[,<module name>...]\n \u521D\u671F\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u52A0\u3048\u3066\u89E3\u6C7A\u3059\u308B\u30EB\u30FC\u30C8\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u3002\n <module name>\u306B\u306F\u6B21\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059: ALL-DEFAULT\u3001ALL-SYSTEM\u3001\n ALL-MODULE-PATH.\n --list-modules\n \u53C2\u7167\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30EA\u30B9\u30C8\u3057\u7D42\u4E86\u3057\u307E\u3059\n -d <module name>\n --describe-module <module name>\n \u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u8AAC\u660E\u3057\u7D42\u4E86\u3057\u307E\u3059\n --dry-run VM\u3092\u4F5C\u6210\u3057\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u304C\u3001\u30E1\u30A4\u30F3\u30FB\u30E1\u30BD\u30C3\u30C9\u306F\u5B9F\u884C\u3057\u307E\u305B\u3093\u3002\n --dry-run\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u6B21\u306E\u691C\u8A3C\u306B\u5F79\u7ACB\u3064\u5834\u5408\u304C\u3042\u308A\u307E\u3059:\n \u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30B7\u30B9\u30C6\u30E0\u69CB\u6210\u306A\u3069\u306E\u30B3\u30DE\u30F3\u30C9\u884C\u30AA\u30D7\u30B7\u30E7\u30F3\u3002\n --validate-modules\n \u3059\u3079\u3066\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u691C\u8A3C\u3057\u7D42\u4E86\u3057\u307E\u3059\n --validate-modules\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u6B21\u306E\u691C\u7D22\u306B\u5F79\u7ACB\u3064\u5834\u5408\u304C\u3042\u308A\u307E\u3059:\n \u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D1\u30B9\u4E0A\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3067\u306E\u7AF6\u5408\u304A\u3088\u3073\u305D\u306E\u4ED6\u306E\u30A8\u30E9\u30FC\u3002\n -D<name>=<value>\n \u30B7\u30B9\u30C6\u30E0\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3057\u307E\u3059\n -verbose:[class|module|gc|jni]\n \u8A73\u7D30\u51FA\u529B\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\n -version \u88FD\u54C1\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u30A8\u30E9\u30FC\u30FB\u30B9\u30C8\u30EA\u30FC\u30E0\u306B\u51FA\u529B\u3057\u3066\u7D42\u4E86\u3057\u307E\u3059\n --version \
\u88FD\u54C1\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u30B9\u30C8\u30EA\u30FC\u30E0\u306B\u51FA\u529B\u3057\u3066\u7D42\u4E86\u3057\u307E\u3059\n -showversion \u88FD\u54C1\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u30A8\u30E9\u30FC\u30FB\u30B9\u30C8\u30EA\u30FC\u30E0\u306B\u51FA\u529B\u3057\u3066\u7D9A\u884C\u3057\u307E\u3059\n --show-version\n \u88FD\u54C1\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u30B9\u30C8\u30EA\u30FC\u30E0\u306B\u51FA\u529B\u3057\u3066\u7D9A\u884C\u3057\u307E\u3059\n --show-module-resolution\n \u8D77\u52D5\u6642\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u89E3\u6C7A\u51FA\u529B\u3092\u8868\u793A\u3057\u307E\u3059\n -? -h -help\n \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u30A8\u30E9\u30FC\u30FB\u30B9\u30C8\u30EA\u30FC\u30E0\u306B\u51FA\u529B\u3057\u307E\u3059\n --help \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u30B9\u30C8\u30EA\u30FC\u30E0\u306B\u51FA\u529B\u3057\u307E\u3059\n -X \u8FFD\u52A0\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30D8\u30EB\u30D7\u3092\u30A8\u30E9\u30FC\u30FB\u30B9\u30C8\u30EA\u30FC\u30E0\u306B\u51FA\u529B\u3057\u307E\u3059\n --help-extra \u8FFD\u52A0\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30D8\u30EB\u30D7\u3092\u51FA\u529B\u30B9\u30C8\u30EA\u30FC\u30E0\u306B\u51FA\u529B\u3057\u307E\u3059\n -ea[:<packagename>...|:<classname>]\n -enableassertions[:<packagename>...|:<classname>]\n \u6307\u5B9A\u3057\u305F\u7C92\u5EA6\u3067\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\n -da[:<packagename>...|:<classname>]\n -disableassertions[:<packagename>...|:<classname>]\n \u6307\u5B9A\u3057\u305F\u7C92\u5EA6\u3067\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u307E\u3059\n -esa | -enablesystemassertions\n \u30B7\u30B9\u30C6\u30E0\u30FB\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\n -dsa | -disablesystemassertions\n \u30B7\u30B9\u30C6\u30E0\u30FB\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u307E\u3059\n -agentlib:<libname>[=<options>]\n \u30CD\u30A4\u30C6\u30A3\u30D6\u30FB\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30E9\u30A4\u30D6\u30E9\u30EA<libname>\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\u4F8B: -agentlib:jdwp\n -agentlib:jdwp=help\u3082\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\n -agentpath:<pathname>[=<options>]\n \u30D5\u30EB\u30D1\u30B9\u540D\u3092\u4F7F\u7528\u3057\u3066\u3001\u30CD\u30A4\u30C6\u30A3\u30D6\u30FB\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30FB\u30E9\u30A4\u30D6\u30E9\u30EA\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\n -javaagent:<jarpath>[=<options>]\n Java\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002java.lang.instrument\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\n -splash:<imagepath>\n \u6307\u5B9A\u3055\u308C\u305F\u30A4\u30E1\u30FC\u30B8\u3092\u542B\u3080\u30B9\u30D7\u30E9\u30C3\u30B7\u30E5\u753B\u9762\u3092\u8868\u793A\u3057\u307E\u3059\n HiDPI\u30B9\u30B1\u30FC\u30EB\u306E\u30A4\u30E1\u30FC\u30B8\u304C\u81EA\u52D5\u7684\u306B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u4F7F\u7528\u3055\u308C\u307E\u3059\n (\u53EF\u80FD\u306A\u5834\u5408)\u3002\u30B9\u30B1\u30FC\u30EA\u30F3\u30B0\u3055\u308C\u306A\u3044\u30A4\u30E1\u30FC\u30B8\u306E\u30D5\u30A1\u30A4\u30EB\u540D(image.ext\u306A\u3069)\u3092\n \u5F15\u6570\u3068\u3057\u3066-splash\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u5FC5\u305A\u6E21\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n \
-\u6307\u5B9A\u3055\u308C\u305F\u6700\u3082\u9069\u5207\u306A\u30B9\u30B1\u30FC\u30EA\u30F3\u30B0\u6E08\u30A4\u30E1\u30FC\u30B8\u304C\u9078\u629E\u3055\u308C\u307E\u3059\n (\u81EA\u52D5\u7684)\u3002\n \u8A73\u7D30\u306F\u3001SplashScreen API\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\n @argument\u30D5\u30A1\u30A4\u30EB\n \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u542B\u30801\u3064\u4EE5\u4E0A\u306E\u5F15\u6570\u30D5\u30A1\u30A4\u30EB\n -disable-@files\n \u3055\u3089\u306A\u308B\u5F15\u6570\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u3092\u7121\u52B9\u306B\u3057\u307E\u3059\n\u9577\u3044\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B\u5834\u5408\u3001--<name>=<value>\u307E\u305F\u306F\n--<name> <value>\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\n
+\u6307\u5B9A\u3055\u308C\u305F\u6700\u3082\u9069\u5207\u306A\u30B9\u30B1\u30FC\u30EA\u30F3\u30B0\u6E08\u30A4\u30E1\u30FC\u30B8\u304C\u9078\u629E\u3055\u308C\u307E\u3059\n (\u81EA\u52D5\u7684)\u3002\n \u8A73\u7D30\u306F\u3001SplashScreen API\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\n @argument\u30D5\u30A1\u30A4\u30EB\n \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u542B\u30801\u3064\u4EE5\u4E0A\u306E\u5F15\u6570\u30D5\u30A1\u30A4\u30EB\n -disable-@files\n \u3055\u3089\u306A\u308B\u5F15\u6570\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u3092\u7121\u52B9\u306B\u3057\u307E\u3059\n --enable-preview\n \u30AF\u30E9\u30B9\u3092\u3053\u306E\u30EA\u30EA\u30FC\u30B9\u306E\u30D7\u30EC\u30D3\u30E5\u30FC\u6A5F\u80FD\u306B\u4F9D\u5B58\u3055\u305B\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\n\u9577\u3044\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B\u5834\u5408\u3001--<name>=<value>\u307E\u305F\u306F\n--<name> <value>\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\n
# Translators please note do not translate the options themselves
-java.launcher.X.usage=\n -Xbatch \u30D0\u30C3\u30AF\u30B0\u30E9\u30A6\u30F3\u30C9\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u3092\u7121\u52B9\u306B\u3059\u308B\n -Xbootclasspath/a:<{0}\u3067\u533A\u5207\u3089\u308C\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB>\n \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\n -Xcheck:jni JNI\u95A2\u6570\u306B\u5BFE\u3059\u308B\u8FFD\u52A0\u306E\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u3059\u308B\n -Xcomp \u521D\u56DE\u547C\u51FA\u3057\u6642\u306B\u30E1\u30BD\u30C3\u30C9\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u3092\u5F37\u5236\u3059\u308B\n -Xdebug \u4E0B\u4F4D\u4E92\u63DB\u6027\u306E\u305F\u3081\u306B\u63D0\u4F9B\n -Xdiag \u8FFD\u52A0\u306E\u8A3A\u65AD\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3059\u308B\n -Xfuture \u5C06\u6765\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u898B\u8D8A\u3057\u3066\u3001\u6700\u3082\u53B3\u5BC6\u306A\u30C1\u30A7\u30C3\u30AF\u3092\u6709\u52B9\u306B\u3059\u308B\n -Xint \u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u30FB\u30E2\u30FC\u30C9\u306E\u5B9F\u884C\u306E\u307F\n -Xinternalversion\n -version\u30AA\u30D7\u30B7\u30E7\u30F3\u3088\u308A\u8A73\u7D30\u306AJVM\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\n \u8868\u793A\u3059\u308B\n -Xloggc:<file> \u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u4ED8\u3044\u305F\u30D5\u30A1\u30A4\u30EB\u306BGC\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u30ED\u30B0\u3092\u8A18\u9332\u3059\u308B\n -Xmixed \u6DF7\u5408\u30E2\u30FC\u30C9\u306E\u5B9F\u884C(\u30C7\u30D5\u30A9\u30EB\u30C8)\n -Xmn<size> \u82E5\u3044\u4E16\u4EE3(\u30CA\u30FC\u30B5\u30EA)\u306E\u30D2\u30FC\u30D7\u306E\u521D\u671F\u304A\u3088\u3073\u6700\u5927\u30B5\u30A4\u30BA(\u30D0\u30A4\u30C8\u5358\u4F4D)\n \u3092\u8A2D\u5B9A\u3059\u308B\n -Xms<size> Java\u306E\u521D\u671F\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xmx<size> Java\u306E\u6700\u5927\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xnoclassgc \u30AF\u30E9\u30B9\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3059\u308B\n -Xrs Java/VM\u306B\u3088\u308BOS\u30B7\u30B0\u30CA\u30EB\u306E\u4F7F\u7528\u3092\u524A\u6E1B\u3059\u308B(\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167)\n -Xshare:auto \u53EF\u80FD\u3067\u3042\u308C\u3070\u5171\u6709\u30AF\u30E9\u30B9\u306E\u30C7\u30FC\u30BF\u3092\u4F7F\u7528\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8)\n -Xshare:off \u5171\u6709\u30AF\u30E9\u30B9\u306E\u30C7\u30FC\u30BF\u3092\u4F7F\u7528\u3057\u3088\u3046\u3068\u3057\u306A\u3044\n -Xshare:on \u5171\u6709\u30AF\u30E9\u30B9\u30FB\u30C7\u30FC\u30BF\u306E\u4F7F\u7528\u3092\u5FC5\u9808\u306B\u3057\u3001\u3067\u304D\u306A\u3051\u308C\u3070\u5931\u6557\u3059\u308B\u3002\n -XshowSettings \u3059\u3079\u3066\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:all\n \u3059\u3079\u3066\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:locale\n \u3059\u3079\u3066\u306E\u30ED\u30B1\u30FC\u30EB\u95A2\u9023\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:properties\n \u3059\u3079\u3066\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:vm \u3059\u3079\u3066\u306EVM\u95A2\u9023\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -Xss<size> \
-Java\u306E\u30B9\u30EC\u30C3\u30C9\u30FB\u30B9\u30BF\u30C3\u30AF\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xverify \u30D0\u30A4\u30C8\u30B3\u30FC\u30C9\u691C\u8A3C\u6A5F\u80FD\u306E\u30E2\u30FC\u30C9\u3092\u8A2D\u5B9A\u3059\u308B\n --add-reads <module>=<target-module>(,<target-module>)*\n \u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306B\u95A2\u4FC2\u306A\u304F\u3001<module>\u3092\u66F4\u65B0\u3057\u3066<target-module>\n \u3092\u8AAD\u307F\u53D6\u308A\u307E\u3059\u3002 \n <target-module>\u3092ALL-UNNAMED\u306B\u8A2D\u5B9A\u3059\u308B\u3068\u3001\u3059\u3079\u3066\u306E\u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\n \u8AAD\u307F\u53D6\u308C\u307E\u3059\u3002\n --add-exports <module>/<package>=<target-module>(,<target-module>)*\n \u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306B\u95A2\u4FC2\u306A\u304F\u3001<module>\u3092\u66F4\u65B0\u3057\u3066<package>\u3092<target-module>\u306B\n \u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\n <target-module>\u3092ALL-UNNAMED\u306B\u8A2D\u5B9A\u3059\u308B\u3068\u3001\u3059\u3079\u3066\u306E\u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\n \u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3067\u304D\u307E\u3059\u3002\n --add-opens <module>/<package>=<target-module>(,<target-module>)*\n \u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306B\u95A2\u4FC2\u306A\u304F\u3001<module>\u3092\u66F4\u65B0\u3057\u3066<package>\u3092\n <target-module>\u306B\u958B\u304D\u307E\u3059\u3002\n --illegal-access=<value>\n \u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u5185\u306E\u30B3\u30FC\u30C9\u306B\u3088\u308B\u3001\u540D\u524D\u306E\u3042\u308B\u30E2\u30B8\u30E5\u30FC\u30EB\u5185\u306E\n \u30BF\u30A4\u30D7\u306E\u30E1\u30F3\u30D0\u30FC\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u8A31\u53EF\u307E\u305F\u306F\u62D2\u5426\u3057\u307E\u3059\u3002\n <value>\u306F"deny"\u3001"permit"\u3001"warn"\u3001"debug"\u306E\u3044\u305A\u308C\u304B\u3067\u3059\n \u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u5C06\u6765\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u307E\u3059\u3002\n --limit-modules <module name>[,<module name>...]\n \u53C2\u7167\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u9818\u57DF\u3092\u5236\u9650\u3057\u307E\u3059\n --patch-module <module>=<file>({0}<file>)*\n JAR\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30EA\u30BD\u30FC\u30B9\u3067\n \u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u307E\u305F\u306F\u62E1\u5F35\u3057\u307E\u3059\u3002\n --disable-@files \u3055\u3089\u306A\u308B\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u3092\u7121\u52B9\u306B\u3057\u307E\u3059\n\n\u3053\u306E\u8FFD\u52A0\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n
+java.launcher.X.usage=\n -Xbatch \u30D0\u30C3\u30AF\u30B0\u30E9\u30A6\u30F3\u30C9\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u3092\u7121\u52B9\u306B\u3059\u308B\n -Xbootclasspath/a:<{0}\u3067\u533A\u5207\u3089\u308C\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304A\u3088\u3073zip/jar\u30D5\u30A1\u30A4\u30EB>\n \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\n -Xcheck:jni JNI\u95A2\u6570\u306B\u5BFE\u3059\u308B\u8FFD\u52A0\u306E\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u3059\u308B\n -Xcomp \u521D\u56DE\u547C\u51FA\u3057\u6642\u306B\u30E1\u30BD\u30C3\u30C9\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u3092\u5F37\u5236\u3059\u308B\n -Xdebug \u4E0B\u4F4D\u4E92\u63DB\u6027\u306E\u305F\u3081\u306B\u63D0\u4F9B\n -Xdiag \u8FFD\u52A0\u306E\u8A3A\u65AD\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3059\u308B\n -Xfuture \u5C06\u6765\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u898B\u8D8A\u3057\u3066\u3001\u6700\u3082\u53B3\u5BC6\u306A\u30C1\u30A7\u30C3\u30AF\u3092\u6709\u52B9\u306B\u3059\u308B\n -Xint \u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u30FB\u30E2\u30FC\u30C9\u306E\u5B9F\u884C\u306E\u307F\n -Xinternalversion\n -version\u30AA\u30D7\u30B7\u30E7\u30F3\u3088\u308A\u8A73\u7D30\u306AJVM\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\n \u8868\u793A\u3059\u308B\n -Xloggc:<file> \u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u4ED8\u3044\u305F\u30D5\u30A1\u30A4\u30EB\u306BGC\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u30ED\u30B0\u3092\u8A18\u9332\u3059\u308B\n -Xmixed \u6DF7\u5408\u30E2\u30FC\u30C9\u306E\u5B9F\u884C(\u30C7\u30D5\u30A9\u30EB\u30C8)\n -Xmn<size> \u82E5\u3044\u4E16\u4EE3(\u30CA\u30FC\u30B5\u30EA)\u306E\u30D2\u30FC\u30D7\u306E\u521D\u671F\u304A\u3088\u3073\u6700\u5927\u30B5\u30A4\u30BA(\u30D0\u30A4\u30C8\u5358\u4F4D)\n \u3092\u8A2D\u5B9A\u3059\u308B\n -Xms<size> Java\u306E\u521D\u671F\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xmx<size> Java\u306E\u6700\u5927\u30D2\u30FC\u30D7\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xnoclassgc \u30AF\u30E9\u30B9\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3059\u308B\n -Xrs Java/VM\u306B\u3088\u308BOS\u30B7\u30B0\u30CA\u30EB\u306E\u4F7F\u7528\u3092\u524A\u6E1B\u3059\u308B(\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167)\n -Xshare:auto \u53EF\u80FD\u3067\u3042\u308C\u3070\u5171\u6709\u30AF\u30E9\u30B9\u306E\u30C7\u30FC\u30BF\u3092\u4F7F\u7528\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8)\n -Xshare:off \u5171\u6709\u30AF\u30E9\u30B9\u306E\u30C7\u30FC\u30BF\u3092\u4F7F\u7528\u3057\u3088\u3046\u3068\u3057\u306A\u3044\n -Xshare:on \u5171\u6709\u30AF\u30E9\u30B9\u30FB\u30C7\u30FC\u30BF\u306E\u4F7F\u7528\u3092\u5FC5\u9808\u306B\u3057\u3001\u3067\u304D\u306A\u3051\u308C\u3070\u5931\u6557\u3059\u308B\u3002\n -XshowSettings \u3059\u3079\u3066\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:all\n \u3059\u3079\u3066\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:locale\n \u3059\u3079\u3066\u306E\u30ED\u30B1\u30FC\u30EB\u95A2\u9023\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:properties\n \u3059\u3079\u3066\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:vm\n \u3059\u3079\u3066\u306EVM\u95A2\u9023\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -XshowSettings:system\n (Linux\u306E\u307F) \
+\u30DB\u30B9\u30C8\u30FB\u30B7\u30B9\u30C6\u30E0\u307E\u305F\u306F\u30B3\u30F3\u30C6\u30CA\u306E\n \u69CB\u6210\u3092\u8868\u793A\u3057\u3066\u7D9A\u884C\u3059\u308B\n -Xss<size> Java\u306E\u30B9\u30EC\u30C3\u30C9\u30FB\u30B9\u30BF\u30C3\u30AF\u30FB\u30B5\u30A4\u30BA\u3092\u8A2D\u5B9A\u3059\u308B\n -Xverify \u30D0\u30A4\u30C8\u30B3\u30FC\u30C9\u691C\u8A3C\u6A5F\u80FD\u306E\u30E2\u30FC\u30C9\u3092\u8A2D\u5B9A\u3059\u308B\n --add-reads <module>=<target-module>(,<target-module>)*\n \u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306B\u95A2\u4FC2\u306A\u304F\u3001<module>\u3092\u66F4\u65B0\u3057\u3066<target-module>\n \u3092\u8AAD\u307F\u53D6\u308B\u3002 \n <target-module>\u3092ALL-UNNAMED\u306B\u8A2D\u5B9A\u3059\u308B\u3068\u3001\u3059\u3079\u3066\u306E\u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\n \u8AAD\u307F\u53D6\u308C\u307E\u3059\u3002\n --add-exports <module>/<package>=<target-module>(,<target-module>)*\n \u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306B\u95A2\u4FC2\u306A\u304F\u3001<module>\u3092\u66F4\u65B0\u3057\u3066<package>\u3092<target-module>\u306B\n \u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3059\u308B\u3002\n <target-module>\u3092ALL-UNNAMED\u306B\u8A2D\u5B9A\u3059\u308B\u3068\u3001\u3059\u3079\u3066\u306E\u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\n \u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3067\u304D\u307E\u3059\u3002\n --add-opens <module>/<package>=<target-module>(,<target-module>)*\n \u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306B\u95A2\u4FC2\u306A\u304F\u3001<module>\u3092\u66F4\u65B0\u3057\u3066\n <package>\u3092<target-module>\u306B\u958B\u304F\u3002\n --illegal-access=<value>\n \u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u5185\u306E\u30B3\u30FC\u30C9\u306B\u3088\u308B\u3001\u540D\u524D\u306E\u3042\u308B\u30E2\u30B8\u30E5\u30FC\u30EB\u5185\u306E\n \u30BF\u30A4\u30D7\u306E\u30E1\u30F3\u30D0\u30FC\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u8A31\u53EF\u307E\u305F\u306F\u62D2\u5426\u3059\u308B\u3002\n <value>\u306F"deny"\u3001"permit"\u3001"warn"\u3001"debug"\u306E\u3044\u305A\u308C\u304B\u3067\u3059\n \u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u5C06\u6765\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u307E\u3059\u3002\n --limit-modules <module name>[,<module name>...]\n \u53C2\u7167\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u9818\u57DF\u3092\u5236\u9650\u3059\u308B\n --patch-module <module>=<file>({0}<file>)*\n JAR\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30EA\u30BD\u30FC\u30B9\u3067\n \u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u307E\u305F\u306F\u62E1\u5F35\u3059\u308B\u3002\n --disable-@files \u3055\u3089\u306A\u308B\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u3092\u7121\u52B9\u306B\u3059\u308B\n --source <version>\n \u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u30FB\u30E2\u30FC\u30C9\u3067\u30BD\u30FC\u30B9\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u8A2D\u5B9A\u3059\u308B\u3002\n\n\u3053\u308C\u3089\u306F\u8FFD\u52A0\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n
# Translators please note do not translate the options themselves
java.launcher.X.macosx.usage=\n\u6B21\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306FMac OS X\u56FA\u6709\u3067\u3059:\n -XstartOnFirstThread\n main()\u30E1\u30BD\u30C3\u30C9\u3092\u6700\u521D(AppKit)\u306E\u30B9\u30EC\u30C3\u30C9\u3067\u5B9F\u884C\u3059\u308B\n -Xdock:name=<application name>\n Dock\u306B\u8868\u793A\u3055\u308C\u308B\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u540D\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n -Xdock:icon=<path to icon file>\n Dock\u306B\u8868\u793A\u3055\u308C\u308B\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30A2\u30A4\u30B3\u30F3\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n\n
@@ -54,7 +54,7 @@
java.launcher.jar.error4={0}\u5185\u306EJava\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306E\u30ED\u30FC\u30C9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
java.launcher.init.error=\u521D\u671F\u5316\u30A8\u30E9\u30FC
java.launcher.javafx.error1=\u30A8\u30E9\u30FC: JavaFX launchApplication\u30E1\u30BD\u30C3\u30C9\u306B\u8AA4\u3063\u305F\u30B7\u30B0\u30CD\u30C1\u30E3\u304C\u3042\u308A\u3001\nstatic\u3092\u5BA3\u8A00\u3057\u3066void\u578B\u306E\u5024\u3092\u8FD4\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
-java.launcher.module.error1=\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306BMainClass\u5C5E\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002-m <module>/<main-class>\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
+java.launcher.module.error1=\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306BModuleMainClass\u5C5E\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002-m <module>/<main-class>\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
java.launcher.module.error2=\u30A8\u30E9\u30FC: \u30E2\u30B8\u30E5\u30FC\u30EB{1}\u306B\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u3089\u306A\u304B\u3063\u305F\u304B\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
java.launcher.module.error3=\u30A8\u30E9\u30FC: \u30E2\u30B8\u30E5\u30FC\u30EB{1}\u306E\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9{0}\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\n\t{2}
java.launcher.module.error4={0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
--- a/src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 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
@@ -24,18 +24,18 @@
#
# Translators please note do not translate the options themselves
-java.launcher.opt.header = \u7528\u6CD5: {0} [options] <\u4E3B\u7C7B> [args...]\n (\u6267\u884C\u7C7B)\n \u6216 {0} [options] -jar <jar \u6587\u4EF6> [args...]\n (\u6267\u884C jar \u6587\u4EF6)\n \u6216 {0} [options] -m <\u6A21\u5757>[/<\u4E3B\u7C7B>] [args...]\n {0} [options] --module <\u6A21\u5757>[/<\u4E3B\u7C7B>] [args...]\n (\u6267\u884C\u6A21\u5757\u4E2D\u7684\u4E3B\u7C7B)\n\n \u5C06\u4E3B\u7C7B, -jar <jar \u6587\u4EF6>, -m \u6216 --module\n <\u6A21\u5757>/<\u4E3B\u7C7B> \u540E\u7684\u53C2\u6570\u4F5C\u4E3A\u53C2\u6570\u4F20\u9012\u5230\u4E3B\u7C7B\u3002\n\n \u5176\u4E2D, \u9009\u9879\u5305\u62EC:\n\n
+java.launcher.opt.header = \u7528\u6CD5\uFF1A{0} [options] <\u4E3B\u7C7B> [args...]\n \uFF08\u6267\u884C\u7C7B\uFF09\n \u6216 {0} [options] -jar <jar \u6587\u4EF6> [args...]\n \uFF08\u6267\u884C jar \u6587\u4EF6\uFF09\n \u6216 {0} [options] -m <\u6A21\u5757>[/<\u4E3B\u7C7B>] [args...]\n {0} [options] --module <\u6A21\u5757>[/<\u4E3B\u7C7B>] [args...]\n \uFF08\u6267\u884C\u6A21\u5757\u4E2D\u7684\u4E3B\u7C7B\uFF09\n \u6216 {0} [options] <\u6E90\u6587\u4EF6> [args]\n \uFF08\u6267\u884C\u5355\u4E2A\u6E90\u6587\u4EF6\u7A0B\u5E8F\uFF09\n\n \u5C06\u4E3B\u7C7B\u3001\u6E90\u6587\u4EF6\u3001-jar <jar \u6587\u4EF6>\u3001-m \u6216\n --module <\u6A21\u5757>/<\u4E3B\u7C7B> \u540E\u7684\u53C2\u6570\u4F5C\u4E3A\u53C2\u6570\n \u4F20\u9012\u5230\u4E3B\u7C7B\u3002\n\n \u5176\u4E2D\uFF0C\u9009\u9879\u5305\u62EC\uFF1A\n\n
java.launcher.opt.vmselect =\ {0}\t \u9009\u62E9 "{1}" VM\n
java.launcher.opt.hotspot =\ {0}\t \u662F "{1}" VM \u7684\u540C\u4E49\u8BCD [\u5DF2\u8FC7\u65F6]\n
# Translators please note do not translate the options themselves
java.launcher.opt.footer = \ -cp <\u76EE\u5F55\u548C zip/jar \u6587\u4EF6\u7684\u7C7B\u641C\u7D22\u8DEF\u5F84>\n -classpath <\u76EE\u5F55\u548C zip/jar \u6587\u4EF6\u7684\u7C7B\u641C\u7D22\u8DEF\u5F84>\n --class-path <\u76EE\u5F55\u548C zip/jar \u6587\u4EF6\u7684\u7C7B\u641C\u7D22\u8DEF\u5F84>\n \u4F7F\u7528 {0} \u5206\u9694\u7684, \u7528\u4E8E\u641C\u7D22\u7C7B\u6587\u4EF6\u7684\u76EE\u5F55, JAR \u6863\u6848\n \u548C ZIP \u6863\u6848\u5217\u8868\u3002\n -p <\u6A21\u5757\u8DEF\u5F84>\n --module-path <\u6A21\u5757\u8DEF\u5F84>...\n \u7528 {0} \u5206\u9694\u7684\u76EE\u5F55\u5217\u8868, \u6BCF\u4E2A\u76EE\u5F55\n \u90FD\u662F\u4E00\u4E2A\u5305\u542B\u6A21\u5757\u7684\u76EE\u5F55\u3002\n --upgrade-module-path <\u6A21\u5757\u8DEF\u5F84>...\n \u7528 {0} \u5206\u9694\u7684\u76EE\u5F55\u5217\u8868, \u6BCF\u4E2A\u76EE\u5F55\n \u90FD\u662F\u4E00\u4E2A\u5305\u542B\u6A21\u5757\u7684\u76EE\u5F55, \u8FD9\u4E9B\u6A21\u5757\n \u7528\u4E8E\u66FF\u6362\u8FD0\u884C\u65F6\u6620\u50CF\u4E2D\u7684\u53EF\u5347\u7EA7\u6A21\u5757\n --add-modules <\u6A21\u5757\u540D\u79F0>[,<\u6A21\u5757\u540D\u79F0>...]\n \u9664\u4E86\u521D\u59CB\u6A21\u5757\u4E4B\u5916\u8981\u89E3\u6790\u7684\u6839\u6A21\u5757\u3002\n <\u6A21\u5757\u540D\u79F0> \u8FD8\u53EF\u4EE5\u4E3A ALL-DEFAULT, ALL-SYSTEM,\n ALL-MODULE-PATH.\n --list-modules\n \u5217\u51FA\u53EF\u89C2\u5BDF\u6A21\u5757\u5E76\u9000\u51FA\n -d <module name>\n --describe-module <\u6A21\u5757\u540D\u79F0>\n \u63CF\u8FF0\u6A21\u5757\u5E76\u9000\u51FA\n --dry-run \u521B\u5EFA VM \u5E76\u52A0\u8F7D\u4E3B\u7C7B, \u4F46\u4E0D\u6267\u884C main \u65B9\u6CD5\u3002\n \u6B64 --dry-run \u9009\u9879\u5BF9\u4E8E\u9A8C\u8BC1\u8BF8\u5982\n \u6A21\u5757\u7CFB\u7EDF\u914D\u7F6E\u8FD9\u6837\u7684\u547D\u4EE4\u884C\u9009\u9879\u53EF\u80FD\u975E\u5E38\u6709\u7528\u3002\n --validate-modules\n \u9A8C\u8BC1\u6240\u6709\u6A21\u5757\u5E76\u9000\u51FA\n --validate-modules \u9009\u9879\u5BF9\u4E8E\u67E5\u627E\n \u6A21\u5757\u8DEF\u5F84\u4E2D\u6A21\u5757\u7684\u51B2\u7A81\u53CA\u5176\u4ED6\u9519\u8BEF\u53EF\u80FD\u975E\u5E38\u6709\u7528\u3002\n -D<\u540D\u79F0>=<\u503C>\n \u8BBE\u7F6E\u7CFB\u7EDF\u5C5E\u6027\n -verbose:[class|module|gc|jni]\n \u542F\u7528\u8BE6\u7EC6\u8F93\u51FA\n -version \u5C06\u4EA7\u54C1\u7248\u672C\u8F93\u51FA\u5230\u9519\u8BEF\u6D41\u5E76\u9000\u51FA\n --version \u5C06\u4EA7\u54C1\u7248\u672C\u8F93\u51FA\u5230\u8F93\u51FA\u6D41\u5E76\u9000\u51FA\n -showversion \u5C06\u4EA7\u54C1\u7248\u672C\u8F93\u51FA\u5230\u9519\u8BEF\u6D41\u5E76\u7EE7\u7EED\n --show-version\n \u5C06\u4EA7\u54C1\u7248\u672C\u8F93\u51FA\u5230\u8F93\u51FA\u6D41\u5E76\u7EE7\u7EED\n --show-module-resolution\n \u5728\u542F\u52A8\u8FC7\u7A0B\u4E2D\u663E\u793A\u6A21\u5757\u89E3\u6790\u8F93\u51FA\n -? -h -help\n \u5C06\u6B64\u5E2E\u52A9\u6D88\u606F\u8F93\u51FA\u5230\u9519\u8BEF\u6D41\n --help \u5C06\u6B64\u5E2E\u52A9\u6D88\u606F\u8F93\u51FA\u5230\u8F93\u51FA\u6D41\n -X \u5C06\u989D\u5916\u9009\u9879\u7684\u5E2E\u52A9\u8F93\u51FA\u5230\u9519\u8BEF\u6D41\n --help-extra \u5C06\u989D\u5916\u9009\u9879\u7684\u5E2E\u52A9\u8F93\u51FA\u5230\u8F93\u51FA\u6D41\n -ea[:<\u7A0B\u5E8F\u5305\u540D\u79F0>...|:<\u7C7B\u540D>]\n -enableassertions[:<\u7A0B\u5E8F\u5305\u540D\u79F0>...|:<\u7C7B\u540D>]\n \u6309\u6307\u5B9A\u7684\u7C92\u5EA6\u542F\u7528\u65AD\u8A00\n -da[:<\u7A0B\u5E8F\u5305\u540D\u79F0>...|:<\u7C7B\u540D>]\n -disableassertions[:<\u7A0B\u5E8F\u5305\u540D\u79F0>...|:<\u7C7B\u540D>]\n \u6309\u6307\u5B9A\u7684\u7C92\u5EA6\u7981\u7528\u65AD\u8A00\n -esa \
-| -enablesystemassertions\n \u542F\u7528\u7CFB\u7EDF\u65AD\u8A00\n -dsa | -disablesystemassertions\n \u7981\u7528\u7CFB\u7EDF\u65AD\u8A00\n -agentlib:<\u5E93\u540D>[=<\u9009\u9879>]\n \u52A0\u8F7D\u672C\u673A\u4EE3\u7406\u5E93 <\u5E93\u540D>, \u4F8B\u5982 -agentlib:jdwp\n \u53E6\u8BF7\u53C2\u9605 -agentlib:jdwp=help\n -agentpath:<\u8DEF\u5F84\u540D>[=<\u9009\u9879>]\n \u6309\u5B8C\u6574\u8DEF\u5F84\u540D\u52A0\u8F7D\u672C\u673A\u4EE3\u7406\u5E93\n -javaagent:<jar \u8DEF\u5F84>[=<\u9009\u9879>]\n \u52A0\u8F7D Java \u7F16\u7A0B\u8BED\u8A00\u4EE3\u7406, \u8BF7\u53C2\u9605 java.lang.instrument\n -splash:<\u56FE\u50CF\u8DEF\u5F84>\n \u4F7F\u7528\u6307\u5B9A\u7684\u56FE\u50CF\u663E\u793A\u542F\u52A8\u5C4F\u5E55\n \u81EA\u52A8\u652F\u6301\u548C\u4F7F\u7528 HiDPI \u7F29\u653E\u56FE\u50CF\n (\u5982\u679C\u53EF\u7528)\u3002\u5E94\u59CB\u7EC8\u5C06\u672A\u7F29\u653E\u7684\u56FE\u50CF\u6587\u4EF6\u540D (\u4F8B\u5982, image.ext)\n \u4F5C\u4E3A\u53C2\u6570\u4F20\u9012\u7ED9 -splash \u9009\u9879\u3002\n \u5C06\u81EA\u52A8\u9009\u53D6\u63D0\u4F9B\u7684\u6700\u5408\u9002\u7684\u7F29\u653E\n \u56FE\u50CF\u3002\n \u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605 SplashScreen API \u6587\u6863\n @argument \u6587\u4EF6\n \u4E00\u4E2A\u6216\u591A\u4E2A\u5305\u542B\u9009\u9879\u7684\u53C2\u6570\u6587\u4EF6\n -disable-@files\n \u963B\u6B62\u8FDB\u4E00\u6B65\u6269\u5C55\u53C2\u6570\u6587\u4EF6\n\u8981\u4E3A\u957F\u9009\u9879\u6307\u5B9A\u53C2\u6570, \u53EF\u4EE5\u4F7F\u7528 --<\u540D\u79F0>=<\u503C> \u6216\n--<\u540D\u79F0> <\u503C>\u3002\n
+| -enablesystemassertions\n \u542F\u7528\u7CFB\u7EDF\u65AD\u8A00\n -dsa | -disablesystemassertions\n \u7981\u7528\u7CFB\u7EDF\u65AD\u8A00\n -agentlib:<\u5E93\u540D>[=<\u9009\u9879>]\n \u52A0\u8F7D\u672C\u673A\u4EE3\u7406\u5E93 <\u5E93\u540D>, \u4F8B\u5982 -agentlib:jdwp\n \u53E6\u8BF7\u53C2\u9605 -agentlib:jdwp=help\n -agentpath:<\u8DEF\u5F84\u540D>[=<\u9009\u9879>]\n \u6309\u5B8C\u6574\u8DEF\u5F84\u540D\u52A0\u8F7D\u672C\u673A\u4EE3\u7406\u5E93\n -javaagent:<jar \u8DEF\u5F84>[=<\u9009\u9879>]\n \u52A0\u8F7D Java \u7F16\u7A0B\u8BED\u8A00\u4EE3\u7406, \u8BF7\u53C2\u9605 java.lang.instrument\n -splash:<\u56FE\u50CF\u8DEF\u5F84>\n \u4F7F\u7528\u6307\u5B9A\u7684\u56FE\u50CF\u663E\u793A\u542F\u52A8\u5C4F\u5E55\n \u81EA\u52A8\u652F\u6301\u548C\u4F7F\u7528 HiDPI \u7F29\u653E\u56FE\u50CF\n (\u5982\u679C\u53EF\u7528)\u3002\u5E94\u59CB\u7EC8\u5C06\u672A\u7F29\u653E\u7684\u56FE\u50CF\u6587\u4EF6\u540D (\u4F8B\u5982, image.ext)\n \u4F5C\u4E3A\u53C2\u6570\u4F20\u9012\u7ED9 -splash \u9009\u9879\u3002\n \u5C06\u81EA\u52A8\u9009\u53D6\u63D0\u4F9B\u7684\u6700\u5408\u9002\u7684\u7F29\u653E\n \u56FE\u50CF\u3002\n \u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605 SplashScreen API \u6587\u6863\n @argument \u6587\u4EF6\n \u4E00\u4E2A\u6216\u591A\u4E2A\u5305\u542B\u9009\u9879\u7684\u53C2\u6570\u6587\u4EF6\n -disable-@files\n \u963B\u6B62\u8FDB\u4E00\u6B65\u6269\u5C55\u53C2\u6570\u6587\u4EF6\n --enable-preview\n \u5141\u8BB8\u7C7B\u4F9D\u8D56\u4E8E\u6B64\u53D1\u884C\u7248\u7684\u9884\u89C8\u529F\u80FD\n\u8981\u4E3A\u957F\u9009\u9879\u6307\u5B9A\u53C2\u6570, \u53EF\u4EE5\u4F7F\u7528 --<\u540D\u79F0>=<\u503C> \u6216\n--<\u540D\u79F0> <\u503C>\u3002\n
# Translators please note do not translate the options themselves
-java.launcher.X.usage=\n -Xbatch \u7981\u7528\u540E\u53F0\u7F16\u8BD1\n -Xbootclasspath/a:<\u4EE5 {0} \u5206\u9694\u7684\u76EE\u5F55\u548C zip/jar \u6587\u4EF6>\n \u9644\u52A0\u5728\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u672B\u5C3E\n -Xcheck:jni \u5BF9 JNI \u51FD\u6570\u6267\u884C\u5176\u4ED6\u68C0\u67E5\n -Xcomp \u5728\u9996\u6B21\u8C03\u7528\u65F6\u5F3A\u5236\u7F16\u8BD1\u65B9\u6CD5\n -Xdebug \u4E3A\u5B9E\u73B0\u5411\u540E\u517C\u5BB9\u800C\u63D0\u4F9B\n -Xdiag \u663E\u793A\u9644\u52A0\u8BCA\u65AD\u6D88\u606F\n -Xfuture \u542F\u7528\u6700\u4E25\u683C\u7684\u68C0\u67E5, \u9884\u671F\u5C06\u6765\u7684\u9ED8\u8BA4\u503C\n -Xint \u4EC5\u89E3\u91CA\u6A21\u5F0F\u6267\u884C\n -Xinternalversion\n \u663E\u793A\u6BD4 -version \u9009\u9879\u66F4\u8BE6\u7EC6\u7684 JVM\n \u7248\u672C\u4FE1\u606F\n -Xloggc:<file> \u5C06 GC \u72B6\u6001\u8BB0\u5F55\u5728\u6587\u4EF6\u4E2D (\u5E26\u65F6\u95F4\u6233)\n -Xmixed \u6DF7\u5408\u6A21\u5F0F\u6267\u884C (\u9ED8\u8BA4\u503C)\n -Xmn<size> \u4E3A\u5E74\u8F7B\u4EE3 (\u65B0\u751F\u4EE3) \u8BBE\u7F6E\u521D\u59CB\u548C\u6700\u5927\u5806\u5927\u5C0F\n (\u4EE5\u5B57\u8282\u4E3A\u5355\u4F4D)\n -Xms<size> \u8BBE\u7F6E\u521D\u59CB Java \u5806\u5927\u5C0F\n -Xmx<size> \u8BBE\u7F6E\u6700\u5927 Java \u5806\u5927\u5C0F\n -Xnoclassgc \u7981\u7528\u7C7B\u5783\u573E\u6536\u96C6\n -Xrs \u51CF\u5C11 Java/VM \u5BF9\u64CD\u4F5C\u7CFB\u7EDF\u4FE1\u53F7\u7684\u4F7F\u7528 (\u8BF7\u53C2\u9605\u6587\u6863)\n -Xshare:auto \u5728\u53EF\u80FD\u7684\u60C5\u51B5\u4E0B\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E (\u9ED8\u8BA4\u503C)\n -Xshare:off \u4E0D\u5C1D\u8BD5\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E\n -Xshare:on \u8981\u6C42\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E, \u5426\u5219\u5C06\u5931\u8D25\u3002\n -XshowSettings \u663E\u793A\u6240\u6709\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:all\n \u663E\u793A\u6240\u6709\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:locale\n \u663E\u793A\u6240\u6709\u4E0E\u533A\u57DF\u8BBE\u7F6E\u76F8\u5173\u7684\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:properties\n \u663E\u793A\u6240\u6709\u5C5E\u6027\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:vm \u663E\u793A\u6240\u6709\u4E0E vm \u76F8\u5173\u7684\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -Xss<size> \u8BBE\u7F6E Java \u7EBF\u7A0B\u5806\u6808\u5927\u5C0F\n -Xverify \u8BBE\u7F6E\u5B57\u8282\u7801\u9A8C\u8BC1\u5668\u7684\u6A21\u5F0F\n --add-reads <\u6A21\u5757>=<\u76EE\u6807\u6A21\u5757>(,<\u76EE\u6807\u6A21\u5757>)*\n \u66F4\u65B0 <\u6A21\u5757> \u4EE5\u8BFB\u53D6 <\u76EE\u6807\u6A21\u5757>, \u800C\u65E0\u8BBA\n \u6A21\u5757\u58F0\u660E\u5982\u4F55\u3002\n <\u76EE\u6807\u6A21\u5757> \u53EF\u4EE5\u662F ALL-UNNAMED \u4EE5\u8BFB\u53D6\u6240\u6709\u672A\u547D\u540D\n \u6A21\u5757\u3002\n --add-exports <\u6A21\u5757>/<\u7A0B\u5E8F\u5305>=<\u76EE\u6807\u6A21\u5757>(,<\u76EE\u6807\u6A21\u5757>)*\n \u66F4\u65B0 <\u6A21\u5757> \u4EE5\u5C06 <\u7A0B\u5E8F\u5305> \u5BFC\u51FA\u5230 <\u76EE\u6807\u6A21\u5757>,\n \u800C\u65E0\u8BBA\u6A21\u5757\u58F0\u660E\u5982\u4F55\u3002\n <\u76EE\u6807\u6A21\u5757> \u53EF\u4EE5\u662F ALL-UNNAMED \u4EE5\u5BFC\u51FA\u5230\u6240\u6709\n \u672A\u547D\u540D\u6A21\u5757\u3002\n --add-opens <\u6A21\u5757>/<\u7A0B\u5E8F\u5305>=<\u76EE\u6807\u6A21\u5757>(,<\u76EE\u6807\u6A21\u5757>)*\n \u66F4\u65B0 <\u6A21\u5757> \u4EE5\u5728 <\u76EE\u6807\u6A21\u5757> \u4E2D\u6253\u5F00\n <\u7A0B\u5E8F\u5305>, \
-\u800C\u65E0\u8BBA\u6A21\u5757\u58F0\u660E\u5982\u4F55\u3002\n --illegal-access=<\u503C>\n \u5141\u8BB8\u6216\u62D2\u7EDD\u901A\u8FC7\u672A\u547D\u540D\u6A21\u5757\u4E2D\u7684\u4EE3\u7801\u5BF9\u547D\u540D\u6A21\u5757\u4E2D\u7684\n \u7C7B\u578B\u6210\u5458\u8FDB\u884C\u8BBF\u95EE\u3002\n <\u503C> \u4E3A "deny", "permit", "warn" \u6216 "debug" \u4E4B\u4E00\n \u6B64\u9009\u9879\u5C06\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\u5220\u9664\u3002\n --limit-modules <\u6A21\u5757\u540D>[,<\u6A21\u5757\u540D>...]\n \u9650\u5236\u53EF\u89C2\u5BDF\u6A21\u5757\u7684\u9886\u57DF\n --patch-module <\u6A21\u5757>=<\u6587\u4EF6>({0}<\u6587\u4EF6>)*\n \u4F7F\u7528 JAR \u6587\u4EF6\u6216\u76EE\u5F55\u4E2D\u7684\u7C7B\u548C\u8D44\u6E90\n \u8986\u76D6\u6216\u589E\u5F3A\u6A21\u5757\u3002\n --disable-@files \u7981\u6B62\u8FDB\u4E00\u6B65\u6269\u5C55\u53C2\u6570\u6587\u4EF6\n\n\u8FD9\u4E9B\u989D\u5916\u9009\u9879\u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002\n
+java.launcher.X.usage=\n -Xbatch \u7981\u7528\u540E\u53F0\u7F16\u8BD1\n -Xbootclasspath/a:<\u4EE5 {0} \u5206\u9694\u7684\u76EE\u5F55\u548C zip/jar \u6587\u4EF6>\n \u9644\u52A0\u5728\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u672B\u5C3E\n -Xcheck:jni \u5BF9 JNI \u51FD\u6570\u6267\u884C\u5176\u4ED6\u68C0\u67E5\n -Xcomp \u5728\u9996\u6B21\u8C03\u7528\u65F6\u5F3A\u5236\u7F16\u8BD1\u65B9\u6CD5\n -Xdebug \u4E3A\u5B9E\u73B0\u5411\u540E\u517C\u5BB9\u800C\u63D0\u4F9B\n -Xdiag \u663E\u793A\u9644\u52A0\u8BCA\u65AD\u6D88\u606F\n -Xfuture \u542F\u7528\u6700\u4E25\u683C\u7684\u68C0\u67E5\uFF0C\u9884\u671F\u5C06\u6765\u7684\u9ED8\u8BA4\u503C\n -Xint \u4EC5\u89E3\u91CA\u6A21\u5F0F\u6267\u884C\n -Xinternalversion\n \u663E\u793A\u6BD4 -version \u9009\u9879\u66F4\u8BE6\u7EC6\u7684 JVM\n \u7248\u672C\u4FE1\u606F\n -Xloggc:<\u6587\u4EF6> \u5C06 GC \u72B6\u6001\u8BB0\u5F55\u5728\u6587\u4EF6\u4E2D\uFF08\u5E26\u65F6\u95F4\u6233\uFF09\n -Xmixed \u6DF7\u5408\u6A21\u5F0F\u6267\u884C\uFF08\u9ED8\u8BA4\u503C\uFF09\n -Xmn<\u5927\u5C0F> \u4E3A\u5E74\u8F7B\u4EE3\uFF08\u65B0\u751F\u4EE3\uFF09\u8BBE\u7F6E\u521D\u59CB\u548C\u6700\u5927\u5806\u5927\u5C0F\n \uFF08\u4EE5\u5B57\u8282\u4E3A\u5355\u4F4D\uFF09\n -Xms<\u5927\u5C0F> \u8BBE\u7F6E\u521D\u59CB Java \u5806\u5927\u5C0F\n -Xmx<\u5927\u5C0F> \u8BBE\u7F6E\u6700\u5927 Java \u5806\u5927\u5C0F\n -Xnoclassgc \u7981\u7528\u7C7B\u5783\u573E\u6536\u96C6\n -Xrs \u51CF\u5C11 Java/VM \u5BF9\u64CD\u4F5C\u7CFB\u7EDF\u4FE1\u53F7\u7684\u4F7F\u7528\uFF08\u8BF7\u53C2\u89C1\u6587\u6863\uFF09\n -Xshare:auto \u5728\u53EF\u80FD\u7684\u60C5\u51B5\u4E0B\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E\uFF08\u9ED8\u8BA4\u503C\uFF09\n -Xshare:off \u4E0D\u5C1D\u8BD5\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E\n -Xshare:on \u8981\u6C42\u4F7F\u7528\u5171\u4EAB\u7C7B\u6570\u636E\uFF0C\u5426\u5219\u5C06\u5931\u8D25\u3002\n -XshowSettings \u663E\u793A\u6240\u6709\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:all\n \u663E\u793A\u6240\u6709\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:locale\n \u663E\u793A\u6240\u6709\u4E0E\u533A\u57DF\u8BBE\u7F6E\u76F8\u5173\u7684\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:properties\n \u663E\u793A\u6240\u6709\u5C5E\u6027\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:vm\n \u663E\u793A\u6240\u6709\u4E0E vm \u76F8\u5173\u7684\u8BBE\u7F6E\u5E76\u7EE7\u7EED\n -XshowSettings:system\n \uFF08\u4EC5 Linux\uFF09\u663E\u793A\u4E3B\u673A\u7CFB\u7EDF\u6216\u5BB9\u5668\n \u914D\u7F6E\u5E76\u7EE7\u7EED\n -Xss<\u5927\u5C0F> \u8BBE\u7F6E Java \u7EBF\u7A0B\u5806\u6808\u5927\u5C0F\n -Xverify \u8BBE\u7F6E\u5B57\u8282\u7801\u9A8C\u8BC1\u5668\u7684\u6A21\u5F0F\n --add-reads <\u6A21\u5757>=<\u76EE\u6807\u6A21\u5757>(,<\u76EE\u6807\u6A21\u5757>)*\n \u66F4\u65B0 <\u6A21\u5757> \u4EE5\u8BFB\u53D6 <\u76EE\u6807\u6A21\u5757>\uFF0C\u800C\u65E0\u8BBA\n \u6A21\u5757\u58F0\u660E\u5982\u4F55\u3002\n <\u76EE\u6807\u6A21\u5757> \u53EF\u4EE5\u662F ALL-UNNAMED \u4EE5\u8BFB\u53D6\u6240\u6709\u672A\u547D\u540D\n \u6A21\u5757\u3002\n --add-exports <\u6A21\u5757>/<\u7A0B\u5E8F\u5305>=<\u76EE\u6807\u6A21\u5757>(,<\u76EE\u6807\u6A21\u5757>)*\n \u66F4\u65B0 <\u6A21\u5757> \u4EE5\u5C06 <\u7A0B\u5E8F\u5305> \u5BFC\u51FA\u5230 <\u76EE\u6807\u6A21\u5757>\uFF0C\n \u800C\u65E0\u8BBA\u6A21\u5757\u58F0\u660E\u5982\u4F55\u3002\n <\u76EE\u6807\u6A21\u5757> \u53EF\u4EE5\u662F ALL-UNNAMED \u4EE5\u5BFC\u51FA\u5230\u6240\u6709\n \
+\u672A\u547D\u540D\u6A21\u5757\u3002\n --add-opens <\u6A21\u5757>/<\u7A0B\u5E8F\u5305>=<\u76EE\u6807\u6A21\u5757>(,<\u76EE\u6807\u6A21\u5757>)*\n \u66F4\u65B0 <\u6A21\u5757> \u4EE5\u5728 <\u76EE\u6807\u6A21\u5757> \u4E2D\u6253\u5F00\n <\u7A0B\u5E8F\u5305>\uFF0C\u800C\u65E0\u8BBA\u6A21\u5757\u58F0\u660E\u5982\u4F55\u3002\n --illegal-access=<\u503C>\n \u5141\u8BB8\u6216\u62D2\u7EDD\u901A\u8FC7\u672A\u547D\u540D\u6A21\u5757\u4E2D\u7684\u4EE3\u7801\u5BF9\u547D\u540D\u6A21\u5757\u4E2D\u7684\n \u7C7B\u578B\u6210\u5458\u8FDB\u884C\u8BBF\u95EE\u3002\n <\u503C> \u4E3A "deny"\u3001"permit"\u3001"warn" \u6216 "debug" \u4E4B\u4E00\n \u6B64\u9009\u9879\u5C06\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\u5220\u9664\u3002\n --limit-modules <\u6A21\u5757\u540D>[,<\u6A21\u5757\u540D>...]\n \u9650\u5236\u53EF\u89C2\u5BDF\u6A21\u5757\u7684\u9886\u57DF\n --patch-module <\u6A21\u5757>=<\u6587\u4EF6>({0}<\u6587\u4EF6>)*\n \u4F7F\u7528 JAR \u6587\u4EF6\u6216\u76EE\u5F55\u4E2D\u7684\u7C7B\u548C\u8D44\u6E90\n \u8986\u76D6\u6216\u589E\u5F3A\u6A21\u5757\u3002\n --disable-@files \u7981\u6B62\u8FDB\u4E00\u6B65\u6269\u5C55\u53C2\u6570\u6587\u4EF6\n --source <\u7248\u672C>\n \u8BBE\u7F6E\u6E90\u6587\u4EF6\u6A21\u5F0F\u4E2D\u6E90\u7684\u7248\u672C\u3002\n\n\u8FD9\u4E9B\u989D\u5916\u9009\u9879\u5982\u6709\u66F4\u6539\uFF0C\u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002\n
# Translators please note do not translate the options themselves
java.launcher.X.macosx.usage=\n\u4EE5\u4E0B\u9009\u9879\u4E3A Mac OS X \u7279\u5B9A\u7684\u9009\u9879:\n -XstartOnFirstThread\n \u5728\u7B2C\u4E00\u4E2A (AppKit) \u7EBF\u7A0B\u4E0A\u8FD0\u884C main() \u65B9\u6CD5\n -Xdock:name=<\u5E94\u7528\u7A0B\u5E8F\u540D\u79F0>\n \u8986\u76D6\u505C\u9760\u680F\u4E2D\u663E\u793A\u7684\u9ED8\u8BA4\u5E94\u7528\u7A0B\u5E8F\u540D\u79F0\n -Xdock:icon=<\u56FE\u6807\u6587\u4EF6\u7684\u8DEF\u5F84>\n \u8986\u76D6\u505C\u9760\u680F\u4E2D\u663E\u793A\u7684\u9ED8\u8BA4\u56FE\u6807\n\n
@@ -53,7 +53,7 @@
java.launcher.jar.error4=\u5728 {0} \u4E2D\u52A0\u8F7D Java \u4EE3\u7406\u65F6\u51FA\u9519
java.launcher.init.error=\u521D\u59CB\u5316\u9519\u8BEF
java.launcher.javafx.error1=\u9519\u8BEF: JavaFX launchApplication \u65B9\u6CD5\u5177\u6709\u9519\u8BEF\u7684\u7B7E\u540D, \u5FC5\u987B\n\u5C06\u65B9\u6CD5\u58F0\u660E\u4E3A\u9759\u6001\u65B9\u6CD5\u5E76\u8FD4\u56DE\u7A7A\u7C7B\u578B\u7684\u503C
-java.launcher.module.error1=\u6A21\u5757 {0} \u4E0D\u5177\u6709 MainClass \u5C5E\u6027, \u8BF7\u4F7F\u7528 -m <module>/<main-class>
+java.launcher.module.error1=\u6A21\u5757 {0} \u4E0D\u5177\u6709 ModuleMainClass \u5C5E\u6027\uFF0C\u8BF7\u4F7F\u7528 -m <\u6A21\u5757>/<\u4E3B\u7C7B>
java.launcher.module.error2=\u9519\u8BEF: \u5728\u6A21\u5757 {1} \u4E2D\u627E\u4E0D\u5230\u6216\u65E0\u6CD5\u52A0\u8F7D\u4E3B\u7C7B {0}
java.launcher.module.error3=\u9519\u8BEF: \u65E0\u6CD5\u5C06\u4E3B\u7C7B {0} \u52A0\u8F7D\u5230\u6A21\u5757 {1} \u4E2D\n\t{2}
java.launcher.module.error4=\u627E\u4E0D\u5230{0}
--- a/src/java.base/share/classes/sun/net/util/SocketExceptions.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/net/util/SocketExceptions.java Thu Jul 26 10:00:40 2018 -0700
@@ -44,7 +44,7 @@
* The property value is a comma separated list of
* case insignificant category names.
*/
- private static final String enhancedTextPropname = "jdk.net.includeInExceptions";
+ private static final String enhancedTextPropname = "jdk.includeInExceptions";
private static final boolean enhancedExceptionText = initTextProp();
--- a/src/java.base/share/classes/sun/security/provider/DSA.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/security/provider/DSA.java Thu Jul 26 10:00:40 2018 -0700
@@ -588,7 +588,7 @@
}
}
protected void engineUpdate(byte[] input, int offset, int len) {
- if (ofs + len > digestBuffer.length) {
+ if (len > (digestBuffer.length - ofs)) {
ofs = Integer.MAX_VALUE;
} else {
System.arraycopy(input, offset, digestBuffer, ofs, len);
@@ -597,7 +597,7 @@
}
protected final void engineUpdate(ByteBuffer input) {
int inputLen = input.remaining();
- if (ofs + inputLen > digestBuffer.length) {
+ if (inputLen > (digestBuffer.length - ofs)) {
ofs = Integer.MAX_VALUE;
} else {
input.get(digestBuffer, ofs, inputLen);
--- a/src/java.base/share/classes/sun/security/rsa/RSAPSSSignature.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/security/rsa/RSAPSSSignature.java Thu Jul 26 10:00:40 2018 -0700
@@ -605,16 +605,15 @@
@Override
protected AlgorithmParameters engineGetParameters() {
- if (this.sigParams == null) {
- throw new ProviderException("Missing required PSS parameters");
+ AlgorithmParameters ap = null;
+ if (this.sigParams != null) {
+ try {
+ ap = AlgorithmParameters.getInstance("RSASSA-PSS");
+ ap.init(this.sigParams);
+ } catch (GeneralSecurityException gse) {
+ throw new ProviderException(gse.getMessage());
+ }
}
- try {
- AlgorithmParameters ap =
- AlgorithmParameters.getInstance("RSASSA-PSS");
- ap.init(this.sigParams);
- return ap;
- } catch (GeneralSecurityException gse) {
- throw new ProviderException(gse.getMessage());
- }
+ return ap;
}
}
--- a/src/java.base/share/classes/sun/security/ssl/Alert.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/Alert.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,6 +31,7 @@
import java.util.Locale;
import javax.net.ssl.SSLException;
import javax.net.ssl.SSLHandshakeException;
+import javax.net.ssl.SSLProtocolException;
/**
* SSL/(D)TLS Alter description
@@ -121,8 +122,11 @@
reason = (cause != null) ? cause.getMessage() : "";
}
- SSLException ssle = handshakeOnly ?
- new SSLHandshakeException(reason) : new SSLException(reason);
+ SSLException ssle = (this == UNEXPECTED_MESSAGE) ?
+ new SSLProtocolException(reason) :
+ (handshakeOnly ?
+ new SSLHandshakeException(reason) :
+ new SSLException(reason));
if (cause != null) {
ssle.initCause(cause);
}
--- a/src/java.base/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java Thu Jul 26 10:00:40 2018 -0700
@@ -71,32 +71,35 @@
SSLAlgorithmConstraints(SSLSocket socket,
boolean withDefaultCertPathConstraints) {
- AlgorithmConstraints configuredConstraints = null;
- if (socket != null) {
- // Note that the KeyManager or TrustManager implementation may be
- // not implemented in the same provider as SSLSocket/SSLEngine.
- // Please check the instance before casting to use SSLSocketImpl.
- if (socket instanceof SSLSocketImpl) {
- HandshakeContext hc =
- ((SSLSocketImpl)socket).conContext.handshakeContext;
- if (hc != null) {
- configuredConstraints = hc.sslConfig.algorithmConstraints;
- } else {
- configuredConstraints = null;
- }
- } else {
- configuredConstraints =
- socket.getSSLParameters().getAlgorithmConstraints();
- }
- }
- this.userSpecifiedConstraints = configuredConstraints;
+ this.userSpecifiedConstraints = getConstraints(socket);
this.peerSpecifiedConstraints = null;
this.enabledX509DisabledAlgConstraints = withDefaultCertPathConstraints;
}
SSLAlgorithmConstraints(SSLEngine engine,
boolean withDefaultCertPathConstraints) {
- AlgorithmConstraints configuredConstraints = null;
+ this.userSpecifiedConstraints = getConstraints(engine);
+ this.peerSpecifiedConstraints = null;
+ this.enabledX509DisabledAlgConstraints = withDefaultCertPathConstraints;
+ }
+
+ SSLAlgorithmConstraints(SSLSocket socket, String[] supportedAlgorithms,
+ boolean withDefaultCertPathConstraints) {
+ this.userSpecifiedConstraints = getConstraints(socket);
+ this.peerSpecifiedConstraints =
+ new SupportedSignatureAlgorithmConstraints(supportedAlgorithms);
+ this.enabledX509DisabledAlgConstraints = withDefaultCertPathConstraints;
+ }
+
+ SSLAlgorithmConstraints(SSLEngine engine, String[] supportedAlgorithms,
+ boolean withDefaultCertPathConstraints) {
+ this.userSpecifiedConstraints = getConstraints(engine);
+ this.peerSpecifiedConstraints =
+ new SupportedSignatureAlgorithmConstraints(supportedAlgorithms);
+ this.enabledX509DisabledAlgConstraints = withDefaultCertPathConstraints;
+ }
+
+ private static AlgorithmConstraints getConstraints(SSLEngine engine) {
if (engine != null) {
// Note that the KeyManager or TrustManager implementation may be
// not implemented in the same provider as SSLSocket/SSLEngine.
@@ -105,60 +108,33 @@
HandshakeContext hc =
((SSLEngineImpl)engine).conContext.handshakeContext;
if (hc != null) {
- configuredConstraints = hc.sslConfig.algorithmConstraints;
- } else {
- configuredConstraints = null;
+ return hc.sslConfig.algorithmConstraints;
}
} else {
- configuredConstraints =
- engine.getSSLParameters().getAlgorithmConstraints();
+ return engine.getSSLParameters().getAlgorithmConstraints();
}
}
- this.userSpecifiedConstraints = configuredConstraints;
- this.peerSpecifiedConstraints = null;
- this.enabledX509DisabledAlgConstraints = withDefaultCertPathConstraints;
+
+ return null;
}
- SSLAlgorithmConstraints(SSLSocket socket, String[] supportedAlgorithms,
- boolean withDefaultCertPathConstraints) {
- AlgorithmConstraints configuredConstraints = null;
- AlgorithmConstraints negotiatedConstraints = null;
+ private static AlgorithmConstraints getConstraints(SSLSocket socket) {
if (socket != null) {
- HandshakeContext hc =
- ((SSLSocketImpl)socket).conContext.handshakeContext;
- if (hc != null) {
- configuredConstraints = hc.sslConfig.algorithmConstraints;
+ // Note that the KeyManager or TrustManager implementation may be
+ // not implemented in the same provider as SSLSocket/SSLEngine.
+ // Please check the instance before casting to use SSLSocketImpl.
+ if (socket instanceof SSLSocketImpl) {
+ HandshakeContext hc =
+ ((SSLSocketImpl)socket).conContext.handshakeContext;
+ if (hc != null) {
+ return hc.sslConfig.algorithmConstraints;
+ }
} else {
- configuredConstraints = null;
+ return socket.getSSLParameters().getAlgorithmConstraints();
}
-
- negotiatedConstraints =
- new SupportedSignatureAlgorithmConstraints(supportedAlgorithms);
}
- this.userSpecifiedConstraints = configuredConstraints;
- this.peerSpecifiedConstraints = negotiatedConstraints;
- this.enabledX509DisabledAlgConstraints = withDefaultCertPathConstraints;
- }
- SSLAlgorithmConstraints(SSLEngine engine, String[] supportedAlgorithms,
- boolean withDefaultCertPathConstraints) {
- AlgorithmConstraints configuredConstraints = null;
- AlgorithmConstraints negotiatedConstraints = null;
- if (engine != null) {
- HandshakeContext hc =
- ((SSLEngineImpl)engine).conContext.handshakeContext;
- if (hc != null) {
- configuredConstraints = hc.sslConfig.algorithmConstraints;
- } else {
- configuredConstraints = null;
- }
-
- negotiatedConstraints =
- new SupportedSignatureAlgorithmConstraints(supportedAlgorithms);
- }
- this.userSpecifiedConstraints = configuredConstraints;
- this.peerSpecifiedConstraints = negotiatedConstraints;
- this.enabledX509DisabledAlgConstraints = withDefaultCertPathConstraints;
+ return null;
}
@Override
--- a/src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -45,12 +45,12 @@
{"option.1.set.twice", "%s\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8907\u6570\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u6700\u5F8C\u306E\u3082\u306E\u4EE5\u5916\u306F\u3059\u3079\u3066\u7121\u8996\u3055\u308C\u307E\u3059\u3002"},
{"multiple.commands.1.2", "1\u3064\u306E\u30B3\u30DE\u30F3\u30C9\u306E\u307F\u8A31\u53EF\u3055\u308C\u307E\u3059: %1$s\u3068%2$s\u306E\u4E21\u65B9\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F\u3002"},
{"Use.keytool.help.for.all.available.commands",
- "\u4F7F\u7528\u53EF\u80FD\u306A\u3059\u3079\u3066\u306E\u30B3\u30DE\u30F3\u30C9\u306B\u3064\u3044\u3066\u306F\"keytool -help\"\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044"},
+ "\u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3059\u308B\u306B\u306F\"keytool -?\u3001-h\u307E\u305F\u306F--help\"\u3092\u4F7F\u7528\u3057\u307E\u3059"},
{"Key.and.Certificate.Management.Tool",
"\u30AD\u30FC\u304A\u3088\u3073\u8A3C\u660E\u66F8\u7BA1\u7406\u30C4\u30FC\u30EB"},
{"Commands.", "\u30B3\u30DE\u30F3\u30C9:"},
{"Use.keytool.command.name.help.for.usage.of.command.name",
- "command_name\u306E\u4F7F\u7528\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306F\u3001\"keytool -command_name -help\"\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\n\u4E8B\u524D\u69CB\u6210\u6E08\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u6307\u5B9A\u3059\u308B\u306B\u306F\u3001-conf <url>\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002"},
+ "command_name\u306E\u4F7F\u7528\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306F\u3001\"keytool -command_name --help\"\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\n\u4E8B\u524D\u69CB\u6210\u6E08\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u6307\u5B9A\u3059\u308B\u306B\u306F\u3001-conf <url>\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002"},
// keytool: help: commands
{"Generates.a.certificate.request",
"\u8A3C\u660E\u66F8\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u751F\u6210\u3057\u307E\u3059"}, //-certreq
@@ -455,7 +455,7 @@
{"with.weak", "%s (\u5F31)"},
{"key.bit", "%1$d\u30D3\u30C3\u30C8%2$s\u9375"},
{"key.bit.weak", "%1$d\u30D3\u30C3\u30C8%2$s\u9375(\u5F31)"},
- {"unknown.size.1", "\u4E0D\u660E\u30B5\u30A4\u30BA\u306E%s\u9375"},
+ {"unknown.size.1", "\u4E0D\u660E\u306A\u30B5\u30A4\u30BA\u306E%s\u30AD\u30FC"},
{".PATTERN.printX509Cert.with.weak",
"\u6240\u6709\u8005: {0}\n\u767A\u884C\u8005: {1}\n\u30B7\u30EA\u30A2\u30EB\u756A\u53F7: {2}\n\u6709\u52B9\u671F\u9593\u306E\u958B\u59CB\u65E5: {3}\u7D42\u4E86\u65E5: {4}\n\u8A3C\u660E\u66F8\u306E\u30D5\u30A3\u30F3\u30AC\u30D7\u30EA\u30F3\u30C8:\n\t SHA1: {5}\n\t SHA256: {6}\n\u7F72\u540D\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u540D: {7}\n\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8\u516C\u958B\u9375\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0: {8}\n\u30D0\u30FC\u30B8\u30E7\u30F3: {9}"},
{"PKCS.10.with.weak",
--- a/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -45,12 +45,12 @@
{"option.1.set.twice", "\u591A\u6B21\u6307\u5B9A\u4E86 %s \u9009\u9879\u3002\u9664\u6700\u540E\u4E00\u4E2A\u4E4B\u5916, \u5176\u4F59\u7684\u5C06\u5168\u90E8\u5FFD\u7565\u3002"},
{"multiple.commands.1.2", "\u53EA\u5141\u8BB8\u4E00\u4E2A\u547D\u4EE4: \u540C\u65F6\u6307\u5B9A\u4E86 %1$s \u548C %2$s\u3002"},
{"Use.keytool.help.for.all.available.commands",
- "\u4F7F\u7528 \"keytool -help\" \u83B7\u53D6\u6240\u6709\u53EF\u7528\u547D\u4EE4"},
+ "\u4F7F\u7528 \"keytool -?, -h, or --help\" \u53EF\u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F"},
{"Key.and.Certificate.Management.Tool",
"\u5BC6\u94A5\u548C\u8BC1\u4E66\u7BA1\u7406\u5DE5\u5177"},
{"Commands.", "\u547D\u4EE4:"},
{"Use.keytool.command.name.help.for.usage.of.command.name",
- "\u4F7F\u7528 \"keytool -command_name -help\" \u53EF\u83B7\u53D6 command_name \u7684\u7528\u6CD5\u3002\n\u4F7F\u7528 -conf <url> \u9009\u9879\u53EF\u6307\u5B9A\u9884\u914D\u7F6E\u7684\u9009\u9879\u6587\u4EF6\u3002"},
+ "\u4F7F\u7528 \"keytool -command_name --help\" \u53EF\u83B7\u53D6 command_name \u7684\u7528\u6CD5\u3002\n\u4F7F\u7528 -conf <url> \u9009\u9879\u53EF\u6307\u5B9A\u9884\u914D\u7F6E\u7684\u9009\u9879\u6587\u4EF6\u3002"},
// keytool: help: commands
{"Generates.a.certificate.request",
"\u751F\u6210\u8BC1\u4E66\u8BF7\u6C42"}, //-certreq
--- a/src/java.base/share/classes/sun/security/x509/AlgorithmId.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/security/x509/AlgorithmId.java Thu Jul 26 10:00:40 2018 -0700
@@ -1039,7 +1039,7 @@
* @return the default alg, might be null if unsupported
*/
public static String getDefaultSigAlgForKey(PrivateKey k) {
- switch (k.getAlgorithm().toUpperCase(Locale.ROOT)) {
+ switch (k.getAlgorithm().toUpperCase(Locale.ENGLISH)) {
case "EC":
return ecStrength(KeyUtil.getKeySize(k))
+ "withECDSA";
--- a/src/java.base/share/classes/sun/util/locale/provider/LocaleResources.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/util/locale/provider/LocaleResources.java Thu Jul 26 10:00:40 2018 -0700
@@ -44,12 +44,14 @@
import java.lang.ref.SoftReference;
import java.text.MessageFormat;
import java.util.Calendar;
+import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.ResourceBundle;
import java.util.Set;
+import java.util.TimeZone;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import sun.security.action.GetPropertyAction;
@@ -308,26 +310,37 @@
Set<String> keyset = getZoneIDs();
// Use a LinkedHashSet to preseve the order
Set<String[]> value = new LinkedHashSet<>();
+ Set<String> tzIds = new HashSet<>(Set.of(TimeZone.getAvailableIDs()));
for (String key : keyset) {
if (!key.startsWith(TZNB_EXCITY_PREFIX)) {
value.add(rb.getStringArray(key));
+ tzIds.remove(key);
}
}
- // Add aliases data for CLDR
if (type == LocaleProviderAdapter.Type.CLDR) {
- // Note: TimeZoneNamesBundle creates a String[] on each getStringArray call.
+ // Add aliases data for CLDR
Map<String, String> aliases = ZoneInfo.getAliasTable();
- for (String alias : aliases.keySet()) {
- if (!keyset.contains(alias)) {
- String tzid = aliases.get(alias);
- if (keyset.contains(tzid)) {
- String[] val = rb.getStringArray(tzid);
- val[0] = alias;
+ // Note: TimeZoneNamesBundle creates a String[] on each getStringArray call.
+
+ // Add timezones which are not present in this keyset,
+ // so that their fallback names will be generated at runtime.
+ tzIds.stream().filter(i -> (!i.startsWith("Etc/GMT")
+ && !i.startsWith("GMT")
+ && !i.startsWith("SystemV")))
+ .forEach(tzid -> {
+ String[] val = new String[7];
+ if (keyset.contains(tzid)) {
+ val = rb.getStringArray(tzid);
+ } else {
+ String tz = aliases.get(tzid);
+ if (keyset.contains(tz)) {
+ val = rb.getStringArray(tz);
+ }
+ }
+ val[0] = tzid;
value.add(val);
- }
- }
- }
+ });
}
return value.toArray(new String[0][]);
}
--- a/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java Thu Jul 26 10:00:40 2018 -0700
@@ -604,6 +604,10 @@
{"Asia/Ashkhabad", TMT},
{"Asia/Baghdad", ARAST},
{"Asia/Bahrain", ARAST},
+ {"Asia/Barnaul", new String[] {"Barnaul Standard Time", "GMT+07:00",
+ "Barnaul Daylight Time", "GMT+07:00",
+ "Barnaul Time" , "GMT+07:00"}},
+
{"Asia/Baku", new String[] {"Azerbaijan Time", "AZT",
"Azerbaijan Summer Time", "AZST",
"Azerbaijan Time", "AZT"}},
@@ -711,6 +715,9 @@
{"Asia/Tehran", IRT},
{"Asia/Thimbu", BTT},
{"Asia/Thimphu", BTT},
+ {"Asia/Tomsk", new String[] {"Tomsk Standard Time", "GMT+07:00",
+ "Tomsk Daylight Time", "GMT+07:00",
+ "Tomsk Time" , "GMT+07:00"}},
{"Asia/Ujung_Pandang", CIT},
{"Asia/Ulaanbaatar", ULAT},
{"Asia/Ulan_Bator", ULAT},
@@ -827,6 +834,9 @@
{"Europe/Jersey", GMTBST},
{"Europe/Kaliningrad", EET},
{"Europe/Kiev", EET},
+ {"Europe/Kirov", new String[] {"Kirov Standard Time", "GMT+03:00",
+ "Kirov Daylight Time", "GMT+03:00",
+ "Kirov Time", "GMT+03:00"}},
{"Europe/Lisbon", WET},
{"Europe/Ljubljana", CET},
{"Europe/London", GMTBST},
--- a/src/java.base/share/conf/security/java.security Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.base/share/conf/security/java.security Thu Jul 26 10:00:40 2018 -0700
@@ -1061,14 +1061,22 @@
java.base/java.security.KeyRep$Type;java.base/javax.crypto.spec.SecretKeySpec;!*
#
-# Enhanced exception message text
+# Enhanced exception message information
+#
+# By default, exception messages should not include potentially sensitive
+# information such as file names, host names, or port numbers. This property
+# accepts one or more comma separated values, each of which represents a
+# category of enhanced exception message information to enable. Values are
+# case-insensitive. Leading and trailing whitespaces, surrounding each value,
+# are ignored. Unknown values are ignored.
#
-# By default, socket exception messages do not include potentially sensitive
-# information such as hostnames or port numbers. This property may be set to one
-# or more values, separated by commas, and with no white-space. Each value
-# represents a category of enhanced information. Currently, the only category defined
-# is "hostInfo" which enables more detailed information in the IOExceptions
-# thrown by java.net.Socket and also the socket types in the java.nio.channels package.
-# The setting in this file can be overridden by a system property of the same name
-# and with the same syntax and possible values.
-#jdk.net.includeInExceptions=hostInfo
+# The categories are:
+#
+# hostInfo - IOExceptions thrown by java.net.Socket and the socket types in the
+# java.nio.channels package will contain enhanced exception
+# message information
+#
+# The property setting in this file can be overridden by a system property of
+# the same name, with the same syntax and possible values.
+#
+#jdk.includeInExceptions=hostInfo
--- a/src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java Thu Jul 26 10:00:40 2018 -0700
@@ -297,7 +297,7 @@
this.framesDecoder = new FramesDecoder(this::processFrame,
clientSettings.getParameter(SettingsFrame.MAX_FRAME_SIZE));
// serverSettings will be updated by server
- this.serverSettings = SettingsFrame.getDefaultSettings();
+ this.serverSettings = SettingsFrame.defaultRFCSettings();
this.hpackOut = new Encoder(serverSettings.getParameter(HEADER_TABLE_SIZE));
this.hpackIn = new Decoder(clientSettings.getParameter(HEADER_TABLE_SIZE));
if (debugHpack.on()) {
@@ -430,12 +430,12 @@
assert numReservedClientStreams >= 0;
assert numReservedServerStreams >= 0;
- if (clientInitiated && numReservedClientStreams >= getMaxConcurrentClientStreams()) {
+ if (clientInitiated &&numReservedClientStreams >= maxConcurrentClientInitiatedStreams()) {
throw new IOException("too many concurrent streams");
} else if (clientInitiated) {
numReservedClientStreams++;
}
- if (!clientInitiated && numReservedServerStreams >= getMaxConcurrentServerStreams()) {
+ if (!clientInitiated && numReservedServerStreams >= maxConcurrentServerInitiatedStreams()) {
return false;
} else if (!clientInitiated) {
numReservedServerStreams++;
@@ -580,11 +580,11 @@
return serverSettings.getParameter(INITIAL_WINDOW_SIZE);
}
- final int getMaxConcurrentClientStreams() {
+ final int maxConcurrentClientInitiatedStreams() {
return serverSettings.getParameter(MAX_CONCURRENT_STREAMS);
}
- final int getMaxConcurrentServerStreams() {
+ final int maxConcurrentServerInitiatedStreams() {
return clientSettings.getParameter(MAX_CONCURRENT_STREAMS);
}
--- a/src/java.net.http/share/classes/jdk/internal/net/http/WindowController.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/WindowController.java Thu Jul 26 10:00:40 2018 -0700
@@ -246,8 +246,9 @@
debug.log("WARNING: No entry found for streamid: %s. May be cancelled?",
streamid);
} else {
- size += amount;
- if (size < 0)
+ int prev = size;
+ size = prev + amount;
+ if (size < prev)
return false;
streams.put(streamid, size);
if (debug.on())
@@ -314,17 +315,17 @@
}
}
-// /** Returns the Send Window size for the given stream. */
-// int streamWindowSize(int streamid) {
-// controllerLock.lock();
-// try {
-// Integer size = streams.get(streamid);
-// if (size == null)
-// throw new InternalError("Expected entry for streamid: " + streamid);
-// return size;
-// } finally {
-// controllerLock.unlock();
-// }
-// }
+ /** Returns the Send Window size for the given stream. */
+ int streamWindowSize(int streamid) {
+ controllerLock.lock();
+ try {
+ Integer size = streams.get(streamid);
+ if (size == null)
+ throw new InternalError("Expected entry for streamid: " + streamid);
+ return size;
+ } finally {
+ controllerLock.unlock();
+ }
+ }
}
--- a/src/java.net.http/share/classes/jdk/internal/net/http/frame/SettingsFrame.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/frame/SettingsFrame.java Thu Jul 26 10:00:40 2018 -0700
@@ -161,15 +161,20 @@
}
}
- public static final int DEFAULT_INITIAL_WINDOW_SIZE = 64 * K -1;
+ // The initial value is 4,096 octets.
public static final int DEFAULT_HEADER_TABLE_SIZE = 4 * K;
- public static final int DEFAULT_MAX_CONCURRENT_STREAMS = 100;
+ // The initial value is 1, which indicates that server push is permitted.
+ public static final int DEFAULT_ENABLE_PUSH = 1;
+ // Initially, there is no limit to this value. This limit is directional.
+ public static final int DEFAULT_MAX_CONCURRENT_STREAMS = Integer.MAX_VALUE;
+ // The initial value is 2^16-1 (65,535) octets.
+ public static final int DEFAULT_INITIAL_WINDOW_SIZE = 64 * K -1;
+ // The initial value is 2^14 (16,384) octets.
public static final int DEFAULT_MAX_FRAME_SIZE = 16 * K;
- public static SettingsFrame getDefaultSettings() {
+ public static SettingsFrame defaultRFCSettings() {
SettingsFrame f = new SettingsFrame();
- // TODO: check these values
- f.setParameter(ENABLE_PUSH, 1);
+ f.setParameter(ENABLE_PUSH, DEFAULT_ENABLE_PUSH);
f.setParameter(HEADER_TABLE_SIZE, DEFAULT_HEADER_TABLE_SIZE);
f.setParameter(MAX_CONCURRENT_STREAMS, DEFAULT_MAX_CONCURRENT_STREAMS);
f.setParameter(INITIAL_WINDOW_SIZE, DEFAULT_INITIAL_WINDOW_SIZE);
--- a/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+# 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
@@ -43,7 +43,7 @@
rmid.syntax.log.required=-log\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u5FC5\u8981\u3067\u3059
# {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\u4E0D\u6B63\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}
+rmid.syntax.illegal.option=\u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}
# {0} = the (string) reason text that came with a thrown exception
# "Activation.main" should not be translated, because it's a codepoint
--- a/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/java.rmi/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+# 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
@@ -43,7 +43,7 @@
rmid.syntax.log.required=\u9700\u8981 -log \u9009\u9879
# {0} = the (string) illegal argument in question
-rmid.syntax.illegal.option=\u975E\u6CD5\u9009\u9879: {0}
+rmid.syntax.illegal.option=\u65E0\u6548\u7684\u9009\u9879\uFF1A{0}
# {0} = the (string) reason text that came with a thrown exception
# "Activation.main" should not be translated, because it's a codepoint
--- a/src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/BinaryContainer.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/BinaryContainer.java Thu Jul 26 10:00:40 2018 -0700
@@ -272,7 +272,7 @@
*
* @param graalOptions
*/
- public BinaryContainer(OptionValues graalOptions, GraalHotSpotVMConfig graalHotSpotVMConfig, GraphBuilderConfiguration graphBuilderConfig, String jvmVersion) {
+ public BinaryContainer(OptionValues graalOptions, GraalHotSpotVMConfig graalHotSpotVMConfig, GraphBuilderConfiguration graphBuilderConfig, int gc, String jvmVersion) {
this.graalOptions = graalOptions;
this.codeSegmentSize = graalHotSpotVMConfig.codeSegmentSize;
@@ -316,16 +316,15 @@
addGlobalSymbols();
- recordConfiguration(graalHotSpotVMConfig, graphBuilderConfig);
+ recordConfiguration(graalHotSpotVMConfig, graphBuilderConfig, gc);
}
- private void recordConfiguration(GraalHotSpotVMConfig graalHotSpotVMConfig, GraphBuilderConfiguration graphBuilderConfig) {
+ private void recordConfiguration(GraalHotSpotVMConfig graalHotSpotVMConfig, GraphBuilderConfiguration graphBuilderConfig, int gc) {
// @formatter:off
boolean[] booleanFlags = { graalHotSpotVMConfig.cAssertions, // Debug VM
graalHotSpotVMConfig.useCompressedOops,
graalHotSpotVMConfig.useCompressedClassPointers,
graalHotSpotVMConfig.compactFields,
- graalHotSpotVMConfig.useG1GC,
graalHotSpotVMConfig.useTLAB,
graalHotSpotVMConfig.useBiasedLocking,
TieredAOT.getValue(graalOptions),
@@ -341,6 +340,7 @@
graalHotSpotVMConfig.fieldsAllocationStyle,
1 << graalHotSpotVMConfig.logMinObjAlignment(),
graalHotSpotVMConfig.codeSegmentSize,
+ gc
};
// @formatter:on
--- a/src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Collector.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Collector.java Thu Jul 26 10:00:40 2018 -0700
@@ -61,7 +61,7 @@
List<LoadedClass> foundClasses = null;
try {
- foundClasses = lookup.search(main.options.files, main.options.searchPath);
+ foundClasses = lookup.search(main.options.files, main.options.searchPath, this::handleLoadingError);
} catch (InternalError e) {
main.printer.reportError(e);
return null;
@@ -118,12 +118,7 @@
addMethods(aotClass, ctors, compilationRestrictions);
total += ctors.length;
} catch (Throwable e) {
- // If we are running in JCK mode we ignore all exceptions.
- if (main.options.ignoreClassLoadingErrors) {
- main.printer.printError(c.getName() + ": " + e);
- } else {
- throw new InternalError(e);
- }
+ handleLoadingError(c.getName(), e);
}
// Methods
@@ -132,12 +127,7 @@
addMethods(aotClass, methods, compilationRestrictions);
total += methods.length;
} catch (Throwable e) {
- // If we are running in JCK mode we ignore all exceptions.
- if (main.options.ignoreClassLoadingErrors) {
- main.printer.printError(c.getName() + ": " + e);
- } else {
- throw new InternalError(e);
- }
+ handleLoadingError(c.getName(), e);
}
// Class initializer
@@ -148,12 +138,7 @@
total++;
}
} catch (Throwable e) {
- // If we are running in JCK mode we ignore all exceptions.
- if (main.options.ignoreClassLoadingErrors) {
- main.printer.printError(c.getName() + ": " + e);
- } else {
- throw new InternalError(e);
- }
+ handleLoadingError(c.getName(), e);
}
// Found any methods to compile? Add the class.
@@ -215,4 +200,11 @@
return compilationRestrictions;
}
+ private void handleLoadingError(String name, Throwable t) {
+ if (main.options.ignoreClassLoadingErrors) {
+ main.printer.printError(name + ": " + t);
+ } else {
+ throw new InternalError(t);
+ }
+ }
}
--- a/src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Main.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Main.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 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
@@ -44,7 +44,8 @@
import org.graalvm.compiler.hotspot.GraalHotSpotVMConfig;
import org.graalvm.compiler.hotspot.HotSpotGraalCompilerFactory;
import org.graalvm.compiler.hotspot.HotSpotGraalOptionValues;
-import org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider;
+import org.graalvm.compiler.hotspot.HotSpotGraalRuntime;
+import org.graalvm.compiler.hotspot.HotSpotGraalRuntime.HotSpotGC;
import org.graalvm.compiler.hotspot.HotSpotHostBackend;
import org.graalvm.compiler.hotspot.meta.HotSpotInvokeDynamicPlugin;
import org.graalvm.compiler.java.GraphBuilderPhase;
@@ -142,7 +143,7 @@
}
graalOptions = new OptionValues(graalOptions, GeneratePIC, true, ImmutableCode, true);
GraalJVMCICompiler graalCompiler = HotSpotGraalCompilerFactory.createCompiler("JAOTC", JVMCI.getRuntime(), graalOptions, CompilerConfigurationFactory.selectFactory(null, graalOptions));
- HotSpotGraalRuntimeProvider runtime = (HotSpotGraalRuntimeProvider) graalCompiler.getGraalRuntime();
+ HotSpotGraalRuntime runtime = (HotSpotGraalRuntime) graalCompiler.getGraalRuntime();
HotSpotHostBackend backend = (HotSpotHostBackend) runtime.getCapability(RuntimeProvider.class).getHostBackend();
MetaAccessProvider metaAccess = backend.getProviders().getMetaAccess();
filters = new GraalFilters(metaAccess);
@@ -181,7 +182,8 @@
System.gc();
}
- BinaryContainer binaryContainer = new BinaryContainer(graalOptions, graalHotSpotVMConfig, graphBuilderConfig, JVM_VERSION);
+ int gc = runtime.getGarbageCollector().ordinal()+1;
+ BinaryContainer binaryContainer = new BinaryContainer(graalOptions, graalHotSpotVMConfig, graphBuilderConfig, gc, JVM_VERSION);
DataBuilder dataBuilder = new DataBuilder(this, backend, classes, binaryContainer);
try (DebugContext debug = DebugContext.create(graalOptions, new GraalDebugHandlersFactory(snippetReflection)); Activation a = debug.activate()) {
--- a/src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/collect/ClassSearch.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/collect/ClassSearch.java Thu Jul 26 10:00:40 2018 -0700
@@ -27,6 +27,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.function.BiConsumer;
public final class ClassSearch {
private final List<SourceProvider> providers = new ArrayList<>();
@@ -36,39 +37,53 @@
}
public List<LoadedClass> search(List<SearchFor> search, SearchPath searchPath) {
+ return search(search, searchPath, (s, t) -> { throw new InternalError(s + " : " + t, t); } );
+ }
+
+ public List<LoadedClass> search(List<SearchFor> search, SearchPath searchPath, BiConsumer<String, Throwable> classLoadingErrorsHandler) {
List<LoadedClass> loaded = new ArrayList<>();
List<ClassSource> sources = new ArrayList<>();
for (SearchFor entry : search) {
- sources.add(findSource(entry, searchPath));
+ sources.add(findSource(entry, searchPath, classLoadingErrorsHandler));
}
for (ClassSource source : sources) {
- source.eachClass((name, loader) -> loaded.add(loadClass(name, loader)));
+ if (source != null) {
+ source.eachClass((name, loader) -> {
+ LoadedClass x = loadClass(name, loader, classLoadingErrorsHandler);
+ if (x != null) { loaded.add(x); }
+ });
+ }
}
return loaded;
}
- private static LoadedClass loadClass(String name, ClassLoader loader) {
+ private static LoadedClass loadClass(String name, ClassLoader loader, BiConsumer<String, Throwable> classLoadingErrorsHandler) {
try {
Class<?> clzz = loader.loadClass(name);
return new LoadedClass(name, clzz);
- } catch (ClassNotFoundException e) {
- throw new InternalError("Failed to load with: " + loader, e);
+ } catch (Throwable e) {
+ classLoadingErrorsHandler.accept(name, e);
+ return null;
}
}
- private ClassSource findSource(SearchFor searchFor, SearchPath searchPath) {
+ private ClassSource findSource(SearchFor searchFor, SearchPath searchPath, BiConsumer<String, Throwable> classLoadingErrorsHandler) {
ClassSource found = null;
for (SourceProvider provider : providers) {
if (!searchFor.isUnknown() && !provider.supports(searchFor.getType())) {
continue;
}
-
- ClassSource source = provider.findSource(searchFor.getName(), searchPath);
+ ClassSource source = null;
+ try {
+ source = provider.findSource(searchFor.getName(), searchPath);
+ } catch (Throwable e) {
+ classLoadingErrorsHandler.accept(searchFor.getName(), e);
+ }
if (source != null) {
if (found != null) {
throw new InternalError("Multiple possible sources: " + source + " and: " + found);
@@ -78,7 +93,7 @@
}
if (found == null) {
- throw new InternalError("Failed to find " + searchFor.getType() + " file: " + searchFor.getName());
+ classLoadingErrorsHandler.accept(searchFor.getName(), new InternalError("Failed to find " + searchFor.getType() + " file: " + searchFor.getName()));
}
return found;
}
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -39,13 +39,18 @@
# name a name, typically a Java identifier
# number an integer
# option name the name of a command line option
-# source version a source version number, such as 1.5, 1.6, 1.7
+# path a path
+# profile a profile name
+# source a source version number, such as 1.5, 1.6, 1.7, taken from a com.sun.tools.javac.code.Source
+# source version a source version number, such as 1.5, 1.6, 1.7, taken from a javax.lang.model.SourceVersion
# string a general string
# symbol the name of a declared type
# symbol kind the kind of a symbol (i.e. method, variable)
# kind name an informative description of the kind of a declaration; see compiler.misc.kindname.*
+# target a target version number, such as 1.5, 1.6, 1.7, taken from a com.sun.tools.javac.jvm.Target
# token the name of a non-terminal in source code; see compiler.misc.token.*
# type a Java type; e.g. int, X, X<T>
+# url a URL
# object a Java object (unspecified)
# unused the value is not used in this message
#
@@ -212,7 +217,7 @@
# 0: kind name, 1: message segment
compiler.err.invalid.mref={0}\u53C2\u7167\u304C\u7121\u52B9\u3067\u3059\n{1}
-# 0: symbol kind, 1: message segment
+# 0: kind name, 1: message segment
compiler.misc.invalid.mref={0}\u53C2\u7167\u304C\u7121\u52B9\u3067\u3059\n{1}
compiler.misc.static.mref.with.targs=static\u30E1\u30BD\u30C3\u30C9\u53C2\u7167\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u5316\u3055\u308C\u305F\u4FEE\u98FE\u5B50
@@ -460,8 +465,8 @@
# 0: type, 1: type
compiler.err.incomparable.types=\u578B{0}\u3068{1}\u306F\u6BD4\u8F03\u3067\u304D\u307E\u305B\u3093
-# 0: number
-compiler.err.int.number.too.large=\u6574\u6570{0}\u304C\u5927\u304D\u3059\u304E\u307E\u3059
+# 0: string
+compiler.err.int.number.too.large=\u6574\u6570\u304C\u5927\u304D\u3059\u304E\u307E\u3059\u3002
compiler.err.intf.annotation.members.cant.have.params=\u6CE8\u91C8\u578B\u5BA3\u8A00\u5185\u306E\u8981\u7D20\u304C\u4EEE\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u5BA3\u8A00\u3067\u304D\u307E\u305B\u3093
@@ -493,6 +498,8 @@
compiler.err.array.and.receiver =\u65E7\u5F0F\u306E\u914D\u5217\u8868\u8A18\u6CD5\u306F\u53D7\u53D6\u308A\u5074\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+compiler.err.wrong.receiver =\u53D7\u53D6\u308A\u5074\u30D1\u30E9\u30E1\u30FC\u30BF\u306E\u540D\u524D\u304C\u9593\u9055\u3063\u3066\u3044\u307E\u3059
+
compiler.err.variable.not.allowed=\u5909\u6570\u306E\u5BA3\u8A00\u3092\u3053\u3053\u3067\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
# 0: name
@@ -786,9 +793,6 @@
compiler.err.signature.doesnt.match.intf=\u30B7\u30B0\u30CB\u30C1\u30E3\u304C{0}\u306B\u9069\u5408\u3057\u307E\u305B\u3093\u3002\u4E92\u63DB\u6027\u306E\u306A\u3044\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059
-# 0: number, 1: number
-compiler.err.method.invoked.with.incorrect.number.arguments=\u30E1\u30BD\u30C3\u30C9\u3092\u8D77\u52D5\u3057\u305F\u5F15\u6570\u306E\u6570\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002\u4E88\u671F\u3055\u308C\u308B\u6570\u306F{0}\u3067\u3059\u304C\u3001{1}\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F
-
# 0: symbol, 1: symbol, 2: symbol
compiler.err.does.not.override.abstract={0}\u306Fabstract\u3067\u306A\u304F\u3001{2}\u5185\u306Eabstract\u30E1\u30BD\u30C3\u30C9{1}\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u305B\u3093
@@ -802,8 +806,14 @@
compiler.err.string.const.req=\u5B9A\u6570\u306E\u6587\u5B57\u5217\u5F0F\u304C\u5FC5\u8981\u3067\u3059
+# 0: symbol, 1: fragment
+compiler.err.cannot.generate.class=\u30AF\u30E9\u30B9{0}\u306E\u751F\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\n({1})
+
# 0: symbol, 1: symbol
-compiler.err.synthetic.name.conflict=\u30B7\u30F3\u30DC\u30EB{0}\u304C\u3001{1}\u3067\u30B3\u30F3\u30D1\u30A4\u30E9\u304C\u5408\u6210\u3057\u305F\u30B7\u30F3\u30DC\u30EB\u3068\u7AF6\u5408\u3057\u307E\u3059
+compiler.misc.synthetic.name.conflict=\u30B7\u30F3\u30DC\u30EB{0}\u304C\u3001{1}\u3067\u30B3\u30F3\u30D1\u30A4\u30E9\u304C\u5408\u6210\u3057\u305F\u30B7\u30F3\u30DC\u30EB\u3068\u7AF6\u5408\u3057\u307E\u3059
+
+# 0: symbol, 1: type
+compiler.misc.illegal.signature=\u578B{1}\u306E\u7F72\u540D\u5C5E\u6027\u304C\u4E0D\u6B63\u3067\u3059
compiler.err.throws.not.allowed.in.intf.annotation=throws\u7BC0\u3092@interface\u30E1\u30F3\u30D0\u30FC\u3067\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
@@ -822,14 +832,17 @@
compiler.err.type.var.more.than.once.in.result=\u578B\u5909\u6570{0}\u306F{1}\u306E\u578B\u30672\u56DE\u4EE5\u4E0A\u51FA\u73FE\u3057\u307E\u3059\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u751F\u6210\u3055\u308C\u306A\u3044\u307E\u307E\u306B\u306F\u3067\u304D\u307E\u305B\u3093
-# 0: type, 1: type, 2: string
-compiler.err.types.incompatible.diff.ret=\u578B{0}\u3068\u578B{1}\u306E\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u4E21\u65B9\u3068\u3082{2}\u3092\u5B9A\u7FA9\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u623B\u308A\u5024\u306E\u578B\u304C\u7121\u95A2\u4FC2\u3067\u3059
+# 0: type, 1: type, 2: fragment
+compiler.err.types.incompatible=\u30BF\u30A4\u30D7{0}\u3068{1}\u306F\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\n{2}
+
+# 0: name, 1: list of type
+compiler.misc.incompatible.diff.ret=\u4E21\u65B9\u3068\u3082{0}({1})\u3092\u5B9A\u7FA9\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u623B\u308A\u5024\u306E\u578B\u304C\u7121\u95A2\u4FC2\u3067\u3059
# 0: kind name, 1: type, 2: name, 3: list of type, 4: symbol, 5: symbol
-compiler.err.types.incompatible.unrelated.defaults={0} {1}\u306F\u578B{4}\u3068{5}\u304B\u3089{2}({3})\u306E\u95A2\u9023\u3057\u306A\u3044\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u7D99\u627F\u3057\u307E\u3059
+compiler.misc.incompatible.unrelated.defaults={0} {1}\u306F\u578B{4}\u3068{5}\u304B\u3089{2}({3})\u306E\u95A2\u9023\u3057\u306A\u3044\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u7D99\u627F\u3057\u307E\u3059
# 0: kind name, 1: type, 2: name, 3: list of type, 4: symbol, 5: symbol
-compiler.err.types.incompatible.abstract.default={0} {1}\u306F\u578B{4}\u3068{5}\u304B\u3089{2}({3})\u306E\u62BD\u8C61\u3068\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u7D99\u627F\u3057\u307E\u3059
+compiler.misc.incompatible.abstract.default={0} {1}\u306F\u578B{4}\u3068{5}\u304B\u3089{2}({3})\u306E\u62BD\u8C61\u3068\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u7D99\u627F\u3057\u307E\u3059
# 0: name, 1: kind name, 2: symbol
compiler.err.default.overrides.object.member={1} {2}\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9{0}\u306Fjava.lang.Object\u306E\u30E1\u30F3\u30D0\u30FC\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059
@@ -860,13 +873,11 @@
# 0: name
compiler.err.undef.label=\u30E9\u30D9\u30EB{0}\u306F\u672A\u5B9A\u7FA9\u3067\u3059
-# 0: name (type)
-compiler.err.illegal.ref.to.var.type=\u5236\u9650\u3055\u308C\u305F\u578B''{0}''\u3078\u306E\u7121\u52B9\u306A\u53C2\u7167\u3067\u3059
-
-# 0: token
-compiler.err.var.not.allowed=\u3053\u3053\u3067\u306F''{0}''\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\n\u30EA\u30EA\u30FC\u30B910\u304B\u3089''{0}''\u306F\u5236\u9650\u3055\u308C\u305F\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u578B\u3067\u3042\u308A\u3001\u578B\u306E\u5BA3\u8A00\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
-
-compiler.warn.var.not.allowed=\u30EA\u30EA\u30FC\u30B910\u304B\u3089\u3001''var''\u306F\u5236\u9650\u3055\u308C\u305F\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u578B\u3067\u3042\u308A\u3001\u578B\u306E\u5BA3\u8A00\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+compiler.err.illegal.ref.to.var.type=\u5236\u9650\u3055\u308C\u305F\u578B''var''\u3078\u306E\u7121\u52B9\u306A\u53C2\u7167\u3067\u3059
+
+compiler.err.var.not.allowed=\u3053\u3053\u3067\u306F''var''\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\n\u30EA\u30EA\u30FC\u30B910\u304B\u3089\u3001''var''\u306F\u5236\u9650\u3055\u308C\u305F\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u578B\u3067\u3042\u308A\u3001\u578B\u306E\u5BA3\u8A00\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+
+compiler.warn.var.not.allowed=\u30EA\u30EA\u30FC\u30B910\u304B\u3089\u3001''var''\u306F\u5236\u9650\u3055\u308C\u305F\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u578B\u3067\u3042\u308A\u3001\u578B\u306E\u5BA3\u8A00\u3067\u306E\u4F7F\u7528\u3001\u307E\u305F\u306F\u914D\u5217\u306E\u8981\u7D20\u30BF\u30A4\u30D7\u3068\u3057\u3066\u306E\u4F7F\u7528\u306F\u3067\u304D\u307E\u305B\u3093
# 0: name (variable), 1: message segment
compiler.err.cant.infer.local.var.type=\u30ED\u30FC\u30AB\u30EB\u5909\u6570{0}\u306E\u578B\u3092\u63A8\u8AD6\u3067\u304D\u307E\u305B\u3093\n({1})
@@ -877,6 +888,15 @@
compiler.err.var.not.allowed.compound=''var''\u306F\u8907\u5408\u5BA3\u8A00\u3067\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093
+# 0: fragment
+compiler.err.invalid.lambda.parameter.declaration=\u7121\u52B9\u306A\u30E9\u30E0\u30C0\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF\u5BA3\u8A00\n({0})
+
+compiler.misc.implicit.and.explicit.not.allowed=\u6697\u9ED9\u7684\u306B\u578B\u6307\u5B9A\u3055\u308C\u305F\u30D1\u30E9\u30E1\u30FC\u30BF\u3068\u660E\u793A\u7684\u306B\u578B\u6307\u5B9A\u3055\u308C\u305F\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u7D44\u307F\u5408\u305B\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+
+compiler.misc.var.and.explicit.not.allowed=''var''\u3068\u660E\u793A\u7684\u306B\u578B\u6307\u5B9A\u3055\u308C\u305F\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u7D44\u307F\u5408\u305B\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+
+compiler.misc.var.and.implicit.not.allowed=''var''\u3068\u6697\u9ED9\u7684\u306B\u578B\u6307\u5B9A\u3055\u308C\u305F\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u7D44\u307F\u5408\u305B\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+
compiler.misc.local.cant.infer.null=\u5909\u6570\u521D\u671F\u5316\u5B50\u306F''null''\u3067\u3059
compiler.misc.local.cant.infer.void=\u5909\u6570\u521D\u671F\u5316\u5B50\u306F''void''\u3067\u3059
@@ -1097,6 +1117,20 @@
compiler.note.unchecked.plural.additional=\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u64CD\u4F5C\u306E\u3046\u3061\u3001\u672A\u30C1\u30A7\u30C3\u30AF\u307E\u305F\u306F\u5B89\u5168\u3067\u306F\u306A\u3044\u3082\u306E\u304C\u3055\u3089\u306B\u3042\u308A\u307E\u3059\u3002
+# 0: file name
+compiler.note.preview.filename={0}\u306F\u30D7\u30EC\u30D3\u30E5\u30FC\u8A00\u8A9E\u6A5F\u80FD\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
+
+compiler.note.preview.plural=\u4E00\u90E8\u306E\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306F\u30D7\u30EC\u30D3\u30E5\u30FC\u8A00\u8A9E\u6A5F\u80FD\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
+
+# The following string may appear after one of the above deprecation
+# messages.
+compiler.note.preview.recompile=\u8A73\u7D30\u306F\u3001-Xlint:preview\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u3066\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+
+# 0: file name
+compiler.note.preview.filename.additional={0}\u306F\u8FFD\u52A0\u3067\u30D7\u30EC\u30D3\u30E5\u30FC\u8A00\u8A9E\u6A5F\u80FD\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
+
+compiler.note.preview.plural.additional=\u4E00\u90E8\u306E\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306F\u8FFD\u52A0\u3067\u30D7\u30EC\u30D3\u30E5\u30FC\u8A00\u8A9E\u6A5F\u80FD\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
+
# Notes related to annotation processing
# Print a client-generated note; assumed to be localized, no translation required
@@ -1206,6 +1240,9 @@
# 0: type, 1: type
compiler.warn.inexact.non-varargs.call=\u6700\u7D42\u30D1\u30E9\u30E1\u30FC\u30BF\u306E\u4E0D\u6B63\u78BA\u306A\u5F15\u6570\u578B\u3092\u6301\u3063\u305F\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u306E\u975E\u53EF\u5909\u5F15\u6570\u547C\u51FA\u3057\u3002\n\u53EF\u5909\u5F15\u6570\u547C\u51FA\u3057\u306B\u95A2\u3057\u3066\u306F{0}\u306B\u30AD\u30E3\u30B9\u30C8\u3057\u307E\u3059\u3002\n\u975E\u53EF\u5909\u5F15\u6570\u547C\u51FA\u3057\u306B\u95A2\u3057\u3066\u306F{1}\u306B\u30AD\u30E3\u30B9\u30C8\u3057\u3066\u3053\u306E\u8B66\u544A\u3092\u51FA\u3055\u306A\u3044\u3088\u3046\u306B\u3057\u307E\u3059
+# 0: target, 1: target
+compiler.err.bad.target.sigpoly.call=\u591A\u76F8\u7F72\u540D\u547C\u51FA\u3057\u306F-target {0}\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u591A\u76F8\u7F72\u540D\u547C\u51FA\u3057\u3092\u6709\u52B9\u306B\u3059\u308B\u306B\u306F-target {1}\u4EE5\u4E0A\u3092\u4F7F\u7528\u3057\u307E\u3059)
+
# 0: list of type
compiler.warn.unreachable.catch=catch\u53E5\u306B\u79FB\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\n\u30B9\u30ED\u30FC\u3055\u308C\u305F\u30BF\u30A4\u30D7{0}\u306F\u3059\u3067\u306B\u6355\u6349\u3055\u308C\u3066\u3044\u307E\u3059
@@ -1247,7 +1284,7 @@
# 0: file name, 1: number, 2: number
compiler.warn.big.major.version={0}: \u30E1\u30B8\u30E3\u30FC\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3{1}\u306F\u3001\u3053\u306E\u30B3\u30F3\u30D1\u30A4\u30E9\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u6700\u65B0\u306E\u30E1\u30B8\u30E3\u30FC\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3{2}\u3088\u308A\u65B0\u3057\u3044\u3067\u3059\u3002\n\u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u3092\u304A\u85A6\u3081\u3057\u307E\u3059\u3002
-# 0: symbol kind, 1: symbol
+# 0: kind name, 1: symbol
compiler.warn.static.not.qualified.by.type=static {0}\u306F\u5F0F\u3067\u306F\u306A\u304F\u578B\u540D{1}\u3067\u4FEE\u98FE\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
# 0: string
@@ -1256,15 +1293,19 @@
# 0: string
compiler.warn.option.obsolete.source=\u30BD\u30FC\u30B9\u5024{0}\u306F\u5EC3\u6B62\u3055\u308C\u3066\u3044\u3066\u3001\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u4E88\u5B9A\u3067\u3059
-# 0: string
+# 0: target
compiler.warn.option.obsolete.target=\u30BF\u30FC\u30B2\u30C3\u30C8\u5024{0}\u306F\u5EC3\u6B62\u3055\u308C\u3066\u3044\u3066\u3001\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u4E88\u5B9A\u3067\u3059
# 0: string, 1: string
compiler.err.option.removed.source=\u30BD\u30FC\u30B9\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306F\u73FE\u5728\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002{1}\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-# 0: string, 1: string
+# 0: target, 1: target
compiler.err.option.removed.target=\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306F\u73FE\u5728\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002{1}\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+
+# 0: target, 1: target
+compiler.warn.option.parameters.unsupported=-parameters\u306F\u3001\u30BF\u30FC\u30B2\u30C3\u30C8\u5024{0}\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002{1}\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+
compiler.warn.option.obsolete.suppression=\u5EC3\u6B62\u3055\u308C\u305F\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u3064\u3044\u3066\u306E\u8B66\u544A\u3092\u8868\u793A\u3057\u306A\u3044\u3088\u3046\u306B\u3059\u308B\u306B\u306F\u3001-Xlint:\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
# 0: name, 1: number, 2: number, 3: number, 4: number
@@ -1281,7 +1322,7 @@
# 0: string
compiler.warn.proc.file.reopening=''{0}''\u7528\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8907\u6570\u56DE\u4F5C\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059
-# 0: name
+# 0: string
compiler.warn.proc.type.already.exists=\u30BF\u30A4\u30D7''{0}''\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u307E\u305F\u306F\u30AF\u30E9\u30B9\u30D1\u30B9\u306B\u5B58\u5728\u3057\u307E\u3059
# 0: string
@@ -1339,7 +1380,7 @@
compiler.warn.unchecked.cast.to.type=\u578B{0}\u3078\u306E\u7121\u691C\u67FB\u30AD\u30E3\u30B9\u30C8\u3067\u3059
-# 0: symbol kind, 1: name, 2: list of type, 3: list of type, 4: symbol kind, 5: symbol
+# 0: kind name, 1: name, 2: object, 3: object, 4: kind name, 5: symbol
compiler.warn.unchecked.meth.invocation.applied=\u7121\u691C\u67FB\u30E1\u30BD\u30C3\u30C9\u547C\u51FA\u3057: {4} {5}\u306E{0} {1}\u306F\u6307\u5B9A\u3055\u308C\u305F\u578B\u306B\u9069\u7528\u3055\u308C\u307E\u3059\n\u671F\u5F85\u5024: {2}\n\u691C\u51FA\u5024: {3}
# 0: type
@@ -1438,6 +1479,9 @@
# 0: token
compiler.err.expected={0}\u304C\u3042\u308A\u307E\u305B\u3093
+# 0: string
+compiler.err.expected.str={0}\u304C\u3042\u308A\u307E\u305B\u3093
+
# 0: token, 1: token
compiler.err.expected2={0}\u307E\u305F\u306F{1}\u304C\u3042\u308A\u307E\u305B\u3093
@@ -1623,6 +1667,7 @@
# 0: type, 1: list of type
compiler.misc.no.unique.maximal.instance.exists=\u578B\u5909\u6570{0}(\u4E0A\u9650{1})\u306E\u56FA\u6709\u306E\u6700\u5927\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093
+# 0: type, 1: list of type
compiler.misc.no.unique.minimal.instance.exists=\u578B\u5909\u6570{0}(\u4E0B\u9650{1})\u306E\u56FA\u6709\u306E\u6700\u5C0F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093
# 0: type, 1: list of type
@@ -1631,14 +1676,17 @@
# 0: type, 1: list of type
compiler.misc.incompatible.eq.bounds=\u63A8\u8AD6\u5909\u6570{0}\u306B\u306F\u3001\u4E0D\u9069\u5408\u306A\u7B49\u4FA1\u5236\u7D04{1}\u304C\u3042\u308A\u307E\u3059
-# 0: type, 1: list of type, 2: list of type
-compiler.misc.incompatible.eq.upper.bounds=\u63A8\u8AD6\u5909\u6570{0}\u306B\u306F\u3001\u4E0D\u9069\u5408\u306A\u5883\u754C\u304C\u3042\u308A\u307E\u3059\n\u7B49\u4FA1\u5236\u7D04: {1}\n\u4E0A\u9650: {2}
-
-# 0: type, 1: list of type, 2: list of type
-compiler.misc.incompatible.upper.lower.bounds=\u63A8\u8AD6\u5909\u6570{0}\u306B\u306F\u3001\u4E0D\u9069\u5408\u306A\u5883\u754C\u304C\u3042\u308A\u307E\u3059\n\u4E0A\u9650: {1}\n\u4E0B\u9650: {2}
-
-# 0: type, 1: list of type, 2: list of type
-compiler.misc.incompatible.eq.lower.bounds=\u63A8\u8AD6\u5909\u6570{0}\u306B\u306F\u3001\u4E0D\u9069\u5408\u306A\u5883\u754C\u304C\u3042\u308A\u307E\u3059\n\u7B49\u4FA1\u5236\u7D04: {1}\n\u4E0B\u9650: {2}
+# 0: type, 1: fragment, 2: fragment
+compiler.misc.incompatible.bounds=\u63A8\u8AD6\u5909\u6570{0}\u306B\u306F\u3001\u4E0D\u9069\u5408\u306A\u5883\u754C\u304C\u3042\u308A\u307E\u3059\n{1}\n{2}
+
+# 0: list of type
+compiler.misc.lower.bounds=\u4E0B\u9650: {0}
+
+# 0: list of type
+compiler.misc.eq.bounds=\u7B49\u4FA1\u5236\u7D04: {0}
+
+# 0: list of type
+compiler.misc.upper.bounds=\u4E0B\u9650: {0}
# 0: list of type, 1: type, 2: type
compiler.misc.infer.no.conforming.instance.exists=\u578B\u5909\u6570{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u306A\u3044\u306E\u3067\u3001{1}\u306F{2}\u306B\u9069\u5408\u3057\u307E\u305B\u3093
@@ -1733,6 +1781,9 @@
# 0: kind name, 1: name, 2: unused, 3: list of type
compiler.err.cant.resolve.args=\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\n\u30B7\u30F3\u30DC\u30EB: {0} {1}({3})
+# 0: kind name, 1: name, 2: unused, 3: list of type
+compiler.misc.cant.resolve.args=\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\n\u30B7\u30F3\u30DC\u30EB: {0} {1}({3})
+
# 0: kind name, 1: name, 2: list of type, 3: list of type
compiler.err.cant.resolve.args.params=\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\n\u30B7\u30F3\u30DC\u30EB: {0} <{2}>{1}({3})
@@ -1884,6 +1935,25 @@
# 0: message segment (feature), 1: string (found version), 2: string (expected version)
compiler.misc.feature.not.supported.in.source.plural={0}\u306F-source {1}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n({0}\u3092\u6709\u52B9\u306B\u3059\u308B\u306B\u306F-source {2}\u4EE5\u4E0A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
+# 0: message segment (feature)
+compiler.err.preview.feature.disabled={0}\u306F\u30D7\u30EC\u30D3\u30E5\u30FC\u6A5F\u80FD\u3067\u3042\u308A\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u7121\u52B9\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\n({0}\u3092\u6709\u52B9\u306B\u3059\u308B\u306B\u306F--enable-preview\u3092\u4F7F\u7528\u3057\u307E\u3059)
+
+# 0: message segment (feature)
+compiler.err.preview.feature.disabled.plural={0}\u306F\u30D7\u30EC\u30D3\u30E5\u30FC\u6A5F\u80FD\u3067\u3042\u308A\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u7121\u52B9\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\n({0}\u3092\u6709\u52B9\u306B\u3059\u308B\u306B\u306F--enable-preview\u3092\u4F7F\u7528\u3057\u307E\u3059)
+
+# 0: file object (classfile), 1: string (expected version)
+compiler.err.preview.feature.disabled.classfile={0}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306FJava SE {1}\u306E\u30D7\u30EC\u30D3\u30E5\u30FC\u6A5F\u80FD\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\n(\u30D7\u30EC\u30D3\u30E5\u30FC\u6A5F\u80FD\u3092\u542B\u3080\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u30ED\u30FC\u30C9\u3067\u304D\u308B\u3088\u3046\u306B\u3059\u308B\u306B\u306F\u3001--enable-preview\u3092\u4F7F\u7528\u3057\u307E\u3059)
+
+# 0: message segment (feature)
+compiler.warn.preview.feature.use={0}\u306F\u30D7\u30EC\u30D3\u30E5\u30FC\u6A5F\u80FD\u3067\u3042\u308A\u3001\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
+
+# 0: message segment (feature)
+compiler.warn.preview.feature.use.plural={0}\u306F\u30D7\u30EC\u30D3\u30E5\u30FC\u6A5F\u80FD\u3067\u3042\u308A\u3001\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
+
+# 0: file object (classfile), 1: string (expected version)
+compiler.warn.preview.feature.use.classfile={0}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306FJava SE {1}\u306E\u30D7\u30EC\u30D3\u30E5\u30FC\u6A5F\u80FD\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
+
+
compiler.misc.feature.modules=\u30E2\u30B8\u30E5\u30FC\u30EB
compiler.misc.feature.diamond.and.anon.class=\u533F\u540D\u5185\u90E8\u30AF\u30E9\u30B9\u3067\u306E''<>''
@@ -1933,7 +2003,7 @@
compiler.err.assert.as.identifier=\u30EA\u30EA\u30FC\u30B91.4\u304B\u3089''assert''\u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
# TODO 308: make a better error message
-compiler.err.this.as.identifier=\u30EA\u30EA\u30FC\u30B98\u304B\u3089''this''\u306F\u53D7\u4FE1\u30BF\u30A4\u30D7\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u540D\u3068\u3057\u3066\u306E\u307F\u8A31\u53EF\u3055\u308C\u3001\u6700\u521D\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.this.as.identifier=\u30EA\u30EA\u30FC\u30B98\u304B\u3089''this''\u306F\u53D7\u4FE1\u30BF\u30A4\u30D7\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u540D\u3068\u3057\u3066\u306E\u307F\u8A31\u53EF\u3055\u308C\u307E\u3059\n\u3053\u308C\u306F\u6700\u521D\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u3001\u30E9\u30E0\u30C0\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u306F\u3067\u304D\u307E\u305B\u3093
compiler.err.receiver.parameter.not.applicable.constructor.toplevel.class=\u53D7\u53D6\u308A\u5074\u30D1\u30E9\u30E1\u30FC\u30BF\u306F\u6700\u4E0A\u4F4D\u30EC\u30D9\u30EB\u30FB\u30AF\u30E9\u30B9\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306B\u9069\u7528\u3067\u304D\u307E\u305B\u3093
@@ -1986,6 +2056,14 @@
compiler.note.deferred.method.inst=\u30E1\u30BD\u30C3\u30C9{0}\u306E\u9045\u5EF6\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\n\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3055\u308C\u305F\u30B7\u30B0\u30CD\u30C1\u30E3: {1}\n\u30BF\u30FC\u30B2\u30C3\u30C8\u578B: {2}
########################################
+# Diagnostics for lambda deduplication
+# used by LambdaToMethod (debug only)
+########################################
+
+# 0: symbol
+compiler.note.verbose.l2m.deduplicate=\u91CD\u8907\u9664\u5916\u30E9\u30E0\u30C0\u5B9F\u88C5\u30E1\u30BD\u30C3\u30C9{0}
+
+########################################
# Diagnostics for where clause implementation
# used by the RichDiagnosticFormatter.
########################################
@@ -2260,3 +2338,90 @@
# 0: string, 1: string
compiler.err.illegal.argument.for.option={0}\u306E\u5F15\u6570\u304C\u4E0D\u6B63\u3067\u3059: {1}
+
+
+############################################
+# messages previouly at javac.properties
+
+compiler.err.empty.A.argument=-A\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059\u3002''-Akey''\u307E\u305F\u306F''-Akey=value''\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
+
+# 0: string
+compiler.err.invalid.A.key=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3''{0}''\u306E\u30AD\u30FC\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u4E00\u9023\u306E\u8B58\u5225\u5B50\u304C\u3001\u30C9\u30C3\u30C8\u3067\u533A\u5207\u3089\u308C\u3066\u3044\u307E\u305B\u3093
+
+# 0: string
+compiler.err.invalid.flag={0}\u306F\u7121\u52B9\u306A\u30D5\u30E9\u30B0\u3067\u3059
+
+compiler.err.profile.bootclasspath.conflict=profile\u3068bootclasspath\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u540C\u6642\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+
+# 0: string
+compiler.err.invalid.profile=\u7121\u52B9\u306A\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB: {0}
+
+# 0: string
+compiler.err.invalid.target={0}\u306F\u7121\u52B9\u306A\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u3059
+
+# 0: option name, 1: target
+compiler.err.option.not.allowed.with.target=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306F\u30BF\u30FC\u30B2\u30C3\u30C8{1}\u3068\u3068\u3082\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093
+
+# 0: string
+compiler.err.option.too.many=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u3092\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F1\u56DE\u306E\u307F\u3067\u3059
+
+compiler.err.no.source.files=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308A\u307E\u305B\u3093
+
+compiler.err.no.source.files.classes=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30AF\u30E9\u30B9\u540D\u304C\u3042\u308A\u307E\u305B\u3093
+
+# 0: string
+compiler.err.req.arg={0}\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059
+
+# 0: string
+compiler.err.invalid.source={0}\u306F\u7121\u52B9\u306A\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u3059
+
+# 0: string, 1: string
+compiler.err.error.writing.file={0}\u306E\u66F8\u8FBC\u307F\u30A8\u30E9\u30FC\u3067\u3059\u3002{1}
+
+compiler.err.sourcepath.modulesourcepath.conflict=--source-path\u3068--module-source-path\u306E\u4E21\u65B9\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093
+
+# 0: string, 1: target
+compiler.warn.source.target.conflict=\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u306B\u306F\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9{1}\u304C\u5FC5\u8981\u3067\u3059
+
+# 0: string, 1: target
+compiler.warn.target.default.source.conflict=\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u304C\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9{1}\u3068\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059
+
+# 0: profile, 1: target
+compiler.warn.profile.target.conflict=\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB{0}\u306F\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9{1}\u306B\u5BFE\u3057\u3066\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+
+# 0: string
+compiler.err.file.not.directory=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0}
+
+# 0: object
+compiler.err.file.not.file=\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0}
+
+compiler.err.two.class.loaders.1=javac\u304C\u8907\u6570\u306E\u30AF\u30E9\u30B9\u30FB\u30ED\u30FC\u30C0\u30FC\u9593\u3067\u5206\u5272\u3055\u308C\u3066\u3044\u307E\u3059: \u69CB\u6210\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044
+
+# 0: url, 1: url
+compiler.err.two.class.loaders.2=javac\u304C\u8907\u6570\u306E\u30AF\u30E9\u30B9\u30FB\u30ED\u30FC\u30C0\u30FC\u9593\u3067\u5206\u5272\u3055\u308C\u3066\u3044\u307E\u3059:\n\u30AF\u30E9\u30B9\u306E\u53D6\u5F97\u5143\u30D5\u30A1\u30A4\u30EB: {0}\njavac\u306E\u53D6\u5F97\u5143: {1}
+
+# 0: string, 1: string
+compiler.err.bad.value.for.option={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5024\u304C\u4E0D\u6B63\u3067\u3059: ''{1}''
+
+# 0: string
+compiler.err.no.value.for.option={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093
+
+# 0: string
+compiler.err.repeated.value.for.patch.module={0}\u306B\u5BFE\u3057\u3066--patch-module\u304C\u8907\u6570\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059
+
+# 0: string
+compiler.err.unmatched.quote=\u74B0\u5883\u5909\u6570{0}\u306E\u5F15\u7528\u7B26\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093
+
+# 0: option name
+compiler.err.release.bootclasspath.conflict=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306F--release\u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+
+# 0: string
+compiler.err.unsupported.release.version=\u30EA\u30EA\u30FC\u30B9\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+
+# 0: string
+compiler.err.file.not.found=\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
+
+# 0: string, 1: source
+compiler.err.preview.not.latest=--enable-preview\u304C\u6307\u5B9A\u3055\u308C\u305F\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u306F\u7121\u52B9\u3067\u3059\n(\u30D7\u30EC\u30D3\u30E5\u30FC\u8A00\u8A9E\u6A5F\u80FD\u306F\u30EA\u30EA\u30FC\u30B9{1}\u3067\u306E\u307F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059)
+
+compiler.err.preview.without.source.or.release=--enable-preview\u306F-source\u307E\u305F\u306F--release\u3068\u3068\u3082\u306B\u4F7F\u7528\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -39,13 +39,18 @@
# name a name, typically a Java identifier
# number an integer
# option name the name of a command line option
-# source version a source version number, such as 1.5, 1.6, 1.7
+# path a path
+# profile a profile name
+# source a source version number, such as 1.5, 1.6, 1.7, taken from a com.sun.tools.javac.code.Source
+# source version a source version number, such as 1.5, 1.6, 1.7, taken from a javax.lang.model.SourceVersion
# string a general string
# symbol the name of a declared type
# symbol kind the kind of a symbol (i.e. method, variable)
# kind name an informative description of the kind of a declaration; see compiler.misc.kindname.*
+# target a target version number, such as 1.5, 1.6, 1.7, taken from a com.sun.tools.javac.jvm.Target
# token the name of a non-terminal in source code; see compiler.misc.token.*
# type a Java type; e.g. int, X, X<T>
+# url a URL
# object a Java object (unspecified)
# unused the value is not used in this message
#
@@ -212,7 +217,7 @@
# 0: kind name, 1: message segment
compiler.err.invalid.mref={0}\u5F15\u7528\u65E0\u6548\n{1}
-# 0: symbol kind, 1: message segment
+# 0: kind name, 1: message segment
compiler.misc.invalid.mref={0}\u5F15\u7528\u65E0\u6548\n{1}
compiler.misc.static.mref.with.targs=\u6709\u5173\u9759\u6001\u65B9\u6CD5\u5F15\u7528\u7684\u53C2\u6570\u5316\u9650\u5B9A\u7B26
@@ -460,8 +465,8 @@
# 0: type, 1: type
compiler.err.incomparable.types=\u4E0D\u53EF\u6BD4\u8F83\u7684\u7C7B\u578B: {0}\u548C{1}
-# 0: number
-compiler.err.int.number.too.large=\u8FC7\u5927\u7684\u6574\u6570: {0}
+# 0: string
+compiler.err.int.number.too.large=\u6574\u6570\u592A\u5927
compiler.err.intf.annotation.members.cant.have.params=\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E\u4E2D\u7684\u5143\u7D20\u65E0\u6CD5\u58F0\u660E\u5F62\u53C2
@@ -493,6 +498,8 @@
compiler.err.array.and.receiver =\u63A5\u6536\u65B9\u53C2\u6570\u4E0D\u5141\u8BB8\u4F7F\u7528\u4F20\u7EDF\u6570\u7EC4\u8BB0\u53F7
+compiler.err.wrong.receiver =\u9519\u8BEF\u7684\u63A5\u6536\u65B9\u53C2\u6570\u540D
+
compiler.err.variable.not.allowed=\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528\u53D8\u91CF\u58F0\u660E
# 0: name
@@ -786,9 +793,6 @@
compiler.err.signature.doesnt.match.intf=\u7B7E\u540D\u4E0E{0}\u4E0D\u5339\u914D; \u4E0D\u517C\u5BB9\u7684\u63A5\u53E3
-# 0: number, 1: number
-compiler.err.method.invoked.with.incorrect.number.arguments=\u4F7F\u7528\u4E0D\u6B63\u786E\u6570\u91CF\u7684\u53C2\u6570\u8C03\u7528\u4E86\u65B9\u6CD5; \u9884\u671F\u4E3A {0} \u4E2A, \u627E\u5230 {1} \u4E2A
-
# 0: symbol, 1: symbol, 2: symbol
compiler.err.does.not.override.abstract={0}\u4E0D\u662F\u62BD\u8C61\u7684, \u5E76\u4E14\u672A\u8986\u76D6{2}\u4E2D\u7684\u62BD\u8C61\u65B9\u6CD5{1}
@@ -802,8 +806,14 @@
compiler.err.string.const.req=\u9700\u8981\u5E38\u91CF\u5B57\u7B26\u4E32\u8868\u8FBE\u5F0F
+# 0: symbol, 1: fragment
+compiler.err.cannot.generate.class=\u751F\u6210\u7C7B {0} \u65F6\u51FA\u9519\n({1})
+
# 0: symbol, 1: symbol
-compiler.err.synthetic.name.conflict=\u7B26\u53F7{0}\u4E0E{1}\u4E2D\u7684 compiler-synthesized \u7B26\u53F7\u51B2\u7A81
+compiler.misc.synthetic.name.conflict=\u7B26\u53F7{0}\u4E0E{1}\u4E2D\u7684 compiler-synthesized \u7B26\u53F7\u51B2\u7A81
+
+# 0: symbol, 1: type
+compiler.misc.illegal.signature=\u7C7B\u578B {1} \u7684\u7B7E\u540D\u5C5E\u6027\u975E\u6CD5
compiler.err.throws.not.allowed.in.intf.annotation=@interface \u6210\u5458\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528 throws \u5B50\u53E5
@@ -822,14 +832,17 @@
compiler.err.type.var.more.than.once.in.result=\u7C7B\u578B\u53D8\u91CF{0}\u5728{1}\u7684\u7C7B\u578B\u4E2D\u591A\u6B21\u51FA\u73B0; \u5FC5\u987B\u5BF9\u5176\u8FDB\u884C\u5B9E\u4F8B\u5316
-# 0: type, 1: type, 2: string
-compiler.err.types.incompatible.diff.ret=\u7C7B\u578B{0}\u548C{1}\u4E0D\u517C\u5BB9; \u4E24\u8005\u90FD\u5B9A\u4E49\u4E86{2}, \u4F46\u5374\u5E26\u6709\u4E0D\u76F8\u5173\u7684\u8FD4\u56DE\u7C7B\u578B
+# 0: type, 1: type, 2: fragment
+compiler.err.types.incompatible=\u7C7B\u578B {0} \u548C {1} \u4E0D\u517C\u5BB9\uFF1B\n{2}
+
+# 0: name, 1: list of type
+compiler.misc.incompatible.diff.ret=\u4E24\u8005\u90FD\u5B9A\u4E49\u4E86 {0}({1})\uFF0C\u4F46\u5374\u5E26\u6709\u4E0D\u76F8\u5173\u7684\u8FD4\u56DE\u7C7B\u578B
# 0: kind name, 1: type, 2: name, 3: list of type, 4: symbol, 5: symbol
-compiler.err.types.incompatible.unrelated.defaults={0} {1}\u4ECE\u7C7B\u578B {4} \u548C {5} \u4E2D\u7EE7\u627F\u4E86{2}({3}) \u7684\u4E0D\u76F8\u5173\u9ED8\u8BA4\u503C
+compiler.misc.incompatible.unrelated.defaults={0} {1}\u4ECE\u7C7B\u578B {4} \u548C {5} \u4E2D\u7EE7\u627F\u4E86{2}({3}) \u7684\u4E0D\u76F8\u5173\u9ED8\u8BA4\u503C
# 0: kind name, 1: type, 2: name, 3: list of type, 4: symbol, 5: symbol
-compiler.err.types.incompatible.abstract.default={0} {1}\u4ECE\u7C7B\u578B {4} \u548C {5} \u4E2D\u7EE7\u627F\u4E86{2}({3}) \u7684\u62BD\u8C61\u548C\u9ED8\u8BA4\u503C
+compiler.misc.incompatible.abstract.default={0} {1}\u4ECE\u7C7B\u578B {4} \u548C {5} \u4E2D\u7EE7\u627F\u4E86{2}({3}) \u7684\u62BD\u8C61\u548C\u9ED8\u8BA4\u503C
# 0: name, 1: kind name, 2: symbol
compiler.err.default.overrides.object.member={1} {2} \u4E2D\u7684\u9ED8\u8BA4\u65B9\u6CD5{0}\u8986\u76D6\u4E86 java.lang.Object \u7684\u6210\u5458
@@ -860,13 +873,11 @@
# 0: name
compiler.err.undef.label=\u672A\u5B9A\u4E49\u7684\u6807\u7B7E: {0}
-# 0: name (type)
-compiler.err.illegal.ref.to.var.type=\u5BF9\u53D7\u9650\u5236\u7C7B\u578B ''{0}'' \u7684\u5F15\u7528\u975E\u6CD5
-
-# 0: token
-compiler.err.var.not.allowed=\u4ECE\u53D1\u884C\u7248 10 \u5F00\u59CB,\n\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528 ''{0}'', ''{0}'' \u662F\u53D7\u9650\u5236\u7684\u672C\u5730\u53D8\u91CF\u7C7B\u578B, \u65E0\u6CD5\u7528\u4E8E\u7C7B\u578B\u58F0\u660E
-
-compiler.warn.var.not.allowed=\u4ECE\u53D1\u884C\u7248 10 \u5F00\u59CB\uFF0C''var'' \u662F\u53D7\u9650\u5236\u7684\u672C\u5730\u53D8\u91CF\u7C7B\u578B\uFF0C\u65E0\u6CD5\u7528\u4E8E\u7C7B\u578B\u58F0\u660E
+compiler.err.illegal.ref.to.var.type=\u5BF9\u53D7\u9650\u5236\u7C7B\u578B ''var'' \u7684\u5F15\u7528\u975E\u6CD5
+
+compiler.err.var.not.allowed=\u4ECE\u53D1\u884C\u7248 10 \u5F00\u59CB\uFF0C\n\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528 ''var''\uFF0C''var'' \u662F\u53D7\u9650\u5236\u7684\u672C\u5730\u53D8\u91CF\u7C7B\u578B\uFF0C\u65E0\u6CD5\u7528\u4E8E\u7C7B\u578B\u58F0\u660E
+
+compiler.warn.var.not.allowed=\u4ECE\u53D1\u884C\u7248 10 \u5F00\u59CB\uFF0C''var'' \u662F\u53D7\u9650\u5236\u7684\u672C\u5730\u53D8\u91CF\u7C7B\u578B\uFF0C\u65E0\u6CD5\u7528\u4E8E\u7C7B\u578B\u58F0\u660E\uFF0C\u4E5F\u65E0\u6CD5\u7528\u4F5C\u6570\u7EC4\u7684\u5143\u7D20\u7C7B\u578B
# 0: name (variable), 1: message segment
compiler.err.cant.infer.local.var.type=\u65E0\u6CD5\u63A8\u65AD\u672C\u5730\u53D8\u91CF {0} \u7684\u7C7B\u578B\n({1})
@@ -877,6 +888,15 @@
compiler.err.var.not.allowed.compound=''var'' \u4E0D\u5141\u8BB8\u5728\u590D\u5408\u58F0\u660E\u4E2D\u4F7F\u7528
+# 0: fragment
+compiler.err.invalid.lambda.parameter.declaration=\u65E0\u6548\u7684 lambda \u53C2\u6570\u58F0\u660E\n({0})
+
+compiler.misc.implicit.and.explicit.not.allowed=\u4E0D\u80FD\u5C06\u9690\u5F0F\u7C7B\u578B\u548C\u663E\u5F0F\u7C7B\u578B\u7684\u53C2\u6570\u6DF7\u5408\u4F7F\u7528
+
+compiler.misc.var.and.explicit.not.allowed=\u4E0D\u80FD\u5C06 ''var'' \u548C\u663E\u5F0F\u7C7B\u578B\u7684\u53C2\u6570\u6DF7\u5408\u4F7F\u7528
+
+compiler.misc.var.and.implicit.not.allowed=\u4E0D\u80FD\u5C06 ''var'' \u548C\u9690\u5F0F\u7C7B\u578B\u7684\u53C2\u6570\u6DF7\u5408\u4F7F\u7528
+
compiler.misc.local.cant.infer.null=\u53D8\u91CF\u521D\u59CB\u5316\u7A0B\u5E8F\u4E3A ''null''
compiler.misc.local.cant.infer.void=\u53D8\u91CF\u521D\u59CB\u5316\u7A0B\u5E8F\u4E3A ''void''
@@ -1097,6 +1117,20 @@
compiler.note.unchecked.plural.additional=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u8FD8\u4F7F\u7528\u4E86\u672A\u7ECF\u68C0\u67E5\u6216\u4E0D\u5B89\u5168\u7684\u64CD\u4F5C\u3002
+# 0: file name
+compiler.note.preview.filename={0} \u4F7F\u7528\u9884\u89C8\u8BED\u8A00\u529F\u80FD\u3002
+
+compiler.note.preview.plural=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u4F7F\u7528\u9884\u89C8\u8BED\u8A00\u529F\u80FD\u3002
+
+# The following string may appear after one of the above deprecation
+# messages.
+compiler.note.preview.recompile=\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u4F7F\u7528 -Xlint:preview \u91CD\u65B0\u7F16\u8BD1\u3002
+
+# 0: file name
+compiler.note.preview.filename.additional={0} \u8FD8\u4F7F\u7528\u9884\u89C8\u8BED\u8A00\u529F\u80FD\u3002
+
+compiler.note.preview.plural.additional=\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u8FD8\u4F7F\u7528\u9884\u89C8\u8BED\u8A00\u529F\u80FD\u3002
+
# Notes related to annotation processing
# Print a client-generated note; assumed to be localized, no translation required
@@ -1206,6 +1240,9 @@
# 0: type, 1: type
compiler.warn.inexact.non-varargs.call=\u6700\u540E\u4E00\u4E2A\u53C2\u6570\u4F7F\u7528\u4E86\u4E0D\u51C6\u786E\u7684\u53D8\u91CF\u7C7B\u578B\u7684 varargs \u65B9\u6CD5\u7684\u975E varargs \u8C03\u7528; \n\u5BF9\u4E8E varargs \u8C03\u7528, \u5E94\u4F7F\u7528 {0}\n\u5BF9\u4E8E\u975E varargs \u8C03\u7528, \u5E94\u4F7F\u7528 {1}, \u8FD9\u6837\u4E5F\u53EF\u4EE5\u6291\u5236\u6B64\u8B66\u544A
+# 0: target, 1: target
+compiler.err.bad.target.sigpoly.call=-target {0} \u4E2D\u4E0D\u652F\u6301\u591A\u6001\u7B7E\u540D\u8C03\u7528\n\uFF08\u8BF7\u4F7F\u7528 -target {1} \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u591A\u6001\u7B7E\u540D\u8C03\u7528\uFF09
+
# 0: list of type
compiler.warn.unreachable.catch=catch \u5B50\u53E5\u65E0\u6CD5\u8BBF\u95EE\n\u5DF2\u6355\u83B7\u5230\u629B\u51FA\u7684\u7C7B\u578B{0}
@@ -1247,7 +1284,7 @@
# 0: file name, 1: number, 2: number
compiler.warn.big.major.version={0}: \u4E3B\u7248\u672C {1} \u6BD4 {2} \u65B0, \u6B64\u7F16\u8BD1\u5668\u652F\u6301\u6700\u65B0\u7684\u4E3B\u7248\u672C\u3002\n\u5EFA\u8BAE\u5347\u7EA7\u6B64\u7F16\u8BD1\u5668\u3002
-# 0: symbol kind, 1: symbol
+# 0: kind name, 1: symbol
compiler.warn.static.not.qualified.by.type=static {0}\u5E94\u7531\u7C7B\u578B\u540D\u79F0{1}\u800C\u4E0D\u662F\u8868\u8FBE\u5F0F\u9650\u5B9A
# 0: string
@@ -1256,15 +1293,19 @@
# 0: string
compiler.warn.option.obsolete.source=\u6E90\u503C{0}\u5DF2\u8FC7\u65F6, \u5C06\u5728\u672A\u6765\u6240\u6709\u53D1\u884C\u7248\u4E2D\u5220\u9664
-# 0: string
+# 0: target
compiler.warn.option.obsolete.target=\u76EE\u6807\u503C{0}\u5DF2\u8FC7\u65F6, \u5C06\u5728\u672A\u6765\u6240\u6709\u53D1\u884C\u7248\u4E2D\u5220\u9664
# 0: string, 1: string
compiler.err.option.removed.source=\u4E0D\u518D\u652F\u6301\u6E90\u9009\u9879 {0}\u3002\u8BF7\u4F7F\u7528 {1} \u6216\u66F4\u9AD8\u7248\u672C\u3002
-# 0: string, 1: string
+# 0: target, 1: target
compiler.err.option.removed.target=\u4E0D\u518D\u652F\u6301\u76EE\u6807\u9009\u9879 {0}\u3002\u8BF7\u4F7F\u7528 {1} \u6216\u66F4\u9AD8\u7248\u672C\u3002
+
+# 0: target, 1: target
+compiler.warn.option.parameters.unsupported=\u76EE\u6807\u503C {0} \u4E0D\u652F\u6301 -parameters\u3002\u8BF7\u4F7F\u7528 {1} \u6216\u66F4\u9AD8\u7248\u672C\u3002
+
compiler.warn.option.obsolete.suppression=\u8981\u9690\u85CF\u6709\u5173\u5DF2\u8FC7\u65F6\u9009\u9879\u7684\u8B66\u544A, \u8BF7\u4F7F\u7528 -Xlint:-options\u3002
# 0: name, 1: number, 2: number, 3: number, 4: number
@@ -1281,7 +1322,7 @@
# 0: string
compiler.warn.proc.file.reopening=\u5C1D\u8BD5\u591A\u6B21\u4E3A ''{0}'' \u521B\u5EFA\u6587\u4EF6
-# 0: name
+# 0: string
compiler.warn.proc.type.already.exists=\u7C7B\u578B ''{0}'' \u7684\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728\u4E8E\u6E90\u8DEF\u5F84\u6216\u7C7B\u8DEF\u5F84\u4E2D
# 0: string
@@ -1339,7 +1380,7 @@
compiler.warn.unchecked.cast.to.type=\u5411\u7C7B\u578B{0}\u7684\u8F6C\u6362\u672A\u7ECF\u8FC7\u68C0\u67E5
-# 0: symbol kind, 1: name, 2: list of type, 3: list of type, 4: symbol kind, 5: symbol
+# 0: kind name, 1: name, 2: object, 3: object, 4: kind name, 5: symbol
compiler.warn.unchecked.meth.invocation.applied=\u65B9\u6CD5\u8C03\u7528\u672A\u7ECF\u8FC7\u68C0\u67E5: \u5C06{4} {5}\u4E2D\u7684{0} {1}\u5E94\u7528\u5230\u7ED9\u5B9A\u7684\u7C7B\u578B\n\u9700\u8981: {2}\n\u627E\u5230: {3}
# 0: type
@@ -1438,6 +1479,9 @@
# 0: token
compiler.err.expected=\u9700\u8981{0}
+# 0: string
+compiler.err.expected.str=\u9700\u8981 {0}
+
# 0: token, 1: token
compiler.err.expected2=\u9700\u8981{0}\u6216{1}
@@ -1623,6 +1667,7 @@
# 0: type, 1: list of type
compiler.misc.no.unique.maximal.instance.exists=\u5BF9\u4E8E\u4E0A\u9650\u4E3A{1}\u7684\u7C7B\u578B\u53D8\u91CF{0}, \u4E0D\u5B58\u5728\u552F\u4E00\u6700\u5927\u5B9E\u4F8B
+# 0: type, 1: list of type
compiler.misc.no.unique.minimal.instance.exists=\u5BF9\u4E8E\u4E0B\u9650\u4E3A{1}\u7684\u7C7B\u578B\u53D8\u91CF{0}, \u4E0D\u5B58\u5728\u552F\u4E00\u6700\u5C0F\u5B9E\u4F8B
# 0: type, 1: list of type
@@ -1631,14 +1676,17 @@
# 0: type, 1: list of type
compiler.misc.incompatible.eq.bounds=\u63A8\u8BBA\u53D8\u91CF{0}\u5177\u6709\u4E0D\u517C\u5BB9\u7684\u7B49\u5F0F\u7EA6\u675F\u6761\u4EF6{1}
-# 0: type, 1: list of type, 2: list of type
-compiler.misc.incompatible.eq.upper.bounds=\u63A8\u8BBA\u53D8\u91CF {0} \u5177\u6709\u4E0D\u517C\u5BB9\u7684\u9650\u5236\u8303\u56F4\n\u7B49\u5F0F\u7EA6\u675F\u6761\u4EF6: {1}\n\u4E0A\u9650: {2}
-
-# 0: type, 1: list of type, 2: list of type
-compiler.misc.incompatible.upper.lower.bounds=\u63A8\u8BBA\u53D8\u91CF{0}\u5177\u6709\u4E0D\u517C\u5BB9\u7684\u8FB9\u754C\n\u4E0A\u9650: {1}\n\u4E0B\u9650: {2}
-
-# 0: type, 1: list of type, 2: list of type
-compiler.misc.incompatible.eq.lower.bounds=\u63A8\u8BBA\u53D8\u91CF{0}\u5177\u6709\u4E0D\u517C\u5BB9\u7684\u9650\u5236\u8303\u56F4\n\u7B49\u5F0F\u7EA6\u675F\u6761\u4EF6: {1}\n\u4E0B\u9650: {2}
+# 0: type, 1: fragment, 2: fragment
+compiler.misc.incompatible.bounds=\u63A8\u8BBA\u53D8\u91CF {0} \u5177\u6709\u4E0D\u517C\u5BB9\u7684\u4E0A\u9650\n{1}\n{2}
+
+# 0: list of type
+compiler.misc.lower.bounds=\u4E0B\u9650\uFF1A{0}
+
+# 0: list of type
+compiler.misc.eq.bounds=\u7B49\u5F0F\u7EA6\u675F\u6761\u4EF6\uFF1A{0}
+
+# 0: list of type
+compiler.misc.upper.bounds=\u4E0B\u9650\uFF1A{0}
# 0: list of type, 1: type, 2: type
compiler.misc.infer.no.conforming.instance.exists=\u4E0D\u5B58\u5728\u7C7B\u578B\u53D8\u91CF{0}\u7684\u5B9E\u4F8B, \u4EE5\u4F7F{1}\u4E0E{2}\u4E00\u81F4
@@ -1733,6 +1781,9 @@
# 0: kind name, 1: name, 2: unused, 3: list of type
compiler.err.cant.resolve.args=\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7: {0} {1}({3})
+# 0: kind name, 1: name, 2: unused, 3: list of type
+compiler.misc.cant.resolve.args=\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7: {0} {1}({3})
+
# 0: kind name, 1: name, 2: list of type, 3: list of type
compiler.err.cant.resolve.args.params=\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7: {0} <{2}>{1}({3})
@@ -1884,6 +1935,25 @@
# 0: message segment (feature), 1: string (found version), 2: string (expected version)
compiler.misc.feature.not.supported.in.source.plural=-source {1} \u4E2D\u4E0D\u652F\u6301 {0}\n(\u8BF7\u4F7F\u7528 -source {2} \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 {0})
+# 0: message segment (feature)
+compiler.err.preview.feature.disabled={0} \u662F\u9884\u89C8\u529F\u80FD\uFF0C\u9ED8\u8BA4\u60C5\u51B5\u4E0B\u7981\u7528\u3002\n\uFF08\u8BF7\u4F7F\u7528 --enable-preview \u4EE5\u542F\u7528 {0}\uFF09
+
+# 0: message segment (feature)
+compiler.err.preview.feature.disabled.plural={0} \u662F\u9884\u89C8\u529F\u80FD\uFF0C\u9ED8\u8BA4\u60C5\u51B5\u4E0B\u7981\u7528\u3002\n\uFF08\u8BF7\u4F7F\u7528 --enable-preview \u4EE5\u542F\u7528 {0}\uFF09
+
+# 0: file object (classfile), 1: string (expected version)
+compiler.err.preview.feature.disabled.classfile={0} \u7684\u7C7B\u6587\u4EF6\u4F7F\u7528 Java SE {1} \u7684\u9884\u89C8\u529F\u80FD\u3002\n\uFF08\u8BF7\u4F7F\u7528 --enable-preview \u4EE5\u5141\u8BB8\u52A0\u8F7D\u5305\u542B\u9884\u89C8\u529F\u80FD\u7684\u7C7B\u6587\u4EF6\uFF09
+
+# 0: message segment (feature)
+compiler.warn.preview.feature.use={0} \u662F\u9884\u89C8\u529F\u80FD\uFF0C\u53EF\u80FD\u4F1A\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\u5220\u9664\u3002
+
+# 0: message segment (feature)
+compiler.warn.preview.feature.use.plural={0} \u662F\u9884\u89C8\u529F\u80FD\uFF0C\u53EF\u80FD\u4F1A\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\u5220\u9664\u3002
+
+# 0: file object (classfile), 1: string (expected version)
+compiler.warn.preview.feature.use.classfile={0} \u7684\u7C7B\u6587\u4EF6\u4F7F\u7528 Java SE {1} \u7684\u9884\u89C8\u529F\u80FD\u3002
+
+
compiler.misc.feature.modules=\u6A21\u5757
compiler.misc.feature.diamond.and.anon.class=''<>'' \u5177\u6709\u533F\u540D\u7684\u5185\u90E8\u7C7B
@@ -1933,7 +2003,7 @@
compiler.err.assert.as.identifier=\u4ECE\u53D1\u884C\u7248 1.4 \u5F00\u59CB, ''assert'' \u4E3A\u5173\u952E\u5B57, \u4E0D\u80FD\u7528\u4F5C\u6807\u8BC6\u7B26
# TODO 308: make a better error message
-compiler.err.this.as.identifier=\u4ECE\u53D1\u884C\u7248 8 \u5F00\u59CB, ''this'' \u53EA\u80FD\u4F5C\u4E3A\u63A5\u6536\u65B9\u7C7B\u578B\u7684\u53C2\u6570\u540D, \u8BE5\u53C2\u6570\u5FC5\u987B\u4E3A\u7B2C\u4E00\u4E2A\u53C2\u6570
+compiler.err.this.as.identifier=\u4ECE\u53D1\u884C\u7248 8 \u5F00\u59CB\uFF0C''this'' \u53EA\u80FD\u4F5C\u4E3A\u63A5\u6536\u65B9\u7C7B\u578B\u7684\u53C2\u6570\u540D\uFF0C\n\u8BE5\u53C2\u6570\u5FC5\u987B\u4E3A\u7B2C\u4E00\u4E2A\u53C2\u6570\uFF0C\u5E76\u4E14\u4E0D\u80FD\u662F lambda \u53C2\u6570
compiler.err.receiver.parameter.not.applicable.constructor.toplevel.class=\u63A5\u6536\u65B9\u53C2\u6570\u4E0D\u9002\u7528\u4E8E\u9876\u5C42\u7C7B\u7684\u6784\u9020\u5668
@@ -1986,6 +2056,14 @@
compiler.note.deferred.method.inst=\u65B9\u6CD5 {0} \u7684\u5EF6\u8FDF\u5B9E\u4F8B\u5316\n\u5B9E\u4F8B\u5316\u7B7E\u540D: {1}\n\u76EE\u6807\u7C7B\u578B: {2}
########################################
+# Diagnostics for lambda deduplication
+# used by LambdaToMethod (debug only)
+########################################
+
+# 0: symbol
+compiler.note.verbose.l2m.deduplicate=\u6B63\u5728\u5BF9 lambda \u51FD\u6570\u5B9E\u73B0\u65B9\u6CD5 {0} \u8FDB\u884C\u91CD\u590D\u6570\u636E\u5220\u9664
+
+########################################
# Diagnostics for where clause implementation
# used by the RichDiagnosticFormatter.
########################################
@@ -2260,3 +2338,90 @@
# 0: string, 1: string
compiler.err.illegal.argument.for.option={0} \u7684\u53C2\u6570\u975E\u6CD5: {1}
+
+
+############################################
+# messages previouly at javac.properties
+
+compiler.err.empty.A.argument=-A \u9700\u8981\u4E00\u4E2A\u53C2\u6570; \u4F7F\u7528 ''-Akey'' \u6216 ''-Akey=value''
+
+# 0: string
+compiler.err.invalid.A.key=\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u9009\u9879 ''{0}'' \u4E2D\u7684\u5173\u952E\u5B57\u4E0D\u662F\u4EE5\u70B9\u5206\u9694\u7684\u6807\u8BC6\u7B26\u5E8F\u5217
+
+# 0: string
+compiler.err.invalid.flag=\u65E0\u6548\u7684\u6807\u8BB0: {0}
+
+compiler.err.profile.bootclasspath.conflict=\u6982\u8981\u4FE1\u606F\u548C\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u9009\u9879\u4E0D\u80FD\u540C\u65F6\u4F7F\u7528
+
+# 0: string
+compiler.err.invalid.profile=\u65E0\u6548\u7684\u914D\u7F6E\u6587\u4EF6\uFF1A{0}
+
+# 0: string
+compiler.err.invalid.target=\u65E0\u6548\u7684\u76EE\u6807\u53D1\u884C\u7248\uFF1A{0}
+
+# 0: option name, 1: target
+compiler.err.option.not.allowed.with.target=\u76EE\u6807 {1} \u4E0D\u5141\u8BB8\u9009\u9879 {0}
+
+# 0: string
+compiler.err.option.too.many=\u9009\u9879 {0} \u53EA\u80FD\u6307\u5B9A\u4E00\u6B21
+
+compiler.err.no.source.files=\u65E0\u6E90\u6587\u4EF6
+
+compiler.err.no.source.files.classes=\u65E0\u6E90\u6587\u4EF6\u6216\u7C7B\u540D
+
+# 0: string
+compiler.err.req.arg={0} \u9700\u8981\u53C2\u6570
+
+# 0: string
+compiler.err.invalid.source=\u65E0\u6548\u7684\u6E90\u53D1\u884C\u7248\uFF1A{0}
+
+# 0: string, 1: string
+compiler.err.error.writing.file=\u5199\u5165 {0} \u65F6\u51FA\u9519\uFF1B{1}
+
+compiler.err.sourcepath.modulesourcepath.conflict=\u65E0\u6CD5\u540C\u65F6\u6307\u5B9A --source-path \u4E0E --module-source-path
+
+# 0: string, 1: target
+compiler.warn.source.target.conflict=\u6E90\u53D1\u884C\u7248 {0} \u9700\u8981\u76EE\u6807\u53D1\u884C\u7248 {1}
+
+# 0: string, 1: target
+compiler.warn.target.default.source.conflict=\u76EE\u6807\u53D1\u884C\u7248 {0} \u4E0E\u9ED8\u8BA4\u7684\u6E90\u53D1\u884C\u7248 {1} \u51B2\u7A81
+
+# 0: profile, 1: target
+compiler.warn.profile.target.conflict=\u914D\u7F6E\u6587\u4EF6{0}\u5BF9\u4E8E\u76EE\u6807\u53D1\u884C\u7248 {1} \u65E0\u6548
+
+# 0: string
+compiler.err.file.not.directory=\u4E0D\u662F\u76EE\u5F55\uFF1A{0}
+
+# 0: object
+compiler.err.file.not.file=\u4E0D\u662F\u6587\u4EF6\uFF1A{0}
+
+compiler.err.two.class.loaders.1=javac \u5728\u591A\u4E2A\u7C7B\u52A0\u8F7D\u5668\u4E4B\u95F4\u62C6\u5206: \u8BF7\u68C0\u67E5\u914D\u7F6E
+
+# 0: url, 1: url
+compiler.err.two.class.loaders.2=javac \u5728\u591A\u4E2A\u7C7B\u52A0\u8F7D\u5668\u4E4B\u95F4\u62C6\u5206:\n\u4E00\u4E2A\u7C7B\u6765\u81EA\u6587\u4EF6: {0}\n\u800C javac \u6765\u81EA {1}
+
+# 0: string, 1: string
+compiler.err.bad.value.for.option={0} \u9009\u9879\u7684\u503C\u9519\u8BEF: ''{1}''
+
+# 0: string
+compiler.err.no.value.for.option={0} \u9009\u9879\u6CA1\u6709\u503C
+
+# 0: string
+compiler.err.repeated.value.for.patch.module=\u4E3A {0} \u591A\u6B21\u6307\u5B9A\u4E86 --patch-module
+
+# 0: string
+compiler.err.unmatched.quote=\u73AF\u5883\u53D8\u91CF {0} \u4E2D\u7684\u5F15\u53F7\u4E0D\u6210\u5BF9
+
+# 0: option name
+compiler.err.release.bootclasspath.conflict=\u9009\u9879 {0} \u4E0D\u80FD\u4E0E --release \u4E00\u8D77\u4F7F\u7528
+
+# 0: string
+compiler.err.unsupported.release.version=\u4E0D\u652F\u6301\u53D1\u884C\u7248\u672C {0}
+
+# 0: string
+compiler.err.file.not.found=\u627E\u4E0D\u5230\u6587\u4EF6: {0}
+
+# 0: string, 1: source
+compiler.err.preview.not.latest=\u6E90\u53D1\u884C\u7248 {0} \u4E0E --enable-preview \u4E00\u8D77\u4F7F\u7528\u65F6\u65E0\u6548\n\uFF08\u4EC5\u53D1\u884C\u7248 {1} \u652F\u6301\u9884\u89C8\u8BED\u8A00\u529F\u80FD\uFF09
+
+compiler.err.preview.without.source.or.release=--enable-preview \u5FC5\u987B\u4E0E -source \u6216 --release \u4E00\u8D77\u4F7F\u7528
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 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
@@ -152,6 +152,8 @@
javac.opt.Xlint.desc.varargs=\u5B89\u5168\u3067\u306F\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308B\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u306B\u3064\u3044\u3066\u8B66\u544A\u3057\u307E\u3059
+javac.opt.Xlint.desc.preview=\u30D7\u30EC\u30D3\u30E5\u30FC\u8A00\u8A9E\u6A5F\u80FD\u306E\u4F7F\u7528\u306B\u3064\u3044\u3066\u8B66\u544A\u3057\u307E\u3059
+
javac.opt.Xdoclint=javadoc\u30B3\u30E1\u30F3\u30C8\u306E\u554F\u984C\u306B\u95A2\u3059\u308B\u63A8\u5968\u30C1\u30A7\u30C3\u30AF\u3092\u6709\u52B9\u306B\u3057\u307E\u3059
# L10N: do not localize: all none
javac.opt.Xdoclint.subopts = (all|none|[-]<group>)[/<access>]
@@ -174,6 +176,7 @@
javac.opt.printProcessorInfo=\u30D7\u30ED\u30BB\u30C3\u30B5\u304C\u51E6\u7406\u3092\u4F9D\u983C\u3055\u308C\u308B\u6CE8\u91C8\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B
javac.opt.userpathsfirst=\u30D6\u30FC\u30C8\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9\u306E\u5F8C\u3067\u306F\u306A\u304F\u3001\u30D6\u30FC\u30C8\u30FB\u30AF\u30E9\u30B9\u30D1\u30B9\u306E\u524D\u306B\u30AF\u30E9\u30B9\u306E\u30AF\u30E9\u30B9\u30D1\u30B9\u304A\u3088\u3073\u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u3092\u691C\u7D22\u3059\u308B
javac.opt.prefer=\u6697\u9ED9\u7684\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3055\u308C\u308B\u30AF\u30E9\u30B9\u306B\u3064\u3044\u3066\u3001\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3068\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u4E21\u65B9\u304C\u898B\u3064\u304B\u3063\u305F\u969B\u3069\u3061\u3089\u3092\u8AAD\u307F\u8FBC\u3080\u304B\u6307\u5B9A\u3059\u308B
+javac.opt.preview=\u30D7\u30EC\u30D3\u30E5\u30FC\u8A00\u8A9E\u6A5F\u80FD\u3092\u6709\u52B9\u306B\u3057\u307E\u3059\u3002-source\u307E\u305F\u306F--release\u3068\u3068\u3082\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002
javac.opt.AT=\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u306E\u8AAD\u53D6\u308A\u30AA\u30D7\u30B7\u30E7\u30F3\u304A\u3088\u3073\u30D5\u30A1\u30A4\u30EB\u540D
javac.opt.diags=\u8A3A\u65AD\u30E2\u30FC\u30C9\u306E\u9078\u629E
javac.opt.addExports=<other-module>\u304CALL-UNNAMED\u3067\u3042\u308B\u5834\u5408\u3001\u305D\u306E\u5B9A\u7FA9\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u3089\u3001\u8FFD\u52A0\u30E2\u30B8\u30E5\u30FC\u30EB\u307E\u305F\u306F\n \u3059\u3079\u3066\u306E\u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u6E08\u3068\u307F\u306A\u3055\u308C\u308B\u3088\u3046\u306B\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002
@@ -191,38 +194,6 @@
javac.opt.inherit_runtime_environment=\u5B9F\u884C\u6642\u74B0\u5883\u304B\u3089\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30B7\u30B9\u30C6\u30E0\u69CB\u6210\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7D99\u627F\u3057\u307E\u3059\u3002
javac.opt.default.module.for.created.files=\u4F55\u3082\u6307\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u304B\u3001\u63A8\u5B9A\u578B\u306E\u5834\u5408\u3001\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306B\u3088\u3063\u3066\u4F5C\u6210\u3055\u308C\u308B\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\u3057\u307E\u3059\u3002
-## errors
-
-javac.err.empty.A.argument=-A\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059\u3002''-Akey''\u307E\u305F\u306F''-Akey=value''\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
-javac.err.invalid.arg={0}\u306F\u7121\u52B9\u306A\u5F15\u6570\u3067\u3059
-javac.err.invalid.A.key=\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3''{0}''\u306E\u30AD\u30FC\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u4E00\u9023\u306E\u8B58\u5225\u5B50\u304C\u3001\u30C9\u30C3\u30C8\u3067\u533A\u5207\u3089\u308C\u3066\u3044\u307E\u305B\u3093
-javac.err.invalid.flag={0}\u306F\u7121\u52B9\u306A\u30D5\u30E9\u30B0\u3067\u3059
-javac.err.profile.bootclasspath.conflict=profile\u3068bootclasspath\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u540C\u6642\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
-javac.err.invalid.profile=\u7121\u52B9\u306A\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB: {0}
-javac.err.invalid.target={0}\u306F\u7121\u52B9\u306A\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u3059
-javac.err.option.not.allowed.with.target=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306F\u30BF\u30FC\u30B2\u30C3\u30C8{1}\u3068\u3068\u3082\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093
-javac.err.option.too.many=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u3092\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F1\u56DE\u306E\u307F\u3067\u3059
-javac.err.no.source.files=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308A\u307E\u305B\u3093
-javac.err.no.source.files.classes=\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30AF\u30E9\u30B9\u540D\u304C\u3042\u308A\u307E\u305B\u3093
-javac.err.req.arg={0}\u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059
-javac.err.invalid.source={0}\u306F\u7121\u52B9\u306A\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u3059
-javac.err.error.writing.file={0}\u306E\u66F8\u8FBC\u307F\u30A8\u30E9\u30FC\u3067\u3059\u3002{1}
-javac.err.sourcepath.modulesourcepath.conflict=--source-path\u3068--module-source-path\u306E\u4E21\u65B9\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093
-javac.warn.source.target.conflict=\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u306B\u306F\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9{1}\u304C\u5FC5\u8981\u3067\u3059
-javac.warn.target.default.source.conflict=\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9{0}\u304C\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30BD\u30FC\u30B9\u30FB\u30EA\u30EA\u30FC\u30B9{1}\u3068\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059
-javac.warn.profile.target.conflict=\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB{0}\u306F\u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30EA\u30EA\u30FC\u30B9{1}\u306B\u5BFE\u3057\u3066\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093
-javac.err.file.not.found=\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
-javac.err.file.not.directory=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0}
-javac.err.file.not.file=\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0}
-javac.err.cannot.access.runtime.env=\u5B9F\u884C\u6642\u74B0\u5883\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093
-javac.err.two.class.loaders.1=javac\u304C\u8907\u6570\u306E\u30AF\u30E9\u30B9\u30FB\u30ED\u30FC\u30C0\u30FC\u9593\u3067\u5206\u5272\u3055\u308C\u3066\u3044\u307E\u3059: \u69CB\u6210\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044
-javac.err.two.class.loaders.2=javac\u304C\u8907\u6570\u306E\u30AF\u30E9\u30B9\u30FB\u30ED\u30FC\u30C0\u30FC\u9593\u3067\u5206\u5272\u3055\u308C\u3066\u3044\u307E\u3059:\n\u30AF\u30E9\u30B9\u306E\u53D6\u5F97\u5143\u30D5\u30A1\u30A4\u30EB: {0}\njavac\u306E\u53D6\u5F97\u5143: {1}
-javac.err.bad.value.for.option={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5024\u304C\u4E0D\u6B63\u3067\u3059: ''{1}''
-javac.err.no.value.for.option={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093
-javac.err.repeated.value.for.patch.module={0}\u306B\u5BFE\u3057\u3066--patch-module\u304C\u8907\u6570\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059
-
-javac.err.unmatched.quote=\u74B0\u5883\u5909\u6570%s\u306E\u5F15\u7528\u7B26\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093
-
## messages
javac.msg.usage.header=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <source files>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002
@@ -243,7 +214,3 @@
javac.version={0} {1}
javac.fullVersion={0}\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"{1}"
-
-javac.err.release.bootclasspath.conflict=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306F--release\u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
-
-javac.err.unsupported.release.version=\u30EA\u30EA\u30FC\u30B9\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 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
@@ -152,6 +152,8 @@
javac.opt.Xlint.desc.varargs=\u6709\u5173\u6F5C\u5728\u4E0D\u5B89\u5168\u7684 vararg \u65B9\u6CD5\u7684\u8B66\u544A
+javac.opt.Xlint.desc.preview=\u6709\u5173\u4F7F\u7528\u9884\u89C8\u8BED\u8A00\u529F\u80FD\u7684\u8B66\u544A
+
javac.opt.Xdoclint=\u4E3A javadoc \u6CE8\u91CA\u4E2D\u7684\u95EE\u9898\u542F\u7528\u5EFA\u8BAE\u7684\u68C0\u67E5
# L10N: do not localize: all none
javac.opt.Xdoclint.subopts = (all|none|[-]<group>)[/<access>]
@@ -174,6 +176,7 @@
javac.opt.printProcessorInfo=\u8F93\u51FA\u6709\u5173\u8BF7\u6C42\u5904\u7406\u7A0B\u5E8F\u5904\u7406\u54EA\u4E9B\u6CE8\u91CA\u7684\u4FE1\u606F
javac.opt.userpathsfirst=\u5728\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u4E4B\u524D\u800C\u4E0D\u662F\u4E4B\u540E\u641C\u7D22\u7C7B\u7684\u7C7B\u8DEF\u5F84\u548C\u6E90\u8DEF\u5F84
javac.opt.prefer=\u6307\u5B9A\u8BFB\u53D6\u6587\u4EF6, \u5F53\u540C\u65F6\u627E\u5230\u9690\u5F0F\u7F16\u8BD1\u7C7B\u7684\u6E90\u6587\u4EF6\u548C\u7C7B\u6587\u4EF6\u65F6
+javac.opt.preview=\u542F\u7528\u9884\u89C8\u8BED\u8A00\u529F\u80FD\u3002\u8981\u4E0E -source \u6216 --release \u4E00\u8D77\u4F7F\u7528\u3002
javac.opt.AT=\u4ECE\u6587\u4EF6\u8BFB\u53D6\u9009\u9879\u548C\u6587\u4EF6\u540D
javac.opt.diags=\u9009\u62E9\u8BCA\u65AD\u6A21\u5F0F
javac.opt.addExports=\u6307\u5B9A\u88AB\u89C6\u4E3A\u5DF2\u4ECE\u5176\u5B9A\u4E49\u6A21\u5757\u5BFC\u51FA\u5230\u5176\u4ED6\u6A21\u5757\u6216\u8005\u5BFC\u51FA\u5230\u6240\u6709\n \u672A\u547D\u540D\u6A21\u5757 (\u5982\u679C <other-module> \u4E3A ALL-UNNAMED) \u7684\u7A0B\u5E8F\u5305\u3002
@@ -191,38 +194,6 @@
javac.opt.inherit_runtime_environment=\u4ECE\u8FD0\u884C\u65F6\u73AF\u5883\u7EE7\u627F\u6A21\u5757\u7CFB\u7EDF\u914D\u7F6E\u9009\u9879\u3002
javac.opt.default.module.for.created.files=\u7531\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u521B\u5EFA\u7684\u6587\u4EF6\u7684\u5907\u7528\u76EE\u6807\u6A21\u5757 (\u5982\u679C\u672A\u6307\u5B9A\u6216\u63A8\u65AD\u4EFB\u4F55\u6A21\u5757)\u3002
-## errors
-
-javac.err.empty.A.argument=-A \u9700\u8981\u4E00\u4E2A\u53C2\u6570; \u4F7F\u7528 ''-Akey'' \u6216 ''-Akey=value''
-javac.err.invalid.arg=\u65E0\u6548\u7684\u53C2\u6570: {0}
-javac.err.invalid.A.key=\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u9009\u9879 ''{0}'' \u4E2D\u7684\u5173\u952E\u5B57\u4E0D\u662F\u4EE5\u70B9\u5206\u9694\u7684\u6807\u8BC6\u7B26\u5E8F\u5217
-javac.err.invalid.flag=\u65E0\u6548\u7684\u6807\u8BB0: {0}
-javac.err.profile.bootclasspath.conflict=\u6982\u8981\u4FE1\u606F\u548C\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u9009\u9879\u4E0D\u80FD\u540C\u65F6\u4F7F\u7528
-javac.err.invalid.profile=\u914D\u7F6E\u6587\u4EF6\u65E0\u6548: {0}
-javac.err.invalid.target=\u65E0\u6548\u7684\u76EE\u6807\u53D1\u884C\u7248: {0}
-javac.err.option.not.allowed.with.target=\u76EE\u6807 {1} \u4E0D\u5141\u8BB8\u9009\u9879 {0}
-javac.err.option.too.many=\u9009\u9879 {0} \u53EA\u80FD\u6307\u5B9A\u4E00\u6B21
-javac.err.no.source.files=\u65E0\u6E90\u6587\u4EF6
-javac.err.no.source.files.classes=\u65E0\u6E90\u6587\u4EF6\u6216\u7C7B\u540D
-javac.err.req.arg={0}\u9700\u8981\u53C2\u6570
-javac.err.invalid.source=\u65E0\u6548\u7684\u6E90\u53D1\u884C\u7248: {0}
-javac.err.error.writing.file=\u5199\u5165{0}\u65F6\u51FA\u9519; {1}
-javac.err.sourcepath.modulesourcepath.conflict=\u65E0\u6CD5\u540C\u65F6\u6307\u5B9A --source-path \u4E0E --module-source-path
-javac.warn.source.target.conflict=\u6E90\u53D1\u884C\u7248 {0} \u9700\u8981\u76EE\u6807\u53D1\u884C\u7248 {1}
-javac.warn.target.default.source.conflict=\u76EE\u6807\u53D1\u884C\u7248 {0} \u4E0E\u9ED8\u8BA4\u7684\u6E90\u53D1\u884C\u7248 {1} \u51B2\u7A81
-javac.warn.profile.target.conflict=\u914D\u7F6E\u6587\u4EF6{0}\u5BF9\u4E8E\u76EE\u6807\u53D1\u884C\u7248 {1} \u65E0\u6548
-javac.err.file.not.found=\u627E\u4E0D\u5230\u6587\u4EF6: {0}
-javac.err.file.not.directory=\u4E0D\u662F\u76EE\u5F55: {0}
-javac.err.file.not.file=\u4E0D\u662F\u6587\u4EF6: {0}
-javac.err.cannot.access.runtime.env=\u65E0\u6CD5\u8BBF\u95EE\u8FD0\u884C\u65F6\u73AF\u5883
-javac.err.two.class.loaders.1=javac \u5728\u591A\u4E2A\u7C7B\u52A0\u8F7D\u5668\u4E4B\u95F4\u62C6\u5206: \u8BF7\u68C0\u67E5\u914D\u7F6E
-javac.err.two.class.loaders.2=javac \u5728\u591A\u4E2A\u7C7B\u52A0\u8F7D\u5668\u4E4B\u95F4\u62C6\u5206:\n\u4E00\u4E2A\u7C7B\u6765\u81EA\u6587\u4EF6: {0}\n\u800C javac \u6765\u81EA {1}
-javac.err.bad.value.for.option={0} \u9009\u9879\u7684\u503C\u9519\u8BEF: ''{1}''
-javac.err.no.value.for.option={0} \u9009\u9879\u6CA1\u6709\u503C
-javac.err.repeated.value.for.patch.module=\u4E3A {0} \u591A\u6B21\u6307\u5B9A\u4E86 --patch-module
-
-javac.err.unmatched.quote=\u73AF\u5883\u53D8\u91CF %s \u4E2D\u7684\u5F15\u53F7\u4E0D\u6210\u5BF9
-
## messages
javac.msg.usage.header=\u7528\u6CD5: {0} <options> <source files>\n\u5176\u4E2D, \u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC:
@@ -243,7 +214,3 @@
javac.version={0} {1}
javac.fullVersion={0}\u5B8C\u6574\u7248\u672C "{1}"
-
-javac.err.release.bootclasspath.conflict=\u9009\u9879 {0} \u4E0D\u80FD\u4E0E --release \u4E00\u8D77\u4F7F\u7528
-
-javac.err.unsupported.release.version=\u4E0D\u652F\u6301\u53D1\u884C\u7248\u672C {0}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -0,0 +1,120 @@
+#
+# Copyright (c) 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# Messages in this file which use "placeholders" for values (e.g. {0}, {1})
+# are preceded by a stylized comment describing the type of the corresponding
+# values.
+# The simple types currently in use are:
+#
+# annotation annotation compound
+# boolean true or false
+# diagnostic a sub-message; see compiler.misc.*
+# fragment similar to 'message segment', but with more specific type
+# modifier a Java modifier; e.g. public, private, protected
+# file a file URL
+# file object a file URL - similar to 'file' but typically used for source/class files, hence more specific
+# flag a Flags.Flag instance
+# name a name, typically a Java identifier
+# number an integer
+# option name the name of a command line option
+# source version a source version number, such as 1.5, 1.6, 1.7
+# string a general string
+# symbol the name of a declared type
+# symbol kind the kind of a symbol (i.e. method, variable)
+# kind name an informative description of the kind of a declaration; see compiler.misc.kindname.*
+# token the name of a non-terminal in source code; see compiler.misc.token.*
+# type a Java type; e.g. int, X, X<T>
+# object a Java object (unspecified)
+# unused the value is not used in this message
+#
+# The following compound types are also used:
+#
+# collection of X a comma-separated collection of items; e.g. collection of type
+# list of X a comma-separated list of items; e.g. list of type
+# set of X a comma-separated set of items; e.g. set of modifier
+#
+# These may be composed:
+#
+# list of type or message segment
+#
+# The following type aliases are supported:
+#
+# message segment --> diagnostic or fragment
+# file name --> file, path or file object
+#
+# Custom comments are supported in parenthesis i.e.
+#
+# number (classfile major version)
+#
+# These comments are used internally in order to generate an enum-like class declaration containing
+# a method/field for each of the diagnostic keys listed here. Those methods/fields can then be used
+# by javac code to build diagnostics in a type-safe fashion.
+#
+# In addition, these comments are verified by the jtreg test test/tools/javac/diags/MessageInfo,
+# using info derived from the collected set of examples in test/tools/javac/diags/examples.
+# MessageInfo can also be run as a standalone utility providing more facilities
+# for manipulating this file. For more details, see MessageInfo.java.
+
+## All errors are preceded by this string.
+launcher.error=\u30A8\u30E9\u30FC:
+
+launcher.err.no.args=\u30D5\u30A1\u30A4\u30EB\u540D\u306A\u3057
+
+# 0: string
+launcher.err.invalid.filename=\u30D5\u30A1\u30A4\u30EB\u540D\u304C\u7121\u52B9\u3067\u3059: {0}
+
+# 0: path
+launcher.err.file.not.found=\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
+
+launcher.err.compilation.failed=\u30B3\u30F3\u30D1\u30A4\u30EB\u304C\u5931\u6557\u3057\u307E\u3057\u305F
+
+launcher.err.no.class=\u30D5\u30A1\u30A4\u30EB\u3067\u30AF\u30E9\u30B9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+
+launcher.err.main.not.public.static=''main'\u30E1\u30BD\u30C3\u30C9\u304C''public static''\u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+
+launcher.err.main.not.void=''main'\u30E1\u30BD\u30C3\u30C9\u304C\u623B\u308A\u578B''void''\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+
+# 0: string
+launcher.err.cant.find.class=\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
+
+# 0: string
+launcher.err.unexpected.class=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306B\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F: {0}
+
+# 0: string
+launcher.err.cant.find.main.method=\u30AF\u30E9\u30B9\u306Bmain(String[])\u30E1\u30BD\u30C3\u30C9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
+
+# 0: string
+launcher.err.cant.access.main.method=\u30AF\u30E9\u30B9\u306E\u30E1\u30A4\u30F3\u30FB\u30E1\u30BD\u30C3\u30C9\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093: {0}
+
+# 0: path, 1: object
+launcher.err.cant.read.file=\u30D5\u30A1\u30A4\u30EB{0}\u306E\u8AAD\u53D6\u308A\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {1}
+
+# 0: string
+launcher.err.no.value.for.option=\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {0}
+
+# 0: string
+launcher.err.invalid.value.for.source=--source\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5024\u304C\u7121\u52B9\u3067\u3059: {0}
+
+launcher.err.enable.preview.requires.source=--enable-preview\u306F--source\u3068\u3068\u3082\u306B\u4F7F\u7528\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -0,0 +1,120 @@
+#
+# Copyright (c) 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. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# Messages in this file which use "placeholders" for values (e.g. {0}, {1})
+# are preceded by a stylized comment describing the type of the corresponding
+# values.
+# The simple types currently in use are:
+#
+# annotation annotation compound
+# boolean true or false
+# diagnostic a sub-message; see compiler.misc.*
+# fragment similar to 'message segment', but with more specific type
+# modifier a Java modifier; e.g. public, private, protected
+# file a file URL
+# file object a file URL - similar to 'file' but typically used for source/class files, hence more specific
+# flag a Flags.Flag instance
+# name a name, typically a Java identifier
+# number an integer
+# option name the name of a command line option
+# source version a source version number, such as 1.5, 1.6, 1.7
+# string a general string
+# symbol the name of a declared type
+# symbol kind the kind of a symbol (i.e. method, variable)
+# kind name an informative description of the kind of a declaration; see compiler.misc.kindname.*
+# token the name of a non-terminal in source code; see compiler.misc.token.*
+# type a Java type; e.g. int, X, X<T>
+# object a Java object (unspecified)
+# unused the value is not used in this message
+#
+# The following compound types are also used:
+#
+# collection of X a comma-separated collection of items; e.g. collection of type
+# list of X a comma-separated list of items; e.g. list of type
+# set of X a comma-separated set of items; e.g. set of modifier
+#
+# These may be composed:
+#
+# list of type or message segment
+#
+# The following type aliases are supported:
+#
+# message segment --> diagnostic or fragment
+# file name --> file, path or file object
+#
+# Custom comments are supported in parenthesis i.e.
+#
+# number (classfile major version)
+#
+# These comments are used internally in order to generate an enum-like class declaration containing
+# a method/field for each of the diagnostic keys listed here. Those methods/fields can then be used
+# by javac code to build diagnostics in a type-safe fashion.
+#
+# In addition, these comments are verified by the jtreg test test/tools/javac/diags/MessageInfo,
+# using info derived from the collected set of examples in test/tools/javac/diags/examples.
+# MessageInfo can also be run as a standalone utility providing more facilities
+# for manipulating this file. For more details, see MessageInfo.java.
+
+## All errors are preceded by this string.
+launcher.error=\u9519\u8BEF:
+
+launcher.err.no.args=\u65E0\u6587\u4EF6\u540D
+
+# 0: string
+launcher.err.invalid.filename=\u65E0\u6548\u7684\u6587\u4EF6\u540D\uFF1A{0}
+
+# 0: path
+launcher.err.file.not.found=\u627E\u4E0D\u5230\u6587\u4EF6: {0}
+
+launcher.err.compilation.failed=\u7F16\u8BD1\u5931\u8D25
+
+launcher.err.no.class=\u5728\u6587\u4EF6\u4E2D\u672A\u58F0\u660E\u7C7B
+
+launcher.err.main.not.public.static=''main'' \u65B9\u6CD5\u672A\u58F0\u660E ''public static''
+
+launcher.err.main.not.void=\u672A\u4F7F\u7528\u8FD4\u56DE\u7C7B\u578B ''void'' \u58F0\u660E ''main'' \u65B9\u6CD5
+
+# 0: string
+launcher.err.cant.find.class=\u627E\u4E0D\u5230\u7C7B\uFF1A{0}
+
+# 0: string
+launcher.err.unexpected.class=\u5728\u5E94\u7528\u7A0B\u5E8F\u7C7B\u8DEF\u5F84 {0} \u4E2D\u627E\u5230\u7C7B
+
+# 0: string
+launcher.err.cant.find.main.method=\u5728\u7C7B {0} \u4E2D\u627E\u4E0D\u5230 main(String[]) \u65B9\u6CD5
+
+# 0: string
+launcher.err.cant.access.main.method=\u65E0\u6CD5\u8BBF\u95EE\u7C7B {0} \u4E2D\u7684 main \u65B9\u6CD5
+
+# 0: path, 1: object
+launcher.err.cant.read.file=\u8BFB\u53D6\u6587\u4EF6 {0} \u65F6\u51FA\u9519\uFF1A{1}
+
+# 0: string
+launcher.err.no.value.for.option=\u6CA1\u6709\u4E3A\u9009\u9879 {0} \u6307\u5B9A\u503C
+
+# 0: string
+launcher.err.invalid.value.for.source=--source \u9009\u9879\u7684\u503C\u65E0\u6548\uFF1A{0}\n
+
+launcher.err.enable.preview.requires.source=--enable-preview \u5FC5\u987B\u4E0E --source \u4E00\u8D77\u4F7F\u7528
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java Thu Jul 26 10:00:40 2018 -0700
@@ -507,6 +507,10 @@
if (len == 0) {
return;
}
+ // check for overflow
+ if (len + bytesProcessed < 0) {
+ throw new ProviderException("Processed bytes limits exceeded.");
+ }
switch (type) {
case T_UPDATE:
try {
--- a/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/RSASignature.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/RSASignature.java Thu Jul 26 10:00:40 2018 -0700
@@ -129,7 +129,7 @@
@Override
protected void engineUpdate(byte[] b, int off, int len)
throws SignatureException {
- if (offset + len > precomputedDigest.length) {
+ if (len > (precomputedDigest.length - offset)) {
offset = RAW_RSA_MAX + 1;
return;
}
@@ -144,7 +144,7 @@
if (len <= 0) {
return;
}
- if (offset + len > precomputedDigest.length) {
+ if (len > (precomputedDigest.length - offset)) {
offset = RAW_RSA_MAX + 1;
return;
}
@@ -363,17 +363,16 @@
@Override
protected AlgorithmParameters engineGetParameters() {
- if (this.pssParams == null) {
- throw new ProviderException("Missing required PSS parameters");
+ AlgorithmParameters ap = null;
+ if (this.pssParams != null) {
+ try {
+ ap = AlgorithmParameters.getInstance("RSASSA-PSS");
+ ap.init(this.pssParams);
+ } catch (GeneralSecurityException gse) {
+ throw new ProviderException(gse.getMessage());
+ }
}
- try {
- AlgorithmParameters ap =
- AlgorithmParameters.getInstance("RSASSA-PSS");
- ap.init(this.pssParams);
- return ap;
- } catch (GeneralSecurityException gse) {
- throw new ProviderException(gse.getMessage());
- }
+ return ap;
}
private void ensureInit() throws SignatureException {
--- a/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeRSASignature.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeRSASignature.java Thu Jul 26 10:00:40 2018 -0700
@@ -291,8 +291,9 @@
throws SignatureException {
boolean doCancel = true;
try {
- if (outbuf == null || (offset < 0) || (outbuf.length < (offset + sigLength))
- || (len < sigLength)) {
+ if (outbuf == null || (offset < 0) ||
+ ((outbuf.length - offset) < sigLength) ||
+ (len < sigLength)) {
throw new SignatureException("Invalid output buffer. offset: " +
offset + ". len: " + len + ". sigLength: " + sigLength);
}
@@ -357,8 +358,9 @@
throws SignatureException {
boolean doCancel = true;
try {
- if (sigBytes == null || (sigOfs < 0) || (sigBytes.length < (sigOfs + this.sigLength))
- || (sigLen != this.sigLength)) {
+ if (sigBytes == null || (sigOfs < 0) ||
+ ((sigBytes.length - sigOfs) < this.sigLength) ||
+ (sigLen != this.sigLength)) {
throw new SignatureException("Invalid signature length: got " +
sigLen + " but was expecting " + this.sigLength);
}
@@ -440,7 +442,7 @@
// returns 0 (success) or negative (ucrypto error occurred)
private int update(byte[] in, int inOfs, int inLen) {
- if (inOfs < 0 || inOfs + inLen > in.length) {
+ if (inOfs < 0 || inOfs > (in.length - inLen)) {
throw new ArrayIndexOutOfBoundsException("inOfs :" + inOfs +
". inLen: " + inLen + ". in.length: " + in.length);
}
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotReturnOp.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotReturnOp.java Thu Jul 26 10:00:40 2018 -0700
@@ -79,6 +79,7 @@
leaveFrameAndRestoreRbp(crb, masm);
if (!isStub) {
if (requiresReservedStackAccessCheck) {
+ assert scratchForSafepointOnReturn != null;
HotSpotForeignCallsProvider foreignCalls = (HotSpotForeignCallsProvider) crb.foreignCalls;
Label noReserved = new Label();
@@ -94,11 +95,11 @@
assert cc.getArgumentCount() == 1;
Register arg0 = ((RegisterValue) cc.getArgument(0)).getRegister();
masm.movq(arg0, thread);
- AMD64Call.directCall(crb, masm, enableStackReservedZone, null, false, null);
+ AMD64Call.directCall(crb, masm, enableStackReservedZone, scratchForSafepointOnReturn, false, null);
if (stackAdjust > 0) {
masm.addq(rsp, stackAdjust);
}
- AMD64Call.directJmp(crb, masm, foreignCalls.lookupForeignCall(THROW_DELAYED_STACKOVERFLOW_ERROR));
+ AMD64Call.directJmp(crb, masm, foreignCalls.lookupForeignCall(THROW_DELAYED_STACKOVERFLOW_ERROR), scratchForSafepointOnReturn);
masm.bind(noReserved);
}
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Call.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Call.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -24,12 +24,13 @@
package org.graalvm.compiler.lir.amd64;
+import static jdk.vm.ci.code.ValueUtil.asRegister;
+import static jdk.vm.ci.code.ValueUtil.isRegister;
+import static org.graalvm.compiler.core.common.GraalOptions.GeneratePIC;
import static org.graalvm.compiler.lir.LIRInstruction.OperandFlag.ILLEGAL;
import static org.graalvm.compiler.lir.LIRInstruction.OperandFlag.REG;
import static org.graalvm.compiler.lir.LIRInstruction.OperandFlag.STACK;
import static org.graalvm.compiler.lir.LIRValueUtil.differentRegisters;
-import static jdk.vm.ci.code.ValueUtil.asRegister;
-import static jdk.vm.ci.code.ValueUtil.isRegister;
import org.graalvm.compiler.asm.amd64.AMD64Assembler.ConditionFlag;
import org.graalvm.compiler.asm.amd64.AMD64MacroAssembler;
@@ -195,7 +196,7 @@
}
int before = masm.position();
int callPCOffset;
- if (scratch != null) {
+ if (scratch != null && !GeneratePIC.getValue(crb.getOptions())) {
// offset might not fit a 32-bit immediate, generate an
// indirect call with a 64-bit immediate
masm.movq(scratch, 0L);
@@ -222,12 +223,27 @@
}
}
- public static void directJmp(CompilationResultBuilder crb, AMD64MacroAssembler masm, InvokeTarget target) {
+ public static int directJmp(CompilationResultBuilder crb, AMD64MacroAssembler masm, InvokeTarget target) {
+ return directJmp(crb, masm, target, null);
+ }
+
+ public static int directJmp(CompilationResultBuilder crb, AMD64MacroAssembler masm, InvokeTarget target, Register scratch) {
int before = masm.position();
- masm.jmp(0, true);
+ int callPCOffset;
+ if (scratch != null && !GeneratePIC.getValue(crb.getOptions())) {
+ // offset might not fit a 32-bit immediate, generate an
+ // indirect call with a 64-bit immediate
+ masm.movq(scratch, 0L);
+ callPCOffset = masm.position();
+ masm.jmp(scratch);
+ } else {
+ callPCOffset = masm.position();
+ masm.jmp(0, true);
+ }
int after = masm.position();
crb.recordDirectCall(before, after, target, null);
masm.ensureUniquePC();
+ return callPCOffset;
}
public static void directConditionalJmp(CompilationResultBuilder crb, AMD64MacroAssembler masm, InvokeTarget target, ConditionFlag cond) {
--- a/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java Thu Jul 26 10:00:40 2018 -0700
@@ -116,8 +116,10 @@
"[-strict] \u8B66\u544A\u3092\u30A8\u30E9\u30FC\u3068\u3057\u3066\u51E6\u7406"},
{".conf.url.specify.a.pre.configured.options.file",
"[-conf <url>] \u4E8B\u524D\u69CB\u6210\u6E08\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u6307\u5B9A\u3059\u308B"},
+ {".print.this.help.message",
+ "[-? -h --help] \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059"},
{"Option.lacks.argument", "\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u5F15\u6570\u304C\u3042\u308A\u307E\u305B\u3093"},
- {"Please.type.jarsigner.help.for.usage", "\u4F7F\u7528\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306Fjarsigner -help\u3068\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},
+ {"Please.type.jarsigner.help.for.usage", "\u4F7F\u7528\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306Fjarsigner --help\u3068\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},
{"Please.specify.jarfile.name", "jarfile\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"},
{"Please.specify.alias.name", "\u5225\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"},
{"Only.one.alias.can.be.specified", "\u5225\u540D\u306F1\u3064\u306E\u307F\u6307\u5B9A\u3067\u304D\u307E\u3059"},
@@ -223,6 +225,7 @@
{"Error.", "\u30A8\u30E9\u30FC: "},
{"...Signer", ">>> \u7F72\u540D\u8005"},
{"...TSA", ">>> TSA"},
+ {"trusted.certificate", "\u4FE1\u983C\u3067\u304D\u308B\u8A3C\u660E\u66F8"},
{"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked.",
"\u3053\u306Ejar\u306B\u306F\u3001\u6574\u5408\u6027\u30C1\u30A7\u30C3\u30AF\u3092\u3057\u3066\u3044\u306A\u3044\u7F72\u540D\u306A\u3057\u306E\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 "},
{"This.jar.contains.entries.whose.signer.certificate.has.expired.",
@@ -239,8 +242,16 @@
"\u8A73\u7D30\u306F\u3001-verbose\u304A\u3088\u3073-certs\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
{"The.signer.certificate.has.expired.",
"\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u306F\u671F\u9650\u5207\u308C\u3067\u3059\u3002"},
+ {"The.timestamp.expired.1.but.usable.2",
+ "\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u306F%1$tY-%1$tm-%1$td\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308A\u307E\u3059\u3002\u305F\u3060\u3057\u3001JAR\u306F\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u304C%2$tY-%2$tm-%2$td\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308B\u307E\u3067\u6709\u52B9\u3067\u3059\u3002"},
+ {"The.timestamp.has.expired.",
+ "\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u306F\u671F\u9650\u5207\u308C\u306B\u306A\u308A\u307E\u3057\u305F\u3002"},
{"The.signer.certificate.will.expire.within.six.months.",
"\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u306F6\u304B\u6708\u4EE5\u5185\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308A\u307E\u3059\u3002"},
+ {"The.timestamp.will.expire.within.one.year.on.1",
+ "\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u306F1\u5E74\u4EE5\u5185\u306E%1$tY-%1$tm-%1$td\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308A\u307E\u3059\u3002"},
+ {"The.timestamp.will.expire.within.one.year.on.1.but.2",
+ "\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u306F1\u5E74\u4EE5\u5185\u306E%1$tY-%1$tm-%1$td\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308A\u307E\u3059\u3002\u305F\u3060\u3057\u3001JAR\u306F\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u304C%2$tY-%2$tm-%2$td\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308B\u307E\u3067\u6709\u52B9\u3067\u3059\u3002"},
{"The.signer.certificate.is.not.yet.valid.",
"\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u306F\u307E\u3060\u6709\u52B9\u306B\u306A\u3063\u3066\u3044\u307E\u305B\u3093\u3002"},
{"The.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",
@@ -273,10 +284,18 @@
"\u3053\u306Ejar\u306B\u306F\u3001TSA\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u304C\u7121\u52B9\u306A\u30A8\u30F3\u30C8\u30EA\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u7406\u7531: %s"},
{"no.timestamp.signing",
"-tsa\u307E\u305F\u306F-tsacert\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306Ejar\u306B\u306F\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u4ED8\u52A0\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u306A\u3044\u3068\u3001\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306E\u6709\u52B9\u671F\u9650(%1$tY-%1$tm-%1$td)\u5F8C\u306B\u3001\u30E6\u30FC\u30B6\u30FC\u306F\u3053\u306Ejar\u3092\u691C\u8A3C\u3067\u304D\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"},
+ {"invalid.timestamp.signing",
+ "\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u7121\u52B9\u3067\u3059\u3002\u6709\u52B9\u306A\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u306A\u3044\u3068\u3001\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306E\u6709\u52B9\u671F\u9650(%1$tY-%1$tm-%1$td)\u5F8C\u306B\u3001\u30E6\u30FC\u30B6\u30FC\u306F\u3053\u306Ejar\u3092\u691C\u8A3C\u3067\u304D\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"},
{"no.timestamp.verifying",
"\u3053\u306Ejar\u306B\u306F\u3001\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u306A\u3044\u7F72\u540D\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u306A\u3044\u3068\u3001\u3044\u305A\u308C\u304B\u306E\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306E\u6709\u52B9\u671F\u9650\u5F8C\u306B(\u65E9\u3051\u308C\u3070%1$tY-%1$tm-%1$td)\u30E6\u30FC\u30B6\u30FC\u306F\u3053\u306Ejar\u3092\u691C\u8A3C\u3067\u304D\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"},
{"bad.timestamp.verifying",
"\u3053\u306Ejar\u306B\u306F\u3001\u7121\u52B9\u306A\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u306E\u3042\u308B\u7F72\u540D\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u6709\u52B9\u306A\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C\u306A\u3044\u3068\u3001\u3044\u305A\u308C\u304B\u306E\u7F72\u540D\u8005\u8A3C\u660E\u66F8\u306E\u6709\u52B9\u671F\u9650\u5F8C\u306B(\u65E9\u3051\u308C\u3070%1$tY-%1$tm-%1$td)\u30E6\u30FC\u30B6\u30FC\u306F\u3053\u306Ejar\u3092\u691C\u8A3C\u3067\u304D\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\n\u8A73\u7D30\u306F\u3001-J-Djava.security.debug=jar\u3092\u6307\u5B9A\u3057\u3066jarsigner\u3092\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"},
+ {"The.signer.certificate.will.expire.on.1.",
+ "\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u306F%1$tY-%1$tm-%1$td\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308A\u307E\u3059\u3002"},
+ {"The.timestamp.will.expire.on.1.",
+ "\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u306F%1$tY-%1$tm-%1$td\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308A\u307E\u3059\u3002"},
+ {"signer.cert.expired.1.but.timestamp.good.2.",
+ "\u7F72\u540D\u8005\u306E\u8A3C\u660E\u66F8\u306F%1$tY-%1$tm-%1$td\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308A\u307E\u3059\u3002\u305F\u3060\u3057\u3001JAR\u306F\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u304C%2$tY-%2$tm-%2$td\u306B\u671F\u9650\u5207\u308C\u306B\u306A\u308B\u307E\u3067\u6709\u52B9\u3067\u3059\u3002"},
{"Unknown.password.type.", "\u4E0D\u660E\u306A\u30D1\u30B9\u30EF\u30FC\u30C9\u30FB\u30BF\u30A4\u30D7: "},
{"Cannot.find.environment.variable.",
"\u74B0\u5883\u5909\u6570\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: "},
--- a/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java Thu Jul 26 10:00:40 2018 -0700
@@ -116,8 +116,10 @@
"[-strict] \u5C06\u8B66\u544A\u89C6\u4E3A\u9519\u8BEF"},
{".conf.url.specify.a.pre.configured.options.file",
"[-conf <url>] \u6307\u5B9A\u9884\u914D\u7F6E\u7684\u9009\u9879\u6587\u4EF6"},
+ {".print.this.help.message",
+ "[-? -h --help] \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F"},
{"Option.lacks.argument", "\u9009\u9879\u7F3A\u5C11\u53C2\u6570"},
- {"Please.type.jarsigner.help.for.usage", "\u8BF7\u952E\u5165 jarsigner -help \u4EE5\u4E86\u89E3\u7528\u6CD5"},
+ {"Please.type.jarsigner.help.for.usage", "\u8BF7\u952E\u5165 jarsigner --help \u4EE5\u4E86\u89E3\u7528\u6CD5"},
{"Please.specify.jarfile.name", "\u8BF7\u6307\u5B9A jarfile \u540D\u79F0"},
{"Please.specify.alias.name", "\u8BF7\u6307\u5B9A\u522B\u540D"},
{"Only.one.alias.can.be.specified", "\u53EA\u80FD\u6307\u5B9A\u4E00\u4E2A\u522B\u540D"},
@@ -223,6 +225,7 @@
{"Error.", "\u9519\u8BEF: "},
{"...Signer", ">>> \u7B7E\u540D\u8005"},
{"...TSA", ">>> TSA"},
+ {"trusted.certificate", "\u53EF\u4FE1\u8BC1\u4E66"},
{"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked.",
"\u6B64 jar \u5305\u542B\u5C1A\u672A\u8FDB\u884C\u5B8C\u6574\u6027\u68C0\u67E5\u7684\u672A\u7B7E\u540D\u6761\u76EE\u3002 "},
{"This.jar.contains.entries.whose.signer.certificate.has.expired.",
@@ -239,8 +242,16 @@
"\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -verbose \u548C -certs \u9009\u9879\u91CD\u65B0\u8FD0\u884C\u3002"},
{"The.signer.certificate.has.expired.",
"\u7B7E\u540D\u8005\u8BC1\u4E66\u5DF2\u8FC7\u671F\u3002"},
+ {"The.timestamp.expired.1.but.usable.2",
+ "\u65F6\u95F4\u6233\u5230\u671F\u65E5\u671F\u4E3A %1$tY-%1$tm-%1$td\u3002\u4E0D\u8FC7\uFF0C\u5728\u7B7E\u540D\u8005\u8BC1\u4E66\u4E8E %2$tY-%2$tm-%2$td \u5230\u671F\u4E4B\u524D\uFF0CJAR \u5C06\u6709\u6548\u3002"},
+ {"The.timestamp.has.expired.",
+ "\u65F6\u95F4\u6233\u5DF2\u5230\u671F\u3002"},
{"The.signer.certificate.will.expire.within.six.months.",
"\u7B7E\u540D\u8005\u8BC1\u4E66\u5C06\u5728\u516D\u4E2A\u6708\u5185\u8FC7\u671F\u3002"},
+ {"The.timestamp.will.expire.within.one.year.on.1",
+ "\u65F6\u95F4\u6233\u5C06\u5728\u4E00\u5E74\u5185\u4E8E %1$tY-%1$tm-%1$td \u5230\u671F\u3002"},
+ {"The.timestamp.will.expire.within.one.year.on.1.but.2",
+ "\u65F6\u95F4\u6233\u5C06\u5728\u4E00\u5E74\u5185\u4E8E %1$tY-%1$tm-%1$td \u5230\u671F\u3002\u4E0D\u8FC7\uFF0C\u5728\u7B7E\u540D\u8005\u8BC1\u4E66\u4E8E %2$tY-%2$tm-%2$td \u5230\u671F\u4E4B\u524D\uFF0CJAR \u5C06\u6709\u6548\u3002"},
{"The.signer.certificate.is.not.yet.valid.",
"\u7B7E\u540D\u8005\u8BC1\u4E66\u4ECD\u65E0\u6548\u3002"},
{"The.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",
@@ -273,10 +284,18 @@
"\u6B64 jar \u5305\u542B\u5176 TSA \u8BC1\u4E66\u94FE\u65E0\u6548\u7684\u6761\u76EE\u3002\u539F\u56E0: %s"},
{"no.timestamp.signing",
"\u672A\u63D0\u4F9B -tsa \u6216 -tsacert, \u6B64 jar \u6CA1\u6709\u65F6\u95F4\u6233\u3002\u5982\u679C\u6CA1\u6709\u65F6\u95F4\u6233, \u5219\u5728\u7B7E\u540D\u8005\u8BC1\u4E66\u7684\u5230\u671F\u65E5\u671F (%1$tY-%1$tm-%1$td) \u4E4B\u540E, \u7528\u6237\u53EF\u80FD\u65E0\u6CD5\u9A8C\u8BC1\u6B64 jar\u3002"},
+ {"invalid.timestamp.signing",
+ "\u65F6\u95F4\u6233\u65E0\u6548\u3002\u5982\u679C\u6CA1\u6709\u6709\u6548\u7684\u65F6\u95F4\u6233\uFF0C\u5219\u5728\u7B7E\u540D\u8005\u8BC1\u4E66\u7684\u5230\u671F\u65E5\u671F (%1$tY-%1$tm-%1$td) \u4E4B\u540E\uFF0C\u7528\u6237\u53EF\u80FD\u65E0\u6CD5\u9A8C\u8BC1\u6B64 jar\u3002"},
{"no.timestamp.verifying",
"\u6B64 jar \u5305\u542B\u7684\u7B7E\u540D\u6CA1\u6709\u65F6\u95F4\u6233\u3002\u5982\u679C\u6CA1\u6709\u65F6\u95F4\u6233, \u5219\u5728\u5176\u4E2D\u4EFB\u4E00\u7B7E\u540D\u8005\u8BC1\u4E66\u5230\u671F (\u6700\u65E9\u4E3A %1$tY-%1$tm-%1$td) \u4E4B\u540E, \u7528\u6237\u53EF\u80FD\u65E0\u6CD5\u9A8C\u8BC1\u6B64 jar\u3002"},
{"bad.timestamp.verifying",
"\u6B64 jar \u5305\u542B\u5E26\u6709\u65E0\u6548\u65F6\u95F4\u6233\u7684\u7B7E\u540D\u3002\u5982\u679C\u6CA1\u6709\u6709\u6548\u65F6\u95F4\u6233, \u5219\u5728\u5176\u4E2D\u4EFB\u4E00\u7B7E\u540D\u8005\u8BC1\u4E66\u5230\u671F (\u6700\u65E9\u4E3A %1$tY-%1$tm-%1$td) \u4E4B\u540E, \u7528\u6237\u53EF\u80FD\u65E0\u6CD5\u9A8C\u8BC1\u6B64 jar\u3002\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u4F7F\u7528 -J-Djava.security.debug=jar \u91CD\u65B0\u8FD0\u884C jarsigner\u3002"},
+ {"The.signer.certificate.will.expire.on.1.",
+ "\u7B7E\u540D\u8005\u8BC1\u4E66\u5C06\u4E8E %1$tY-%1$tm-%1$td \u5230\u671F\u3002"},
+ {"The.timestamp.will.expire.on.1.",
+ "\u65F6\u95F4\u6233\u5C06\u4E8E %1$tY-%1$tm-%1$td \u5230\u671F\u3002"},
+ {"signer.cert.expired.1.but.timestamp.good.2.",
+ "\u7B7E\u540D\u8005\u8BC1\u4E66\u5230\u671F\u65E5\u671F\u4E3A %1$tY-%1$tm-%1$td\u3002\u4E0D\u8FC7\uFF0C\u5728\u65F6\u95F4\u6233\u4E8E %2$tY-%2$tm-%2$td \u5230\u671F\u4E4B\u524D\uFF0CJAR \u5C06\u6709\u6548\u3002"},
{"Unknown.password.type.", "\u672A\u77E5\u53E3\u4EE4\u7C7B\u578B: "},
{"Cannot.find.environment.variable.",
"\u627E\u4E0D\u5230\u73AF\u5883\u53D8\u91CF: "},
--- a/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 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
@@ -75,6 +75,7 @@
warn.validator.resources.with.same.name=\u8B66\u544A : \u30A8\u30F3\u30C8\u30EA{0}\u3001\u540C\u3058\u540D\u524D\u3092\u6301\u3064\u8907\u6570\u306E\u30EA\u30BD\u30FC\u30B9
warn.validator.concealed.public.class=\u8B66\u544A : \u30A8\u30F3\u30C8\u30EA{0}\u306F\u3001\u96A0\u3057\u30D1\u30C3\u30B1\u30FC\u30B8\u5185\u306Epublic\u30AF\u30E9\u30B9\u3067\u3059\u3002\n\u30AF\u30E9\u30B9\u30D1\u30B9\u306B\u3053\u306Ejar\u3092\u914D\u7F6E\u3059\u308B\u3068\u3001\u4E92\u63DB\u6027\u306E\u306A\u3044\npublic\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304C\u751F\u6210\u3055\u308C\u307E\u3059
warn.release.unexpected.versioned.entry=\u4E88\u671F\u3057\u306A\u3044\u30D0\u30FC\u30B8\u30E7\u30CB\u30F3\u30B0\u6E08\u30A8\u30F3\u30C8\u30EA{0}
+warn.flag.is.deprecated=\u8B66\u544A: {0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u63A8\u5968\u3067\u3042\u308A\u3001\u4ECA\u5F8C\u306EJDK\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u4E88\u5B9A\u3067\u3059\u3002\n
out.added.manifest=\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F
out.added.module-info=module-info\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F: {0}
out.automodule=\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30C7\u30A3\u30B9\u30AF\u30EA\u30D7\u30BF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u81EA\u52D5\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u5C0E\u51FA\u3055\u308C\u307E\u3057\u305F\u3002
@@ -89,7 +90,7 @@
out.inflated=\ {0}\u304C\u5C55\u958B\u3055\u308C\u307E\u3057\u305F
out.size=(\u5165={0})(\u51FA={1})
-usage.compat=\u4E92\u63DB\u6027\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9:\n\u4F7F\u7528\u65B9\u6CD5: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files] ...\n\u30AA\u30D7\u30B7\u30E7\u30F3:\n -c \u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u65B0\u898F\u4F5C\u6210\u3059\u308B\n -t \u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u5185\u5BB9\u3092\u4E00\u89A7\u8868\u793A\u3059\u308B\n -x \u6307\u5B9A\u306E(\u307E\u305F\u306F\u3059\u3079\u3066\u306E)\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u304B\u3089\u62BD\u51FA\u3059\u308B\n -u \u65E2\u5B58\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u66F4\u65B0\u3059\u308B\n -v \u6A19\u6E96\u51FA\u529B\u306B\u8A73\u7D30\u306A\u51FA\u529B\u3092\u751F\u6210\u3059\u308B\n -f \u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3059\u308B\n -m \u6307\u5B9A\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u60C5\u5831\u3092\u53D6\u308A\u8FBC\u3080\n -n \u65B0\u898F\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u4F5C\u6210\u5F8C\u306BPack200\u6B63\u898F\u5316\u3092\u5B9F\u884C\u3059\u308B\n -e \u5B9F\u884C\u53EF\u80FDjar\u30D5\u30A1\u30A4\u30EB\u306B\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\n \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8\u3092\u6307\u5B9A\u3059\u308B\n -0 \u683C\u7D0D\u306E\u307F\u3002ZIP\u5727\u7E2E\u3092\u4F7F\u7528\u3057\u306A\u3044\n -P \u30D5\u30A1\u30A4\u30EB\u540D\u306E\u5148\u982D\u306E'/' (\u7D76\u5BFE\u30D1\u30B9)\u304A\u3088\u3073\\"..\\" (\u89AA\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA)\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u4FDD\u6301\u3059\u308B\n -M \u30A8\u30F3\u30C8\u30EA\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u306A\u3044\n -i \u6307\u5B9A\u306Ejar\u30D5\u30A1\u30A4\u30EB\u306E\u7D22\u5F15\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\n -C \u6307\u5B9A\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u5909\u66F4\u3057\u3001\u6B21\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u308A\u8FBC\u3080\n\u30D5\u30A1\u30A4\u30EB\u304C\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u5834\u5408\u306F\u518D\u5E30\u7684\u306B\u51E6\u7406\u3055\u308C\u307E\u3059\u3002\n\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3001\u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u304A\u3088\u3073\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8\u540D\u306F\u3001\n\u30D5\u30E9\u30B0'm'\u3001'f'\u3001'e'\u306E\u6307\u5B9A\u3068\u540C\u3058\u9806\u756A\u3067\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\n\u4F8B1: 2\u3064\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6classes.jar\u306B\u4FDD\u5B58\u3059\u308B: \n jar cvf classes.jar Foo.class Bar.class \n\u4F8B2: \u65E2\u5B58\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB'mymanifest'\u3092\u4F7F\u7528\u3057\u3001foo/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\n \u5168\u30D5\u30A1\u30A4\u30EB\u3092'classes.jar'\u306B\u30A2\u30FC\u30AB\u30A4\u30D6\u3059\u308B: \n jar cvfm classes.jar mymanifest -C foo/ .\n
+usage.compat=\u4E92\u63DB\u6027\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9:\n\u4F7F\u7528\u65B9\u6CD5: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files] ...\n\u30AA\u30D7\u30B7\u30E7\u30F3:\n -c \u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u65B0\u898F\u4F5C\u6210\u3059\u308B\n -t \u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u5185\u5BB9\u3092\u4E00\u89A7\u8868\u793A\u3059\u308B\n -x \u6307\u5B9A\u306E(\u307E\u305F\u306F\u3059\u3079\u3066\u306E)\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u304B\u3089\u62BD\u51FA\u3059\u308B\n -u \u65E2\u5B58\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u66F4\u65B0\u3059\u308B\n -v \u6A19\u6E96\u51FA\u529B\u306B\u8A73\u7D30\u306A\u51FA\u529B\u3092\u751F\u6210\u3059\u308B\n -f \u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3059\u308B\n -m \u6307\u5B9A\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u60C5\u5831\u3092\u53D6\u308A\u8FBC\u3080\n -n \u65B0\u898F\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u4F5C\u6210\u5F8C\u306BPack200\u6B63\u898F\u5316\u3092\u5B9F\u884C\u3059\u308B\n \u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u63A8\u5968\u3067\u3042\u308A\u3001\u4ECA\u5F8C\u306EJDK\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u4E88\u5B9A\u3067\u3059\n -e \u5B9F\u884C\u53EF\u80FDjar\u30D5\u30A1\u30A4\u30EB\u306B\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB \n \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8\u3092\u6307\u5B9A\u3059\u308B\n -0 \u683C\u7D0D\u306E\u307F\u3002ZIP\u5727\u7E2E\u3092\u4F7F\u7528\u3057\u306A\u3044\n -P \u30D5\u30A1\u30A4\u30EB\u540D\u306E\u5148\u982D\u306E'/' (\u7D76\u5BFE\u30D1\u30B9)\u304A\u3088\u3073\\"..\\" (\u89AA\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA)\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u4FDD\u6301\u3059\u308B\n -M \u30A8\u30F3\u30C8\u30EA\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u306A\u3044\n -i \u6307\u5B9A\u306Ejar\u30D5\u30A1\u30A4\u30EB\u306E\u7D22\u5F15\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\n -C \u6307\u5B9A\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u5909\u66F4\u3057\u3001\u6B21\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u308A\u8FBC\u3080\n\u30D5\u30A1\u30A4\u30EB\u304C\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u5834\u5408\u306F\u518D\u5E30\u7684\u306B\u51E6\u7406\u3055\u308C\u307E\u3059\u3002\n\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3001\u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u304A\u3088\u3073\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8\u540D\u306F\u3001\n\u30D5\u30E9\u30B0'm'\u3001'f'\u3001'e'\u306E\u6307\u5B9A\u3068\u540C\u3058\u9806\u756A\u3067\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\n\u4F8B1: 2\u3064\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6classes.jar\u306B\u4FDD\u5B58\u3059\u308B: \n jar cvf classes.jar Foo.class Bar.class \n\u4F8B2: \u65E2\u5B58\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB'mymanifest'\u3092\u4F7F\u7528\u3057\u3001foo/\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\n \u5168\u30D5\u30A1\u30A4\u30EB\u3092'classes.jar'\u306B\u30A2\u30FC\u30AB\u30A4\u30D6\u3059\u308B: \n jar cvfm classes.jar mymanifest -C foo/ .\n
main.usage.summary=\u4F7F\u7528\u65B9\u6CD5: jar [OPTION...] [ [--release VERSION] [-C dir] files] ...
main.usage.summary.try=\u8A73\u7D30\u306F\u3001`jar --help'\u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002
@@ -106,7 +107,7 @@
main.help.opt.any.file=\ -f\u3001--file=FILE \u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u540D\u3002\u7701\u7565\u3057\u305F\u5834\u5408\u3001stdin\u307E\u305F\u306F\n stdout\u306E\u3044\u305A\u308C\u304B\u304C\u64CD\u4F5C\u306B\u57FA\u3065\u3044\u3066\u4F7F\u7528\u3055\u308C\u307E\u3059\n --release VERSION \u6B21\u306E\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB\u3092jar\u306E\u30D0\u30FC\u30B8\u30E7\u30CB\u30F3\u30B0\u3055\u308C\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n (\u3064\u307E\u308A\u3001META-INF/versions/VERSION/)\u306B\u914D\u7F6E\u3057\u307E\u3059
main.help.opt.any.verbose=\ -v\u3001--verbose \u6A19\u6E96\u51FA\u529B\u306B\u8A73\u7D30\u306A\u51FA\u529B\u3092\u751F\u6210\u3057\u307E\u3059
main.help.opt.create=\ \u4F5C\u6210\u30E2\u30FC\u30C9\u3067\u306E\u307F\u6709\u52B9\u306A\u64CD\u4F5C\u4FEE\u98FE\u5B50:\n
-main.help.opt.create.normalize=\ -n\u3001--normalize \u65B0\u3057\u3044jar\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u4F5C\u6210\u5F8C\u3001\u542B\u307E\u308C\u308B\u60C5\u5831\u3092\n \u6B63\u898F\u5316\u3057\u307E\u3059
+main.help.opt.create.normalize=\ -n, --normalize \u65B0\u3057\u3044jar\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u4F5C\u6210\u5F8C\u3001\u542B\u307E\u308C\u308B\u60C5\u5831\u3092\n \u6B63\u898F\u5316\u3057\u307E\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u63A8\u5968\u3067\u3042\u308A\u3001\n \u4ECA\u5F8C\u306EJDK\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u4E88\u5B9A\u3067\u3059
main.help.opt.create.update=\ \u4F5C\u6210\u307E\u305F\u306F\u66F4\u65B0\u30E2\u30FC\u30C9\u3067\u306E\u307F\u6709\u52B9\u306A\u64CD\u4F5C\u4FEE\u98FE\u5B50:\n
main.help.opt.create.update.main-class=\ -e\u3001--main-class=CLASSNAME \u30E2\u30B8\u30E5\u30E9\u307E\u305F\u306F\u5B9F\u884C\u53EF\u80FD\u306Ajar\u30A2\u30FC\u30AB\u30A4\u30D6\u306B\n \u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30FB\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\n \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30A8\u30F3\u30C8\u30EA\u30FB\u30DD\u30A4\u30F3\u30C8
main.help.opt.create.update.manifest=\ -m\u3001--manifest=FILE \u6307\u5B9A\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30FB\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u60C5\u5831\u3092\n \u53D6\u308A\u8FBC\u307F\u307E\u3059
@@ -119,7 +120,7 @@
main.help.opt.create.update.index=\ \u4F5C\u6210\u3001\u66F4\u65B0\u304A\u3088\u3073\u7D22\u5F15\u751F\u6210\u30E2\u30FC\u30C9\u3067\u306E\u307F\u6709\u52B9\u306A\u64CD\u4F5C\u4FEE\u98FE\u5B50:\n
main.help.opt.create.update.index.no-compress=\ -0, --no-compress \u683C\u7D0D\u306E\u307F\u3002ZIP\u5727\u7E2E\u3092\u4F7F\u7528\u3057\u307E\u305B\u3093
main.help.opt.other=\ \u305D\u306E\u4ED6\u306E\u30AA\u30D7\u30B7\u30E7\u30F3:\n
-main.help.opt.other.help=\ -h\u3001--help[:compat] \u3053\u308C(\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u4E92\u63DB\u6027)\u3092help\u306B\u6307\u5B9A\u3057\u307E\u3059
+main.help.opt.other.help=\ -?\u3001-h\u3001--help[:compat] \u3053\u308C(\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u4E92\u63DB\u6027)\u3092help\u306B\u6307\u5B9A\u3057\u307E\u3059
main.help.opt.other.help-extra=\ --help-extra \u8FFD\u52A0\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30D8\u30EB\u30D7\u3092\u63D0\u4F9B\u3057\u307E\u3059
main.help.opt.other.version=\ --version \u30D7\u30ED\u30B0\u30E9\u30E0\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u307E\u3059
main.help.postopt=\ \u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30C7\u30A3\u30B9\u30AF\u30EA\u30D7\u30BF'module-info.class'\u304C\u6307\u5B9A\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30EB\u30FC\u30C8\u307E\u305F\u306F\n jar\u30A2\u30FC\u30AB\u30A4\u30D6\u81EA\u4F53\u306E\u30EB\u30FC\u30C8\u306B\u3042\u308B\u5834\u5408\u3001\u30A2\u30FC\u30AB\u30A4\u30D6\u306F\u30E2\u30B8\u30E5\u30E9jar\u3067\u3059\u3002\n \u6B21\u306E\u64CD\u4F5C\u306F\u3001\u30E2\u30B8\u30E5\u30E9jar\u306E\u4F5C\u6210\u6642\u307E\u305F\u306F\u65E2\u5B58\u306E\u975E\u30E2\u30B8\u30E5\u30E9jar\u306E\u66F4\u65B0\u6642\u306B\n \u306E\u307F\u6709\u52B9\u3067\u3059: '--module-version'\u3001\n '--hash-modules'\u304A\u3088\u3073'--module-path'\u3002\n\n \u30ED\u30F3\u30B0\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3078\u306E\u5FC5\u9808\u307E\u305F\u306F\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5F15\u6570\u306F\u3001\u5BFE\u5FDC\u3059\u308B\u30B7\u30E7\u30FC\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\n \u306B\u5BFE\u3057\u3066\u3082\u5FC5\u9808\u307E\u305F\u306F\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306A\u308A\u307E\u3059\u3002
--- a/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 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
@@ -75,6 +75,7 @@
warn.validator.resources.with.same.name=\u8B66\u544A: \u6761\u76EE {0}, \u591A\u4E2A\u8D44\u6E90\u5177\u6709\u76F8\u540C\u540D\u79F0
warn.validator.concealed.public.class=\u8B66\u544A: \u6761\u76EE {0} \u662F\u5DF2\u9690\u85CF\u7A0B\u5E8F\u5305\u4E2D\u7684\n\u516C\u5171\u7C7B, \u5C06\u6B64 jar \u653E\u7F6E\u5728\u7C7B\u8DEF\u5F84\u4E2D\n\u5C06\u5BFC\u81F4\u516C\u5171\u63A5\u53E3\u4E0D\u517C\u5BB9
warn.release.unexpected.versioned.entry=\u610F\u5916\u7684\u7248\u672C\u5316\u6761\u76EE {0}
+warn.flag.is.deprecated=\u8B66\u544A\uFF1A{0} \u9009\u9879\u5DF2\u8FC7\u65F6\uFF0C\u8BA1\u5212\u5728\u672A\u6765\u7684 JDK \u53D1\u884C\u7248\u4E2D\u5220\u9664\u3002\n
out.added.manifest=\u5DF2\u6DFB\u52A0\u6E05\u5355
out.added.module-info=\u5DF2\u6DFB\u52A0 module-info: {0}
out.automodule=\u627E\u4E0D\u5230\u6A21\u5757\u63CF\u8FF0\u7B26\u3002\u5DF2\u6D3E\u751F\u81EA\u52A8\u6A21\u5757\u3002
@@ -89,7 +90,7 @@
out.inflated=\ \u5DF2\u89E3\u538B: {0}
out.size=(\u8F93\u5165 = {0}) (\u8F93\u51FA = {1})
-usage.compat=\u517C\u5BB9\u6027\u63A5\u53E3:\n\u7528\u6CD5: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files] ...\n\u9009\u9879:\n -c \u521B\u5EFA\u65B0\u6863\u6848\n -t \u5217\u51FA\u6863\u6848\u76EE\u5F55\n -x \u4ECE\u6863\u6848\u4E2D\u63D0\u53D6\u6307\u5B9A\u7684 (\u6216\u6240\u6709) \u6587\u4EF6\n -u \u66F4\u65B0\u73B0\u6709\u6863\u6848\n -v \u5728\u6807\u51C6\u8F93\u51FA\u4E2D\u751F\u6210\u8BE6\u7EC6\u8F93\u51FA\n -f \u6307\u5B9A\u6863\u6848\u6587\u4EF6\u540D\n -m \u5305\u542B\u6307\u5B9A\u6E05\u5355\u6587\u4EF6\u4E2D\u7684\u6E05\u5355\u4FE1\u606F\n -n \u521B\u5EFA\u65B0\u6863\u6848\u540E\u6267\u884C Pack200 \u89C4\u8303\u5316\n -e \u4E3A\u6346\u7ED1\u5230\u53EF\u6267\u884C jar \u6587\u4EF6\u7684\u72EC\u7ACB\u5E94\u7528\u7A0B\u5E8F\n \u6307\u5B9A\u5E94\u7528\u7A0B\u5E8F\u5165\u53E3\u70B9\n -0 \u4EC5\u5B58\u50A8; \u4E0D\u4F7F\u7528 ZIP \u538B\u7F29\n -P \u4FDD\u7559\u6587\u4EF6\u540D\u4E2D\u7684\u524D\u5BFC '/' (\u7EDD\u5BF9\u8DEF\u5F84) \u548C ".." (\u7236\u76EE\u5F55) \u7EC4\u4EF6\n -M \u4E0D\u521B\u5EFA\u6761\u76EE\u7684\u6E05\u5355\u6587\u4EF6\n -i \u4E3A\u6307\u5B9A\u7684 jar \u6587\u4EF6\u751F\u6210\u7D22\u5F15\u4FE1\u606F\n -C \u66F4\u6539\u4E3A\u6307\u5B9A\u7684\u76EE\u5F55\u5E76\u5305\u542B\u4EE5\u4E0B\u6587\u4EF6\n\u5982\u679C\u4EFB\u4F55\u6587\u4EF6\u4E3A\u76EE\u5F55, \u5219\u5BF9\u5176\u8FDB\u884C\u9012\u5F52\u5904\u7406\u3002\n\u6E05\u5355\u6587\u4EF6\u540D, \u6863\u6848\u6587\u4EF6\u540D\u548C\u5165\u53E3\u70B9\u540D\u79F0\u7684\u6307\u5B9A\u987A\u5E8F\n\u4E0E 'm', 'f' \u548C 'e' \u6807\u8BB0\u7684\u6307\u5B9A\u987A\u5E8F\u76F8\u540C\u3002\n\n\u793A\u4F8B 1: \u5C06\u4E24\u4E2A\u7C7B\u6587\u4EF6\u5F52\u6863\u5230\u4E00\u4E2A\u540D\u4E3A classes.jar \u7684\u6863\u6848\u4E2D: \n jar cvf classes.jar Foo.class Bar.class \n\u793A\u4F8B 2: \u4F7F\u7528\u73B0\u6709\u7684\u6E05\u5355\u6587\u4EF6 'mymanifest' \u5E76\n \u5C06 foo/ \u76EE\u5F55\u4E2D\u7684\u6240\u6709\u6587\u4EF6\u5F52\u6863\u5230 'classes.jar' \u4E2D: \n jar cvfm classes.jar mymanifest -C foo/ .\n
+usage.compat=\u517C\u5BB9\u6027\u63A5\u53E3\uFF1A\n\u7528\u6CD5\uFF1Ajar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files] ...\n\u9009\u9879\uFF1A\n -c \u521B\u5EFA\u65B0\u6863\u6848\n -t \u5217\u51FA\u6863\u6848\u76EE\u5F55\n -x \u4ECE\u6863\u6848\u4E2D\u63D0\u53D6\u6307\u5B9A\u7684\uFF08\u6216\u6240\u6709\uFF09\u6587\u4EF6\n -u \u66F4\u65B0\u73B0\u6709\u6863\u6848\n -v \u5728\u6807\u51C6\u8F93\u51FA\u4E2D\u751F\u6210\u8BE6\u7EC6\u8F93\u51FA\n -f \u6307\u5B9A\u6863\u6848\u6587\u4EF6\u540D\n -m \u5305\u542B\u6307\u5B9A\u6E05\u5355\u6587\u4EF6\u4E2D\u7684\u6E05\u5355\u4FE1\u606F\n -n \u521B\u5EFA\u65B0\u6863\u6848\u540E\u6267\u884C Pack200 \u89C4\u8303\u5316\uFF0C\n \u6B64\u9009\u9879\u5DF2\u8FC7\u65F6\uFF0C\u8BA1\u5212\u5728\u672A\u6765\u7684 JDK \u53D1\u884C\u7248\u4E2D\u5220\u9664\n -e \u4E3A\u6346\u7ED1\u5230\u53EF\u6267\u884C jar \u6587\u4EF6\u7684\u72EC\u7ACB\u5E94\u7528\u7A0B\u5E8F\n \u6307\u5B9A\u5E94\u7528\u7A0B\u5E8F\u5165\u53E3\u70B9\n -0 \u4EC5\u5B58\u50A8\uFF1B\u4E0D\u4F7F\u7528 ZIP \u538B\u7F29\n -P \u4FDD\u7559\u6587\u4EF6\u540D\u4E2D\u7684\u524D\u5BFC '/'\uFF08\u7EDD\u5BF9\u8DEF\u5F84\uFF09\u548C ".."\uFF08\u7236\u76EE\u5F55\uFF09\u7EC4\u4EF6\n -M \u4E0D\u521B\u5EFA\u6761\u76EE\u7684\u6E05\u5355\u6587\u4EF6\n -i \u4E3A\u6307\u5B9A\u7684 jar \u6587\u4EF6\u751F\u6210\u7D22\u5F15\u4FE1\u606F\n -C \u66F4\u6539\u4E3A\u6307\u5B9A\u7684\u76EE\u5F55\u5E76\u5305\u542B\u4EE5\u4E0B\u6587\u4EF6\n\u5982\u679C\u4EFB\u4F55\u6587\u4EF6\u4E3A\u76EE\u5F55\uFF0C\u5219\u5BF9\u5176\u8FDB\u884C\u9012\u5F52\u5904\u7406\u3002\n\u6E05\u5355\u6587\u4EF6\u540D\u3001\u6863\u6848\u6587\u4EF6\u540D\u548C\u5165\u53E3\u70B9\u540D\u79F0\u7684\u6307\u5B9A\u987A\u5E8F\n\u4E0E 'm'\u3001'f' \u548C 'e' \u6807\u8BB0\u7684\u6307\u5B9A\u987A\u5E8F\u76F8\u540C\u3002\n\n\u793A\u4F8B 1\uFF1A\u5C06\u4E24\u4E2A\u7C7B\u6587\u4EF6\u5F52\u6863\u5230\u4E00\u4E2A\u540D\u4E3A classes.jar \u7684\u6863\u6848\u4E2D\uFF1A\n jar cvf classes.jar Foo.class Bar.class \n\u793A\u4F8B 2\uFF1A\u4F7F\u7528\u73B0\u6709\u7684\u6E05\u5355\u6587\u4EF6 'mymanifest' \u5E76\n \u5C06 foo/ \u76EE\u5F55\u4E2D\u7684\u6240\u6709\u6587\u4EF6\u5F52\u6863\u5230 'classes.jar' \u4E2D\uFF1A\n jar cvfm classes.jar mymanifest -C foo/ .\n
main.usage.summary=\u7528\u6CD5: jar [OPTION...] [ [--release VERSION] [-C dir] files] ...
main.usage.summary.try=\u5C1D\u8BD5\u4F7F\u7528 `jar --help' \u83B7\u53D6\u8BE6\u7EC6\u4FE1\u606F\u3002
@@ -106,7 +107,7 @@
main.help.opt.any.file=\ -f, --file=FILE \u6863\u6848\u6587\u4EF6\u540D\u3002\u7701\u7565\u65F6, \u57FA\u4E8E\u64CD\u4F5C\n \u4F7F\u7528 stdin \u6216 stdout\n --release VERSION \u5C06\u4E0B\u9762\u7684\u6240\u6709\u6587\u4EF6\u90FD\u653E\u5728\n jar \u7684\u7248\u672C\u5316\u76EE\u5F55\u4E2D (\u5373 META-INF/versions/VERSION/)
main.help.opt.any.verbose=\ -v, --verbose \u5728\u6807\u51C6\u8F93\u51FA\u4E2D\u751F\u6210\u8BE6\u7EC6\u8F93\u51FA
main.help.opt.create=\ \u4EC5\u5728\u521B\u5EFA\u6A21\u5F0F\u4E0B\u6709\u6548\u7684\u64CD\u4F5C\u4FEE\u9970\u7B26:\n
-main.help.opt.create.normalize=\ -n, --normalize \u521B\u5EFA\u540E\u5728\u65B0\u7684 jar \u6863\u6848\u4E2D\n \u89C4\u8303\u5316\u4FE1\u606F
+main.help.opt.create.normalize=\ -n, --normalize \u521B\u5EFA\u540E\u5728\u65B0\u7684 jar \u6863\u6848\u4E2D\n \u89C4\u8303\u5316\u4FE1\u606F\u3002\u6B64\u9009\u9879\u5DF2\u8FC7\u65F6\uFF0C\n \u8BA1\u5212\u5728\u672A\u6765\u7684 JDK \u53D1\u884C\u7248\u4E2D\u5220\u9664
main.help.opt.create.update=\ \u5728\u521B\u5EFA\u548C\u66F4\u65B0\u6A21\u5F0F\u4E0B\u6709\u6548\u7684\u64CD\u4F5C\u4FEE\u9970\u7B26:\n
main.help.opt.create.update.main-class=\ -e, --main-class=CLASSNAME \u6346\u7ED1\u5230\u6A21\u5757\u5316\u6216\u53EF\u6267\u884C \n jar \u6863\u6848\u7684\u72EC\u7ACB\u5E94\u7528\u7A0B\u5E8F\n \u7684\u5E94\u7528\u7A0B\u5E8F\u5165\u53E3\u70B9
main.help.opt.create.update.manifest=\ -m, --manifest=FILE \u5305\u542B\u6307\u5B9A\u6E05\u5355\u6587\u4EF6\u4E2D\u7684\n \u6E05\u5355\u4FE1\u606F
@@ -119,7 +120,7 @@
main.help.opt.create.update.index=\ \u53EA\u5728\u521B\u5EFA, \u66F4\u65B0\u548C\u751F\u6210\u7D22\u5F15\u6A21\u5F0F\u4E0B\u6709\u6548\u7684\u64CD\u4F5C\u4FEE\u9970\u7B26:\n
main.help.opt.create.update.index.no-compress=\ -0, --no-compress \u4EC5\u5B58\u50A8; \u4E0D\u4F7F\u7528 ZIP \u538B\u7F29
main.help.opt.other=\ \u5176\u4ED6\u9009\u9879:\n
-main.help.opt.other.help=\ -h, --help[:compat] \u63D0\u4F9B\u6B64\u5E2E\u52A9, \u4E5F\u53EF\u4EE5\u9009\u62E9\u6027\u5730\u63D0\u4F9B\u517C\u5BB9\u6027\u5E2E\u52A9
+main.help.opt.other.help=\ -?, -h, --help[:compat] \u63D0\u4F9B\u6B64\u5E2E\u52A9\uFF0C\u4E5F\u53EF\u4EE5\u9009\u62E9\u6027\u5730\u63D0\u4F9B\u517C\u5BB9\u6027\u5E2E\u52A9
main.help.opt.other.help-extra=\ --help-extra \u63D0\u4F9B\u989D\u5916\u9009\u9879\u7684\u5E2E\u52A9
main.help.opt.other.version=\ --version \u8F93\u51FA\u7A0B\u5E8F\u7248\u672C
main.help.postopt=\ \u5982\u679C\u6A21\u5757\u63CF\u8FF0\u7B26 'module-info.class' \u4F4D\u4E8E\u6307\u5B9A\u76EE\u5F55\u7684\n \u6839\u76EE\u5F55\u4E2D, \u6216\u8005\u4F4D\u4E8E jar \u6863\u6848\u672C\u8EAB\u7684\u6839\u76EE\u5F55\u4E2D, \u5219\n \u8BE5\u6863\u6848\u662F\u4E00\u4E2A\u6A21\u5757\u5316 jar\u3002\u4EE5\u4E0B\u64CD\u4F5C\u53EA\u5728\u521B\u5EFA\u6A21\u5757\u5316 jar,\n \u6216\u66F4\u65B0\u73B0\u6709\u7684\u975E\u6A21\u5757\u5316 jar \u65F6\u6709\u6548: '--module-version',\n '--hash-modules' \u548C '--module-path'\u3002\n\n \u5982\u679C\u4E3A\u957F\u9009\u9879\u63D0\u4F9B\u4E86\u5FC5\u9700\u53C2\u6570\u6216\u53EF\u9009\u53C2\u6570, \u5219\u5B83\u4EEC\u5BF9\u4E8E\n \u4EFB\u4F55\u5BF9\u5E94\u7684\u77ED\u9009\u9879\u4E5F\u662F\u5FC5\u9700\u6216\u53EF\u9009\u7684\u3002
--- a/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 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
@@ -28,7 +28,7 @@
main.warnings=\u8B66\u544A{0}\u500B
main.warning=\u8B66\u544A{0}\u500B
-main.usage=\u4F7F\u7528\u65B9\u6CD5: javadoc [options] [packagenames] [sourcefiles] [@files]\n -overview <file> HTML\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u6982\u8981\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3080\n -public public\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u306E\u307F\u3092\u793A\u3059\n -protected protected/public\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u3092\u793A\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8)\n -package package/protected/public\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u3092\u793A\u3059\n -private \u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u3092\u793A\u3059\n -help \u30B3\u30DE\u30F3\u30C9\u884C\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A\u3057\u3066\u7D42\u4E86\u3059\u308B\n -doclet <class> \u4EE3\u66FFdoclet\u3092\u4ECB\u3057\u3066\u51FA\u529B\u3092\u751F\u6210\u3059\u308B\n -docletpath <path> doclet\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n --module-source-path <path> \u8907\u6570\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u5165\u529B\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n --upgrade-module-path <path> \u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n --module-path <path>\u3001-p <path> \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n --add-modules <module>(,<module>)*\n \u521D\u671F\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u52A0\u3048\u3066\u89E3\u6C7A\u3059\u308B\u30EB\u30FC\u30C8\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u3001\u307E\u305F\u306F\n <module>\u304CALL-MODULE-PATH\u3067\u3042\u308B\u5834\u5408\u306F\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D1\u30B9\u306E\u3059\u3079\u3066\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3002\n --limit-modules <module>(,<module>)*\n \u53C2\u7167\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u9818\u57DF\u3092\u5236\u9650\u3059\u308B\n --source-path <path> \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -sourcepath <path> \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n --class-path <path> \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -classpath <path> \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -cp <path> \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -exclude <pkglist> \u9664\u5916\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u30FB\u30EA\u30B9\u30C8\u3092\u6307\u5B9A\u3059\u308B\n -subpackages <subpkglist> \u518D\u5E30\u7684\u306B\u30ED\u30FC\u30C9\u3059\u308B\u30B5\u30D6\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u6307\u5B9A\u3059\u308B\n -breakiterator BreakIterator\u3067\u6700\u521D\u306E\u6587\u3092\u8A08\u7B97\u3059\u308B\n -bootclasspath <path> \u975E\u30E2\u30B8\u30E5\u30E9\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u4F7F\u7528\u3055\u308C\u308B\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\n \
+main.usage=\u4F7F\u7528\u65B9\u6CD5: javadoc [options] [packagenames] [sourcefiles] [@files]\n -overview <file> HTML\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u6982\u8981\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3080\n -public public\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u306E\u307F\u3092\u793A\u3059\n -protected protected/public\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u3092\u793A\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8)\n -package package/protected/public\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u3092\u793A\u3059\n -private \u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u30FC\u3092\u793A\u3059\n --help \u30B3\u30DE\u30F3\u30C9\u884C\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A\u3057\u3066\u7D42\u4E86\u3059\u308B\n -doclet <class> \u4EE3\u66FFdoclet\u3092\u4ECB\u3057\u3066\u51FA\u529B\u3092\u751F\u6210\u3059\u308B\n -docletpath <path> doclet\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n --module-source-path <path> \u8907\u6570\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u5165\u529B\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n --upgrade-module-path <path> \u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n --module-path <path>\u3001-p <path> \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n --add-modules <module>(,<module>)*\n \u521D\u671F\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u52A0\u3048\u3066\u89E3\u6C7A\u3059\u308B\u30EB\u30FC\u30C8\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u3001\u307E\u305F\u306F\n <module>\u304CALL-MODULE-PATH\u3067\u3042\u308B\u5834\u5408\u306F\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D1\u30B9\u306E\u3059\u3079\u3066\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3002\n --limit-modules <module>(,<module>)*\n \u53C2\u7167\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u9818\u57DF\u3092\u5236\u9650\u3059\u308B\n --source-path <path> \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -sourcepath <path> \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n --class-path <path> \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -classpath <path> \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -cp <path> \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -exclude <pkglist> \u9664\u5916\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u30FB\u30EA\u30B9\u30C8\u3092\u6307\u5B9A\u3059\u308B\n -subpackages <subpkglist> \u518D\u5E30\u7684\u306B\u30ED\u30FC\u30C9\u3059\u308B\u30B5\u30D6\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u6307\u5B9A\u3059\u308B\n -breakiterator BreakIterator\u3067\u6700\u521D\u306E\u6587\u3092\u8A08\u7B97\u3059\u308B\n -bootclasspath <path> \u975E\u30E2\u30B8\u30E5\u30E9\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u4F7F\u7528\u3055\u308C\u308B\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\n \
\u306E\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n --system <jdk> \u30E2\u30B8\u30E5\u30E9\u30FB\u30EA\u30EA\u30FC\u30B9\u3067\u4F7F\u7528\u3055\u308C\u308B\u30B7\u30B9\u30C6\u30E0\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\n \u306E\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u3002\n -source <release> \u6307\u5B9A\u3055\u308C\u305F\u30EA\u30EA\u30FC\u30B9\u3068\u30BD\u30FC\u30B9\u306E\u4E92\u63DB\u6027\u3092\u63D0\u4F9B\u3059\u308B\n --release <release> \u6307\u5B9A\u3055\u308C\u305F\u30EA\u30EA\u30FC\u30B9\u3068\u30BD\u30FC\u30B9\u306E\u4E92\u63DB\u6027\u3092\u63D0\u4F9B\u3059\u308B\n -extdirs <dirlist> \u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u305F\u62E1\u5F35\u6A5F\u80FD\u306E\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n -verbose Javadoc\u306E\u52D5\u4F5C\u306B\u3064\u3044\u3066\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B\n -locale <name> en_US\u3084en_US_WIN\u306A\u3069\u306E\u4F7F\u7528\u3059\u308B\u30ED\u30B1\u30FC\u30EB\n -encoding <name> \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u540D\n -quiet \u72B6\u614B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3057\u306A\u3044\n -J<flag> <flag>\u3092\u5B9F\u884C\u6642\u30B7\u30B9\u30C6\u30E0\u306B\u76F4\u63A5\u6E21\u3059\n -X \u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3057\u7D42\u4E86\u3059\u308B\n
main.usage.foot=\nGNU\u30B9\u30BF\u30A4\u30EB\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u306F\u3001\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u540D\u524D\u3068\u305D\u306E\u5024\u3092\u533A\u5207\u308B\u305F\u3081\u306B\u7A7A\u767D\u3067\u306F\u306A\u304F'='\u3092\n\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\n
@@ -70,7 +70,6 @@
main.illegal_package_name=\u30D1\u30C3\u30B1\u30FC\u30B8\u540D"{0}"\u306F\u4E0D\u6B63\u3067\u3059
main.release.bootclasspath.conflict=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306F-release\u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
main.unsupported.release.version=\u30EA\u30EA\u30FC\u30B9\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
-main.release.not.standard.file.manager=-release\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u6307\u5B9A\u3055\u308C\u305FJavaFileManager\u306FStandardJavaFileManager\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
main.option.invalid.value={0}
tag.illegal_char_in_arr_dim=\u30BF\u30B0{0}: \u914D\u5217\u306E\u5927\u304D\u3055\u3001\u30E1\u30BD\u30C3\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF{1}\u306B\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059
tag.illegal_see_tag=\u30BF\u30B0{0}: \u30E1\u30BD\u30C3\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF{1}\u306B\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059
--- a/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -28,8 +28,8 @@
main.warnings={0} \u4E2A\u8B66\u544A
main.warning={0} \u4E2A\u8B66\u544A
-main.usage=\u7528\u6CD5: javadoc [options] [packagenames] [sourcefiles] [@files]\n -overview <\u6587\u4EF6> \u4ECE HTML \u6587\u4EF6\u8BFB\u53D6\u6982\u89C8\u6587\u6863\n -public \u4EC5\u663E\u793A\u516C\u5171\u7C7B\u548C\u6210\u5458\n -protected \u663E\u793A\u53D7\u4FDD\u62A4/\u516C\u5171\u7C7B\u548C\u6210\u5458 (\u9ED8\u8BA4\u503C)\n -package \u663E\u793A\u7A0B\u5E8F\u5305/\u53D7\u4FDD\u62A4/\u516C\u5171\u7C7B\u548C\u6210\u5458\n -private \u663E\u793A\u6240\u6709\u7C7B\u548C\u6210\u5458\n -help \u663E\u793A\u547D\u4EE4\u884C\u9009\u9879\u5E76\u9000\u51FA\n -doclet <\u7C7B> \u901A\u8FC7\u66FF\u4EE3 doclet \u751F\u6210\u8F93\u51FA\n -docletpath <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E doclet \u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n --module-source-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u591A\u4E2A\u6A21\u5757\u7684\u8F93\u5165\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E\n --upgrade-module-path <\u8DEF\u5F84> \u8986\u76D6\u53EF\u5347\u7EA7\u6A21\u5757\u4F4D\u7F6E\n --module-path <\u8DEF\u5F84>, -p <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u5E94\u7528\u7A0B\u5E8F\u6A21\u5757\u7684\u4F4D\u7F6E\n --add-modules <\u6A21\u5757>(,<\u6A21\u5757>)*\n \u9664\u4E86\u521D\u59CB\u6A21\u5757\u4E4B\u5916\u8981\u89E3\u6790\u7684\u6839\u6A21\u5757,\n \u5982\u679C <\u6A21\u5757>\u4E3A ALL-MODULE-PATH, \u5219\u4E3A\u6A21\u5757\u8DEF\u5F84\u4E2D\u7684\u6240\u6709\u6A21\u5757\u3002\n --limit-modules <\u6A21\u5757>(,<\u6A21\u5757>)*\n \u9650\u5236\u53EF\u89C2\u5BDF\u6A21\u5757\u7684\u9886\u57DF\n --source-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E\n -sourcepath <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E\n --class-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -classpath <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -cp <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -exclude <\u7A0B\u5E8F\u5305\u5217\u8868> \u6307\u5B9A\u8981\u6392\u9664\u7684\u7A0B\u5E8F\u5305\u5217\u8868\n -subpackages <\u7A0B\u5E8F\u5305\u5217\u8868> \u6307\u5B9A\u8981\u9012\u5F52\u52A0\u8F7D\u7684\u5B50\u7A0B\u5E8F\u5305\n -breakiterator \u8BA1\u7B97\u5E26\u6709 BreakIterator \u7684\u7B2C\u4E00\u4E2A\u8BED\u53E5\n -bootclasspath <\u8DEF\u5F84> \u8986\u76D6\u7528\u4E8E\u975E\u6A21\u5757\u5316\u53D1\u884C\u7248\u7684\n \u5E73\u53F0\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n --system <jdk> \u8986\u76D6\u7528\u4E8E\u6A21\u5757\u5316\u53D1\u884C\u7248\u7684\n \u7CFB\u7EDF\u6A21\u5757\u7684\u4F4D\u7F6E\u3002\n -source <\u53D1\u884C\u7248> \u63D0\u4F9B\u4E0E\u6307\u5B9A\u53D1\u884C\u7248\u7684\u6E90\u517C\u5BB9\u6027\n --release <\u53D1\u884C\u7248> \u63D0\u4F9B\u4E0E\u6307\u5B9A\u53D1\u884C\u7248\u7684\u6E90\u517C\u5BB9\u6027\n -extdirs <\u76EE\u5F55\u5217\u8868> \u8986\u76D6\u6240\u5B89\u88C5\u6269\u5C55\u7684\u4F4D\u7F6E\n -verbose \u8F93\u51FA\u6709\u5173 Javadoc \u6B63\u5728\u6267\u884C\u7684\u64CD\u4F5C\u7684\u6D88\u606F\n -locale <\u540D\u79F0> \u8981\u4F7F\u7528\u7684\u533A\u57DF\u8BBE\u7F6E, \u4F8B\u5982 en_US \u6216 en_US_WIN\n -encoding <\u540D\u79F0> \u6E90\u6587\u4EF6\u7F16\u7801\u540D\u79F0\n -quiet \u4E0D\u663E\u793A\u72B6\u6001\u6D88\u606F\n -J<\u6807\u8BB0> \u76F4\u63A5\u5C06 <\u6807\u8BB0> \
-\u4F20\u9012\u5230\u8FD0\u884C\u65F6\u7CFB\u7EDF\n -X \u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981\u5E76\u9000\u51FA\n
+main.usage=\u7528\u6CD5\uFF1Ajavadoc [\u9009\u9879] [\u7A0B\u5E8F\u5305\u540D\u79F0] [\u6E90\u6587\u4EF6] [@files]\n -overview <\u6587\u4EF6> \u4ECE HTML \u6587\u4EF6\u8BFB\u53D6\u6982\u89C8\u6587\u6863\n -public \u4EC5\u663E\u793A\u516C\u5171\u7C7B\u548C\u6210\u5458\n -protected \u663E\u793A\u53D7\u4FDD\u62A4/\u516C\u5171\u7C7B\u548C\u6210\u5458\uFF08\u9ED8\u8BA4\u503C\uFF09\n -package \u663E\u793A\u7A0B\u5E8F\u5305/\u53D7\u4FDD\u62A4/\u516C\u5171\u7C7B\u548C\u6210\u5458\n -private \u663E\u793A\u6240\u6709\u7C7B\u548C\u6210\u5458\n --help \u663E\u793A\u547D\u4EE4\u884C\u9009\u9879\u5E76\u9000\u51FA\n -doclet <\u7C7B> \u901A\u8FC7\u66FF\u4EE3 doclet \u751F\u6210\u8F93\u51FA\n -docletpath <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E doclet \u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n --module-source-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u591A\u4E2A\u6A21\u5757\u7684\u8F93\u5165\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E\n --upgrade-module-path <\u8DEF\u5F84> \u8986\u76D6\u53EF\u5347\u7EA7\u6A21\u5757\u4F4D\u7F6E\n --module-path <\u8DEF\u5F84>, -p <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u5E94\u7528\u7A0B\u5E8F\u6A21\u5757\u7684\u4F4D\u7F6E\n --add-modules <\u6A21\u5757>(,<\u6A21\u5757>)*\n \u9664\u4E86\u521D\u59CB\u6A21\u5757\u4E4B\u5916\u8981\u89E3\u6790\u7684\u6839\u6A21\u5757\uFF0C\n \u5982\u679C <\u6A21\u5757>\u4E3A ALL-MODULE-PATH\uFF0C\u5219\u4E3A\u6A21\u5757\u8DEF\u5F84\u4E2D\u7684\u6240\u6709\u6A21\u5757\u3002\n --limit-modules <\u6A21\u5757>(,<\u6A21\u5757>)*\n \u9650\u5236\u53EF\u89C2\u5BDF\u6A21\u5757\u7684\u9886\u57DF\n --source-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E\n -sourcepath <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E\n --class-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -classpath <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -cp <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -exclude <\u7A0B\u5E8F\u5305\u5217\u8868> \u6307\u5B9A\u8981\u6392\u9664\u7684\u7A0B\u5E8F\u5305\u5217\u8868\n -subpackages <\u7A0B\u5E8F\u5305\u5217\u8868> \u6307\u5B9A\u8981\u9012\u5F52\u52A0\u8F7D\u7684\u5B50\u7A0B\u5E8F\u5305\n -breakiterator \u8BA1\u7B97\u5E26\u6709 BreakIterator \u7684\u7B2C\u4E00\u4E2A\u8BED\u53E5\n -bootclasspath <\u8DEF\u5F84> \u8986\u76D6\u7528\u4E8E\u975E\u6A21\u5757\u5316\u53D1\u884C\u7248\u7684\n \u5E73\u53F0\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n --system <jdk> \u8986\u76D6\u7528\u4E8E\u6A21\u5757\u5316\u53D1\u884C\u7248\u7684\n \u7CFB\u7EDF\u6A21\u5757\u7684\u4F4D\u7F6E\u3002\n -source <\u53D1\u884C\u7248> \u63D0\u4F9B\u4E0E\u6307\u5B9A\u53D1\u884C\u7248\u7684\u6E90\u517C\u5BB9\u6027\n --release <\u53D1\u884C\u7248> \u63D0\u4F9B\u4E0E\u6307\u5B9A\u53D1\u884C\u7248\u7684\u6E90\u517C\u5BB9\u6027\n -extdirs <\u76EE\u5F55\u5217\u8868> \u8986\u76D6\u6240\u5B89\u88C5\u6269\u5C55\u7684\u4F4D\u7F6E\n -verbose \u8F93\u51FA\u6709\u5173 Javadoc \u6B63\u5728\u6267\u884C\u7684\u64CD\u4F5C\u7684\u6D88\u606F\n -locale <\u540D\u79F0> \u8981\u4F7F\u7528\u7684\u533A\u57DF\u8BBE\u7F6E\uFF0C\u4F8B\u5982 en_US \u6216 en_US_WIN\n -encoding <\u540D\u79F0> \u6E90\u6587\u4EF6\u7F16\u7801\u540D\u79F0\n -quiet \u4E0D\u663E\u793A\u72B6\u6001\u6D88\u606F\n -J<\u6807\u8BB0> \
+\u76F4\u63A5\u5C06 <\u6807\u8BB0> \u4F20\u9012\u5230\u8FD0\u884C\u65F6\u7CFB\u7EDF\n -X \u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981\u5E76\u9000\u51FA\n
main.usage.foot=\nGNU \u6837\u5F0F\u7684\u9009\u9879\u53EF\u4F7F\u7528 '=' (\u800C\u975E\u7A7A\u767D) \u6765\u5206\u9694\u9009\u9879\u540D\u79F0\n\u53CA\u5176\u503C\u3002\n
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -16,16 +16,6 @@
doclet.Interface_Hierarchy=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u968E\u5C64
doclet.Enum_Hierarchy=\u5217\u6319\u578B\u968E\u5C64
doclet.Annotation_Type_Hierarchy=\u6CE8\u91C8\u578B\u968E\u5C64
-doclet.Prev=\u524D
-doclet.Next=\u6B21
-doclet.Prev_Class=\u524D\u306E\u30AF\u30E9\u30B9
-doclet.Next_Class=\u6B21\u306E\u30AF\u30E9\u30B9
-doclet.Prev_Package=\u524D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8
-doclet.Next_Package=\u6B21\u306E\u30D1\u30C3\u30B1\u30FC\u30B8
-doclet.Prev_Module=\u524D\u306E\u30E2\u30B8\u30E5\u30FC\u30EB
-doclet.Next_Module=\u6B21\u306E\u30E2\u30B8\u30E5\u30FC\u30EB
-doclet.Prev_Letter=\u524D\u306E\u6587\u5B57
-doclet.Next_Letter=\u6B21\u306E\u6587\u5B57
doclet.Href_Class_Title={0}\u5185\u306E\u30AF\u30E9\u30B9
doclet.Href_Interface_Title={0}\u5185\u306E\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
doclet.Href_Annotation_Title={0}\u5185\u306E\u6CE8\u91C8
@@ -100,47 +90,51 @@
doclet.Description_From_Interface=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304B\u3089\u30B3\u30D4\u30FC\u3055\u308C\u305F\u8AAC\u660E:
doclet.Description_From_Class=\u30AF\u30E9\u30B9\u304B\u3089\u30B3\u30D4\u30FC\u3055\u308C\u305F\u8AAC\u660E:
doclet.No_Non_Deprecated_Classes_To_Document=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3059\u308B\u975E\u63A8\u5968\u4EE5\u5916\u306E\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
-doclet.Interfaces_Italic=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9(\u30A4\u30BF\u30EA\u30C3\u30AF)
+doclet.Interfaces=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
doclet.Enclosing_Class=\u542B\u307E\u308C\u3066\u3044\u308B\u30AF\u30E9\u30B9:
doclet.Enclosing_Interface=\u542B\u307E\u308C\u3066\u3044\u308B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9:
doclet.Window_Source_title=\u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9
doclet.Window_Help_title=API\u30D8\u30EB\u30D7
-doclet.Help_line_1=API\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u69CB\u6210
-doclet.Help_line_2=\u3053\u306EAPI(Application Programming Interface)\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u306F\u3001\u6B21\u306B\u8AAC\u660E\u3059\u308B\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306B\u3042\u308B\u9805\u76EE\u306B\u5BFE\u5FDC\u3059\u308B\u30DA\u30FC\u30B8\u304C\u542B\u307E\u308C\u307E\u3059\u3002
-doclet.Help_line_3={0}\u30DA\u30FC\u30B8\u306FAPI\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30D5\u30ED\u30F3\u30C8\u30FB\u30DA\u30FC\u30B8\u3067\u3001\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981\u3092\u542B\u3080\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30EA\u30B9\u30C8\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u4E00\u9023\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981\u8AAC\u660E\u3082\u8868\u793A\u3055\u308C\u307E\u3059\u3002
-doclet.Help_line_4=\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u306F\u3001\u305D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8\u3068\u3001\u305D\u308C\u305E\u308C\u306E\u6982\u8981\u3092\u542B\u3080\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306F6\u3064\u306E\u30AB\u30C6\u30B4\u30EA\u3067\u69CB\u6210\u3055\u308C\u307E\u3059\u3002
-doclet.Help_line_5=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9
-doclet.Help_line_6=\u5404\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u306F\u500B\u5225\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u5404\u30DA\u30FC\u30B8\u306B\u306F\u6B21\u306E\u3088\u3046\u306B\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8AAC\u660E\u3068\u3001\u6982\u8981\u8868\u304A\u3088\u3073\u30E1\u30F3\u30D0\u30FC\u306E\u8A73\u7D30\u8AAC\u660E\u304C\u542B\u307E\u308C\u307E\u3059\u3002
-doclet.Help_line_7=\u30AF\u30E9\u30B9\u968E\u5C64\u8868\u793A
-doclet.Help_line_8=\u76F4\u7CFB\u306E\u30B5\u30D6\u30AF\u30E9\u30B9
-doclet.Help_line_9=\u65E2\u77E5\u306E\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8
-doclet.Help_line_10=\u65E2\u77E5\u306E\u5B9F\u88C5\u30AF\u30E9\u30B9\u306E\u30EA\u30B9\u30C8
-doclet.Help_line_11=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u5BA3\u8A00
-doclet.Help_line_12=\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8AAC\u660E
-doclet.Help_line_13=\u5404\u6982\u8981\u30A8\u30F3\u30C8\u30EA\u306B\u306F\u3001\u305D\u306E\u9805\u76EE\u306E\u8A73\u7D30\u306A\u8AAC\u660E\u306E\u4E2D\u304B\u30891\u884C\u76EE\u306E\u6587\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u8A73\u7D30\u306A\u8AAC\u660E\u306F\u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u306B\u73FE\u308C\u308B\u9806\u306B\u4E26\u3079\u3089\u308C\u307E\u3059\u304C\u3001\u6982\u8981\u30A8\u30F3\u30C8\u30EA\u306F\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306B\u4E26\u3079\u3089\u308C\u307E\u3059\u3002\u3053\u308C\u306B\u3088\u3063\u3066\u3001\u30D7\u30ED\u30B0\u30E9\u30DE\u304C\u8A2D\u5B9A\u3057\u305F\u8AD6\u7406\u7684\u306A\u30B0\u30EB\u30FC\u30D7\u5206\u3051\u304C\u4FDD\u6301\u3055\u308C\u307E\u3059\u3002
-doclet.Help_line_14=\u4F7F\u7528
-doclet.Help_line_15=\u5404\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u305F\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u306F\u305D\u308C\u305E\u308C\u300C\u4F7F\u7528\u300D\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306B\u306F\u3001\u3069\u306E\u3088\u3046\u306A\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304A\u3088\u3073\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3001\u7279\u5B9A\u306E\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u4E00\u90E8\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u304B\u304C\u8A18\u8FF0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u305F\u3068\u3048\u3070\u3001\u30AF\u30E9\u30B9A\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9A\u306E\u5834\u5408\u3001\u305D\u306E\u300C\u4F7F\u7528\u300D\u30DA\u30FC\u30B8\u306B\u306F\u3001A\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u3001A\u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u3001A\u3092\u8FD4\u3059\u30E1\u30BD\u30C3\u30C9\u3068\u3001\u578BA\u3092\u6301\u3064\u30E1\u30BD\u30C3\u30C9\u304A\u3088\u3073\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304C\u542B\u307E\u308C\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u306B\u306F\u3001\u307E\u305A\u305D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u79FB\u52D5\u3057\u3001\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306E\u300C\u4F7F\u7528\u300D\u30EA\u30F3\u30AF\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-doclet.Help_line_16=\u968E\u5C64\u30C4\u30EA\u30FC(\u30AF\u30E9\u30B9\u968E\u5C64)
-doclet.Help_line_17_with_tree_link=\u3059\u3079\u3066\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u306F{0}\u30DA\u30FC\u30B8\u304C\u3042\u308A\u3001\u3055\u3089\u306B\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64\u304C\u3042\u308A\u307E\u3059\u3002\u5404\u968E\u5C64\u30DA\u30FC\u30B8\u306F\u3001\u30AF\u30E9\u30B9\u306E\u30EA\u30B9\u30C8\u3068\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8\u3092\u542B\u307F\u307E\u3059\u3002\u30AF\u30E9\u30B9\u306F{1}\u3092\u958B\u59CB\u70B9\u3068\u3059\u308B\u7D99\u627F\u69CB\u9020\u3067\u7DE8\u6210\u3055\u308C\u307E\u3059\u3002\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u3001{1}\u304B\u3089\u306F\u7D99\u627F\u3057\u307E\u305B\u3093\u3002
-doclet.Help_line_18=\u6982\u8981\u30DA\u30FC\u30B8\u3092\u8868\u793A\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u300C\u968E\u5C64\u30C4\u30EA\u30FC\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
-doclet.Help_line_19=\u7279\u5B9A\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u8868\u793A\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u300C\u968E\u5C64\u30C4\u30EA\u30FC\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001\u8A72\u5F53\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u307F\u306E\u968E\u5C64\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
-doclet.Help_line_20_with_deprecated_api_link={0}\u30DA\u30FC\u30B8\u306F\u3001\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u3059\u3079\u3066\u306EAPI\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u975E\u63A8\u5968API\u3068\u306F\u3001\u6A5F\u80FD\u6539\u826F\u306A\u3069\u306E\u7406\u7531\u304B\u3089\u4F7F\u7528\u3092\u304A\u85A6\u3081\u3067\u304D\u306A\u304F\u306A\u3063\u305FAPI\u306E\u3053\u3068\u3067\u3001\u901A\u5E38\u306F\u305D\u308C\u306B\u4EE3\u308F\u308BAPI\u304C\u63D0\u4F9B\u3055\u308C\u307E\u3059\u3002\u975E\u63A8\u5968API\u306F\u4ECA\u5F8C\u306E\u5B9F\u88C5\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
-doclet.Help_line_21=\u7D22\u5F15
-doclet.Help_line_22={0}\u306B\u306F\u3001\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3001\u30E1\u30BD\u30C3\u30C9\u304A\u3088\u3073\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306E\u30EA\u30B9\u30C8\u304C\u542B\u307E\u308C\u307E\u3059\u3002
-doclet.Help_line_23=\u524D/\u6B21
-doclet.Help_line_24=\u3053\u308C\u3089\u306E\u30EA\u30F3\u30AF\u306B\u3088\u308A\u3001\u524D\u307E\u305F\u306F\u6B21\u306E\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u307E\u305F\u306F\u95A2\u9023\u30DA\u30FC\u30B8\u3078\u79FB\u52D5\u3067\u304D\u307E\u3059\u3002
-doclet.Help_line_25=\u30D5\u30EC\u30FC\u30E0/\u30D5\u30EC\u30FC\u30E0\u306A\u3057
-doclet.Help_line_26=\u3053\u308C\u3089\u306E\u30EA\u30F3\u30AF\u306FHTML\u30D5\u30EC\u30FC\u30E0\u306E\u8868\u793A\u3068\u975E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\u3002\u3059\u3079\u3066\u306E\u30DA\u30FC\u30B8\u306F\u30D5\u30EC\u30FC\u30E0\u3042\u308A\u3067\u3082\u3001\u30D5\u30EC\u30FC\u30E0\u306A\u3057\u3067\u3082\u8868\u793A\u3067\u304D\u307E\u3059\u3002
-doclet.Help_line_27={0}\u30EA\u30F3\u30AF\u306B\u306F\u3001\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9(\u975Estatic\u306E\u30CD\u30B9\u30C8\u3055\u308C\u305F\u578B\u3092\u9664\u304F)\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
-doclet.Help_line_28=\u76F4\u5217\u5316\u53EF\u80FD\u307E\u305F\u306F\u5916\u90E8\u5316\u53EF\u80FD\u306A\u5404\u30AF\u30E9\u30B9\u306F\u3001\u76F4\u5217\u5316\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30E1\u30BD\u30C3\u30C9\u306E\u8AAC\u660E\u3092\u542B\u307F\u307E\u3059\u3002\u3053\u306E\u60C5\u5831\u306F\u3001API\u3092\u4F7F\u7528\u3059\u308B\u958B\u767A\u8005\u3067\u306F\u306A\u304F\u3001\u518D\u5B9F\u88C5\u3092\u884C\u3046\u62C5\u5F53\u8005\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306B\u30EA\u30F3\u30AF\u304C\u306A\u3044\u5834\u5408\u3001\u76F4\u5217\u5316\u3055\u308C\u305F\u30AF\u30E9\u30B9\u306B\u79FB\u52D5\u3057\u3066\u3001\u30AF\u30E9\u30B9\u8A18\u8FF0\u306E\u300C\u95A2\u9023\u9805\u76EE\u300D\u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u3042\u308B\u300C\u76F4\u5217\u5316\u3055\u308C\u305F\u5F62\u5F0F\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3053\u3068\u306B\u3088\u308A\u3001\u3053\u306E\u60C5\u5831\u3092\u8868\u793A\u3067\u304D\u307E\u3059\u3002
-doclet.Help_line_29={0}\u30DA\u30FC\u30B8\u306B\u306F\u3001static final\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u305D\u306E\u5024\u306E\u30EA\u30B9\u30C8\u304C\u3042\u308A\u307E\u3059\u3002
-doclet.Help_line_30=\u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u6A19\u6E96doclet\u3092\u4F7F\u7528\u3057\u3066\u751F\u6210\u3055\u308C\u305FAPI\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u9069\u7528\u3055\u308C\u307E\u3059\u3002
-doclet.Help_enum_line_1=\u5404\u5217\u6319\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:
-doclet.Help_enum_line_2=\u5217\u6319\u578B\u306E\u5BA3\u8A00
-doclet.Help_enum_line_3=\u5217\u6319\u578B\u306E\u8AAC\u660E
-doclet.Help_annotation_type_line_1=\u5404\u6CE8\u91C8\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:
-doclet.Help_annotation_type_line_2=\u6CE8\u91C8\u578B\u306E\u5BA3\u8A00
-doclet.Help_annotation_type_line_3=\u6CE8\u91C8\u578B\u306E\u8AAC\u660E
+
+doclet.help.main_heading=API\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u69CB\u6210
+doclet.help.intro=\u3053\u306EAPI(Application Programming Interface)\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u306F\u3001\u6B21\u306B\u8AAC\u660E\u3059\u308B\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306B\u3042\u308B\u9805\u76EE\u306B\u5BFE\u5FDC\u3059\u308B\u30DA\u30FC\u30B8\u304C\u542B\u307E\u308C\u307E\u3059\u3002
+doclet.help.overview.modules.body=The {0} page is the front page of this API document and provides a list of all modules with a summary for each. This page can also contain an overall description of the set of modules.
+doclet.help.overview.packages.body={0}\u30DA\u30FC\u30B8\u306FAPI\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30D5\u30ED\u30F3\u30C8\u30FB\u30DA\u30FC\u30B8\u3067\u3001\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981\u3092\u542B\u3080\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30EA\u30B9\u30C8\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u4E00\u9023\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981\u8AAC\u660E\u3082\u8868\u793A\u3055\u308C\u307E\u3059\u3002
+doclet.help.package.intro=Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:
+doclet.help.module.intro=Each module has a page that contains a list of its packages, dependencies on other modules, and services, with a summary for each. These page may contain three categories:
+doclet.help.class_interface.head=Class or Interface
+doclet.help.class_interface.intro=\u5404\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u306F\u500B\u5225\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u3059\u3002\u5404\u30DA\u30FC\u30B8\u306B\u306F\u6B21\u306E\u3088\u3046\u306B\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8AAC\u660E\u3068\u3001\u6982\u8981\u8868\u304A\u3088\u3073\u30E1\u30F3\u30D0\u30FC\u306E\u8A73\u7D30\u8AAC\u660E\u304C\u542B\u307E\u308C\u307E\u3059\u3002
+doclet.help.class_interface.inheritance_diagram=Class Inheritance Diagram
+doclet.help.class_interface.subclasses=\u76F4\u7CFB\u306E\u30B5\u30D6\u30AF\u30E9\u30B9
+doclet.help.class_interface.subinterfaces=\u65E2\u77E5\u306E\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8
+doclet.help.class_interface.implementations=\u65E2\u77E5\u306E\u5B9F\u88C5\u30AF\u30E9\u30B9\u306E\u30EA\u30B9\u30C8
+doclet.help.class_interface.declaration=Class or Interface Declaration
+doclet.help.class_interface.description=Class or Interface Description
+doclet.help.class_interface.summary=\u5404\u6982\u8981\u30A8\u30F3\u30C8\u30EA\u306B\u306F\u3001\u305D\u306E\u9805\u76EE\u306E\u8A73\u7D30\u306A\u8AAC\u660E\u306E\u4E2D\u304B\u30891\u884C\u76EE\u306E\u6587\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u8A73\u7D30\u306A\u8AAC\u660E\u306F\u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u306B\u73FE\u308C\u308B\u9806\u306B\u4E26\u3079\u3089\u308C\u307E\u3059\u304C\u3001\u6982\u8981\u30A8\u30F3\u30C8\u30EA\u306F\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306B\u4E26\u3079\u3089\u308C\u307E\u3059\u3002\u3053\u308C\u306B\u3088\u3063\u3066\u3001\u30D7\u30ED\u30B0\u30E9\u30DE\u304C\u8A2D\u5B9A\u3057\u305F\u8AD6\u7406\u7684\u306A\u30B0\u30EB\u30FC\u30D7\u5206\u3051\u304C\u4FDD\u6301\u3055\u308C\u307E\u3059\u3002
+doclet.help.use.head=\u4F7F\u7528
+doclet.help.use.body=Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its "Use" page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+doclet.help.tree.head=\u968E\u5C64\u30C4\u30EA\u30FC(\u30AF\u30E9\u30B9\u968E\u5C64)
+doclet.help.tree.intro=There is a {0} page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with {1}. Interfaces do not inherit from {1}.
+doclet.help.tree.overview=\u6982\u8981\u30DA\u30FC\u30B8\u3092\u8868\u793A\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u300C\u968E\u5C64\u30C4\u30EA\u30FC\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
+doclet.help.tree.package=When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.
+doclet.help.deprecated.body={0}\u30DA\u30FC\u30B8\u306F\u3001\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u3059\u3079\u3066\u306EAPI\u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u975E\u63A8\u5968API\u3068\u306F\u3001\u6A5F\u80FD\u6539\u826F\u306A\u3069\u306E\u7406\u7531\u304B\u3089\u4F7F\u7528\u3092\u304A\u85A6\u3081\u3067\u304D\u306A\u304F\u306A\u3063\u305FAPI\u306E\u3053\u3068\u3067\u3001\u901A\u5E38\u306F\u305D\u308C\u306B\u4EE3\u308F\u308BAPI\u304C\u63D0\u4F9B\u3055\u308C\u307E\u3059\u3002\u975E\u63A8\u5968API\u306F\u4ECA\u5F8C\u306E\u5B9F\u88C5\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
+doclet.help.index.head=\u7D22\u5F15
+doclet.help.index.body=The {0} contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.
+doclet.help.frames.head=\u30D5\u30EC\u30FC\u30E0/\u30D5\u30EC\u30FC\u30E0\u306A\u3057
+doclet.help.frames.body=\u3053\u308C\u3089\u306E\u30EA\u30F3\u30AF\u306FHTML\u30D5\u30EC\u30FC\u30E0\u306E\u8868\u793A\u3068\u975E\u8868\u793A\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\u3002\u3059\u3079\u3066\u306E\u30DA\u30FC\u30B8\u306F\u30D5\u30EC\u30FC\u30E0\u3042\u308A\u3067\u3082\u3001\u30D5\u30EC\u30FC\u30E0\u306A\u3057\u3067\u3082\u8868\u793A\u3067\u304D\u307E\u3059\u3002
+doclet.help.all_classes.body={0}\u30EA\u30F3\u30AF\u306B\u306F\u3001\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9(\u975Estatic\u306E\u30CD\u30B9\u30C8\u3055\u308C\u305F\u578B\u3092\u9664\u304F)\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
+doclet.help.serial_form.body=\u76F4\u5217\u5316\u53EF\u80FD\u307E\u305F\u306F\u5916\u90E8\u5316\u53EF\u80FD\u306A\u5404\u30AF\u30E9\u30B9\u306F\u3001\u76F4\u5217\u5316\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30E1\u30BD\u30C3\u30C9\u306E\u8AAC\u660E\u3092\u542B\u307F\u307E\u3059\u3002\u3053\u306E\u60C5\u5831\u306F\u3001API\u3092\u4F7F\u7528\u3059\u308B\u958B\u767A\u8005\u3067\u306F\u306A\u304F\u3001\u518D\u5B9F\u88C5\u3092\u884C\u3046\u62C5\u5F53\u8005\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30FB\u30D0\u30FC\u306B\u30EA\u30F3\u30AF\u304C\u306A\u3044\u5834\u5408\u3001\u76F4\u5217\u5316\u3055\u308C\u305F\u30AF\u30E9\u30B9\u306B\u79FB\u52D5\u3057\u3066\u3001\u30AF\u30E9\u30B9\u8A18\u8FF0\u306E\u300C\u95A2\u9023\u9805\u76EE\u300D\u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u3042\u308B\u300C\u76F4\u5217\u5316\u3055\u308C\u305F\u5F62\u5F0F\u300D\u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3053\u3068\u306B\u3088\u308A\u3001\u3053\u306E\u60C5\u5831\u3092\u8868\u793A\u3067\u304D\u307E\u3059\u3002
+doclet.help.constants.body={0}\u30DA\u30FC\u30B8\u306B\u306F\u3001static final\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u305D\u306E\u5024\u306E\u30EA\u30B9\u30C8\u304C\u3042\u308A\u307E\u3059\u3002
+doclet.help.footnote=This help file applies to API documentation generated by the standard doclet.
+doclet.help.enum.intro=\u5404\u5217\u6319\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:
+doclet.help.enum.declaration=\u5217\u6319\u5BA3\u8A00
+doclet.help.enum.definition=Enum Description
+doclet.help.annotation_type.intro=\u5404\u6CE8\u91C8\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:
+doclet.help.annotation_type.declaration=Annotation Type Declaration
+doclet.help.annotation_type.description=Annotation Type Description
+doclet.help.search.head=Search
+doclet.help.search.body=You can search for definitions of modules, packages, types, fields, methods and other terms defined in the API, using some or all of the name. "Camel-case" abbreviations are supported: for example, "InpStr" will find "InputStream" and "InputStreamReader".
+
doclet.ClassUse_Packages.that.use.0={0}\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u30D1\u30C3\u30B1\u30FC\u30B8
doclet.ClassUse_Uses.of.0.in.1={1}\u3067\u306E{0}\u306E\u4F7F\u7528
doclet.ClassUse_Classes.in.0.used.by.1={1}\u306B\u3088\u308A\u4F7F\u7528\u3055\u308C\u308B{0}\u306E\u30AF\u30E9\u30B9
@@ -240,6 +234,8 @@
doclet.usage.nodeprecatedlist.description=\u975E\u63A8\u5968\u306E\u30EA\u30B9\u30C8\u3092\u751F\u6210\u3057\u307E\u305B\u3093
+doclet.usage.no-module-directories.description=\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u30E2\u30B8\u30E5\u30FC\u30EB\u56FA\u6709\n\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u30B0\u30EB\u30FC\u30D7\u5316\u3057\u307E\u305B\u3093
+
doclet.usage.notree.description=\u30AF\u30E9\u30B9\u968E\u5C64\u3092\u751F\u6210\u3057\u307E\u305B\u3093
doclet.usage.noindex.description=\u7D22\u5F15\u3092\u751F\u6210\u3057\u307E\u305B\u3093
@@ -262,7 +258,7 @@
doclet.usage.charset.parameters=<charset>
doclet.usage.charset.description=\u751F\u6210\u3055\u308C\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3067\u306E\u6587\u5B57\u30BB\u30C3\u30C8
-doclet.usage.javafx.description=javafx\u6A5F\u80FD\u3092\u6709\u52B9\u306B\u3057\u307E\u3059
+doclet.usage.javafx.description=JavaFX\u6A5F\u80FD\u3092\u6709\u52B9\u306B\u3057\u307E\u3059
doclet.usage.helpfile.parameters=<file>
doclet.usage.helpfile.description=\u30D8\u30EB\u30D7\u30FB\u30EA\u30F3\u30AF\u306E\u30EA\u30F3\u30AF\u5148\u30D5\u30A1\u30A4\u30EB\u3092\u542B\u3081\u307E\u3059
@@ -280,9 +276,9 @@
doclet.usage.docencoding.parameters=<name>
doclet.usage.docencoding.description=\u51FA\u529B\u306E\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3057\u307E\u3059
-doclet.usage.frames.description=\u751F\u6210\u3055\u308C\u305F\u51FA\u529B\u3067\u30D5\u30EC\u30FC\u30E0\u306E\u4F7F\u7528\u3092\u6709\u52B9\u306B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8)
+doclet.usage.frames.description=\u751F\u6210\u3055\u308C\u305F\u51FA\u529B\u3067\u30D5\u30EC\u30FC\u30E0\u306E\u4F7F\u7528\u3092\u6709\u52B9\u306B\u3057\u307E\u3059
-doclet.usage.no-frames.description=\u751F\u6210\u3055\u308C\u305F\u51FA\u529B\u3067\u30D5\u30EC\u30FC\u30E0\u306E\u4F7F\u7528\u3092\u7121\u52B9\u306B\u3057\u307E\u3059
+doclet.usage.no-frames.description=\u751F\u6210\u3055\u308C\u305F\u51FA\u529B\u3067\u30D5\u30EC\u30FC\u30E0\u306E\u4F7F\u7528\u3092\u7121\u52B9\u306B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8)
doclet.usage.override-methods.parameters=(\u8A73\u7D30|\u8981\u7D04)
@@ -303,4 +299,7 @@
doclet.usage.xdoclint-package.description=\u7279\u5B9A\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30C1\u30A7\u30C3\u30AF\u3092\u6709\u52B9\u307E\u305F\u306F\u7121\u52B9\u306B\u3057\u307E\u3059\u3002<packages>\u306F\n\u30AB\u30F3\u30DE\u3067\u533A\u5207\u3089\u308C\u305F\u30D1\u30C3\u30B1\u30FC\u30B8\u6307\u5B9A\u5B50\u306E\u30EA\u30B9\u30C8\u3067\u3059\u3002\u30D1\u30C3\u30B1\u30FC\u30B8\n\u6307\u5B9A\u5B50\u306F\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u4FEE\u98FE\u3055\u308C\u305F\u540D\u524D\u3001\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\n\u306E\u63A5\u982D\u8F9E\u306E\u5F8C\u306B.*\u3092\u6307\u5B9A(\u6307\u5B9A\u3057\u305F\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u3059\u3079\u3066\u306E\u30B5\u30D6\u30D1\u30C3\u30B1\u30FC\u30B8\n\u306B\u62E1\u5F35)\u3057\u305F\u3082\u306E\u3067\u3059\u3002\u30D1\u30C3\u30B1\u30FC\u30B8\u6307\u5B9A\u5B50\u306E\u524D\u306B-\u3092\u6307\u5B9A\u3059\u308B\u3068\u3001\n\u6307\u5B9A\u3057\u305F\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u95A2\u3059\u308B\u30C1\u30A7\u30C3\u30AF\u3092\u7121\u52B9\u306B\u3067\u304D\u307E\u3059\u3002
# L10N: do not localize the option names -html4 and -html5
-doclet.HTML_version_not_specified=\u4F7F\u7528\u3059\u308BHTML\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\n\u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u73FE\u5728HTML 4.01\u3067\u3059\u304C\u3001\u3053\u308C\u306F\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067HTML5\u306B\n\u5909\u66F4\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u8B66\u544A\u3092\u8868\u793A\u3057\u306A\u3044\u3088\u3046\u306B\u3059\u308B\u306B\u306F\u3001\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30B3\u30E1\u30F3\u30C8\n\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u3066\u3001\u3053\u306E\u30C9\u30C3\u30AF\u30EC\u30C3\u30C8\u3067-html4\u307E\u305F\u306F-html5\uFF11\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\n\u751F\u6210\u3055\u308C\u308BHTML\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+doclet.HTML_4_specified=-html4\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066HTML\u30D0\u30FC\u30B8\u30E7\u30F3\u306BHTML 4.01\u3092\u6307\u5B9A\u3057\u307E\u3057\u305F\u3002\n\u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u73FE\u5728HTML5\u3067\u3001HTML 4.01\u306E\u30B5\u30DD\u30FC\u30C8\u306F\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\n\u524A\u9664\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u8B66\u544A\u3092\u8868\u793A\u3057\u306A\u3044\u3088\u3046\u306B\u3059\u308B\u306B\u306F\u3001\u30B3\u30E1\u30F3\u30C8\u306EHTML\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30C8\u304C\nHTML5\u3067\u6709\u52B9\u3067\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3001-html4\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u524A\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+
+# L10N: do not localize the option names --frames
+doclet.Frames_specified=--frames\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u3001\u30D5\u30EC\u30FC\u30E0\u306E\u751F\u6210\u3092\u6307\u5B9A\u3057\u307E\u3057\u305F\u3002\n\u73FE\u5728\u3001\u30D5\u30EC\u30FC\u30E0\u3092\u751F\u6210\u3057\u306A\u3044\u306E\u304C\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u3042\u308A\u3001\u30D5\u30EC\u30FC\u30E0\u306E\n\u30B5\u30DD\u30FC\u30C8\u306F\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u307E\u3059\u3002\n\u3053\u306E\u8B66\u544A\u3092\u8868\u793A\u3057\u306A\u3044\u3088\u3046\u306B\u3059\u308B\u306B\u306F\u3001--frames\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u524A\u9664\u3057\u3001\u30D5\u30EC\u30FC\u30E0\u306E\u4F7F\u7528\u3092\u907F\u3051\u3066\u304F\u3060\u3055\u3044\u3002
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -16,16 +16,6 @@
doclet.Interface_Hierarchy=\u63A5\u53E3\u5206\u5C42\u7ED3\u6784
doclet.Enum_Hierarchy=\u679A\u4E3E\u5206\u5C42\u7ED3\u6784
doclet.Annotation_Type_Hierarchy=\u6CE8\u91CA\u7C7B\u578B\u5206\u5C42\u7ED3\u6784
-doclet.Prev=\u4E0A\u4E00\u4E2A
-doclet.Next=\u4E0B\u4E00\u4E2A
-doclet.Prev_Class=\u4E0A\u4E00\u4E2A\u7C7B
-doclet.Next_Class=\u4E0B\u4E00\u4E2A\u7C7B
-doclet.Prev_Package=\u4E0A\u4E00\u4E2A\u7A0B\u5E8F\u5305
-doclet.Next_Package=\u4E0B\u4E00\u4E2A\u7A0B\u5E8F\u5305
-doclet.Prev_Module=\u4E0A\u4E00\u4E2A\u6A21\u5757
-doclet.Next_Module=\u4E0B\u4E00\u4E2A\u6A21\u5757
-doclet.Prev_Letter=\u4E0A\u4E00\u4E2A\u5B57\u6BCD
-doclet.Next_Letter=\u4E0B\u4E00\u4E2A\u5B57\u6BCD
doclet.Href_Class_Title={0}\u4E2D\u7684\u7C7B
doclet.Href_Interface_Title={0}\u4E2D\u7684\u63A5\u53E3
doclet.Href_Annotation_Title={0}\u4E2D\u7684\u6CE8\u91CA
@@ -100,47 +90,51 @@
doclet.Description_From_Interface=\u4ECE\u63A5\u53E3\u590D\u5236\u7684\u8BF4\u660E:
doclet.Description_From_Class=\u4ECE\u7C7B\u590D\u5236\u7684\u8BF4\u660E:
doclet.No_Non_Deprecated_Classes_To_Document=\u627E\u4E0D\u5230\u53EF\u4EE5\u6587\u6863\u5316\u7684\u672A\u8FC7\u65F6\u7684\u7C7B\u3002
-doclet.Interfaces_Italic=\u63A5\u53E3 (\u659C\u4F53)
+doclet.Interfaces=\u63A5\u53E3
doclet.Enclosing_Class=\u5C01\u95ED\u7C7B:
doclet.Enclosing_Interface=\u5C01\u95ED\u63A5\u53E3:
doclet.Window_Source_title=\u6E90\u4EE3\u7801
doclet.Window_Help_title=API \u5E2E\u52A9
-doclet.Help_line_1=\u6B64 API \u6587\u6863\u7684\u7EC4\u7EC7\u65B9\u5F0F
-doclet.Help_line_2=\u6B64 API (\u5E94\u7528\u7A0B\u5E8F\u7F16\u7A0B\u63A5\u53E3) \u6587\u6863\u5305\u542B\u5BF9\u5E94\u4E8E\u5BFC\u822A\u680F\u4E2D\u7684\u9879\u76EE\u7684\u9875\u9762, \u5982\u4E0B\u6240\u8FF0\u3002
-doclet.Help_line_3={0} \u9875\u9762\u662F\u6B64 API \u6587\u6863\u7684\u9996\u9875, \u63D0\u4F9B\u4E86\u6240\u6709\u7A0B\u5E8F\u5305\u7684\u5217\u8868\u53CA\u5176\u6982\u8981\u3002\u6B64\u9875\u9762\u4E5F\u53EF\u80FD\u5305\u542B\u8FD9\u4E9B\u7A0B\u5E8F\u5305\u7684\u603B\u4F53\u8BF4\u660E\u3002
-doclet.Help_line_4=\u6BCF\u4E2A\u7A0B\u5E8F\u5305\u90FD\u6709\u4E00\u4E2A\u9875\u9762, \u5176\u4E2D\u5305\u542B\u5B83\u7684\u7C7B\u548C\u63A5\u53E3\u7684\u5217\u8868\u53CA\u5176\u6982\u8981\u3002\u6B64\u9875\u9762\u53EF\u4EE5\u5305\u542B\u516D\u4E2A\u7C7B\u522B:
-doclet.Help_line_5=\u7C7B/\u63A5\u53E3
-doclet.Help_line_6=\u6BCF\u4E2A\u7C7B, \u63A5\u53E3, \u5D4C\u5957\u7C7B\u548C\u5D4C\u5957\u63A5\u53E3\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762\u3002\u5176\u4E2D\u6BCF\u4E2A\u9875\u9762\u90FD\u7531\u4E09\u90E8\u5206 (\u7C7B/\u63A5\u53E3\u8BF4\u660E, \u6982\u8981\u8868, \u4EE5\u53CA\u8BE6\u7EC6\u7684\u6210\u5458\u8BF4\u660E) \u7EC4\u6210:
-doclet.Help_line_7=\u7C7B\u7EE7\u627F\u56FE
-doclet.Help_line_8=\u76F4\u63A5\u5B50\u7C7B
-doclet.Help_line_9=\u6240\u6709\u5DF2\u77E5\u5B50\u63A5\u53E3
-doclet.Help_line_10=\u6240\u6709\u5DF2\u77E5\u5B9E\u73B0\u7C7B
-doclet.Help_line_11=\u7C7B/\u63A5\u53E3\u58F0\u660E
-doclet.Help_line_12=\u7C7B/\u63A5\u53E3\u8BF4\u660E
-doclet.Help_line_13=\u6BCF\u4E2A\u6982\u8981\u6761\u76EE\u90FD\u5305\u542B\u8BE5\u9879\u76EE\u7684\u8BE6\u7EC6\u8BF4\u660E\u7684\u7B2C\u4E00\u53E5\u3002\u6982\u8981\u6761\u76EE\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217, \u800C\u8BE6\u7EC6\u8BF4\u660E\u5219\u6309\u5176\u5728\u6E90\u4EE3\u7801\u4E2D\u51FA\u73B0\u7684\u987A\u5E8F\u6392\u5217\u3002\u8FD9\u6837\u4FDD\u6301\u4E86\u7A0B\u5E8F\u5458\u6240\u5EFA\u7ACB\u7684\u903B\u8F91\u5206\u7EC4\u3002
-doclet.Help_line_14=\u4F7F\u7528
-doclet.Help_line_15=\u6BCF\u4E2A\u5DF2\u6587\u6863\u5316\u7684\u7A0B\u5E8F\u5305, \u7C7B\u548C\u63A5\u53E3\u90FD\u6709\u5404\u81EA\u7684\u201C\u4F7F\u7528\u201D\u9875\u9762\u3002\u6B64\u9875\u9762\u4ECB\u7ECD\u4E86\u4F7F\u7528\u7ED9\u5B9A\u7C7B\u6216\u7A0B\u5E8F\u5305\u7684\u4EFB\u4F55\u90E8\u5206\u7684\u7A0B\u5E8F\u5305, \u7C7B, \u65B9\u6CD5, \u6784\u9020\u5668\u548C\u5B57\u6BB5\u3002\u5BF9\u4E8E\u7ED9\u5B9A\u7684\u7C7B\u6216\u63A5\u53E3 A, \u5176\u201C\u4F7F\u7528\u201D\u9875\u9762\u5305\u542B A \u7684\u5B50\u7C7B, \u58F0\u660E\u4E3A A \u7684\u5B57\u6BB5, \u8FD4\u56DE A \u7684\u65B9\u6CD5, \u4EE5\u53CA\u5E26\u6709\u7C7B\u578B\u4E3A A \u7684\u53C2\u6570\u7684\u65B9\u6CD5\u548C\u6784\u9020\u5668\u3002\u8BBF\u95EE\u6B64\u9875\u9762\u7684\u65B9\u6CD5\u662F: \u9996\u5148\u8F6C\u81F3\u7A0B\u5E8F\u5305, \u7C7B\u6216\u63A5\u53E3, \u7136\u540E\u5355\u51FB\u5BFC\u822A\u680F\u4E2D\u7684 "\u4F7F\u7528" \u94FE\u63A5\u3002
-doclet.Help_line_16=\u6811 (\u7C7B\u5206\u5C42\u7ED3\u6784)
-doclet.Help_line_17_with_tree_link=\u5BF9\u4E8E\u6240\u6709\u7A0B\u5E8F\u5305, \u6709\u4E00\u4E2A{0}\u9875\u9762, \u4EE5\u53CA\u6BCF\u4E2A\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002\u6BCF\u4E2A\u5206\u5C42\u7ED3\u6784\u9875\u9762\u90FD\u5305\u542B\u7C7B\u7684\u5217\u8868\u548C\u63A5\u53E3\u7684\u5217\u8868\u3002\u4ECE{1}\u5F00\u59CB, \u6309\u7EE7\u627F\u7ED3\u6784\u5BF9\u7C7B\u8FDB\u884C\u6392\u5217\u3002\u63A5\u53E3\u4E0D\u4ECE{1}\u7EE7\u627F\u3002
-doclet.Help_line_18=\u67E5\u770B\u201C\u6982\u89C8\u201D\u9875\u9762\u65F6, \u5355\u51FB "\u6811" \u5C06\u663E\u793A\u6240\u6709\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002
-doclet.Help_line_19=\u67E5\u770B\u7279\u5B9A\u7A0B\u5E8F\u5305, \u7C7B\u6216\u63A5\u53E3\u9875\u9762\u65F6, \u5355\u51FB "\u6811" \u5C06\u4EC5\u663E\u793A\u8BE5\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002
-doclet.Help_line_20_with_deprecated_api_link={0} \u9875\u9762\u5217\u51FA\u4E86\u6240\u6709\u5DF2\u8FC7\u65F6\u7684 API\u3002\u4E00\u822C\u7531\u4E8E\u8FDB\u884C\u4E86\u6539\u8FDB\u5E76\u4E14\u901A\u5E38\u63D0\u4F9B\u4E86\u66FF\u4EE3\u7684 API, \u6240\u4EE5\u5EFA\u8BAE\u4E0D\u8981\u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684 API\u3002\u5728\u5C06\u6765\u7684\u5B9E\u73B0\u8FC7\u7A0B\u4E2D, \u53EF\u80FD\u4F1A\u5220\u9664\u5DF2\u8FC7\u65F6\u7684 API\u3002
-doclet.Help_line_21=\u7D22\u5F15
-doclet.Help_line_22={0} \u5305\u542B\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217\u7684\u6240\u6709\u7C7B, \u63A5\u53E3, \u6784\u9020\u5668, \u65B9\u6CD5\u548C\u5B57\u6BB5\u7684\u5217\u8868\u3002
-doclet.Help_line_23=\u4E0A\u4E00\u4E2A/\u4E0B\u4E00\u4E2A
-doclet.Help_line_24=\u8FD9\u4E9B\u94FE\u63A5\u4F7F\u60A8\u53EF\u4EE5\u8F6C\u81F3\u4E0B\u4E00\u4E2A\u6216\u4E0A\u4E00\u4E2A\u7C7B, \u63A5\u53E3, \u7A0B\u5E8F\u5305\u6216\u76F8\u5173\u9875\u9762\u3002
-doclet.Help_line_25=\u6846\u67B6/\u65E0\u6846\u67B6
-doclet.Help_line_26=\u8FD9\u4E9B\u94FE\u63A5\u7528\u4E8E\u663E\u793A\u548C\u9690\u85CF HTML \u6846\u67B6\u3002\u6240\u6709\u9875\u9762\u5747\u5177\u6709\u6709\u6846\u67B6\u548C\u65E0\u6846\u67B6\u4E24\u79CD\u663E\u793A\u65B9\u5F0F\u3002
-doclet.Help_line_27={0}\u94FE\u63A5\u663E\u793A\u6240\u6709\u7C7B\u548C\u63A5\u53E3 (\u9664\u4E86\u975E\u9759\u6001\u5D4C\u5957\u7C7B\u578B)\u3002
-doclet.Help_line_28=\u6BCF\u4E2A\u53EF\u5E8F\u5217\u5316\u6216\u53EF\u5916\u90E8\u5316\u7684\u7C7B\u90FD\u6709\u5176\u5E8F\u5217\u5316\u5B57\u6BB5\u548C\u65B9\u6CD5\u7684\u8BF4\u660E\u3002\u6B64\u4FE1\u606F\u5BF9\u91CD\u65B0\u5B9E\u73B0\u8005\u6709\u7528, \u800C\u5BF9\u4F7F\u7528 API \u7684\u5F00\u53D1\u8005\u5219\u6CA1\u6709\u4EC0\u4E48\u7528\u5904\u3002\u5C3D\u7BA1\u5BFC\u822A\u680F\u4E2D\u6CA1\u6709\u94FE\u63A5, \u4F46\u60A8\u53EF\u4EE5\u901A\u8FC7\u4E0B\u5217\u65B9\u5F0F\u83B7\u53D6\u6B64\u4FE1\u606F: \u8F6C\u81F3\u4EFB\u4F55\u5E8F\u5217\u5316\u7C7B, \u7136\u540E\u5355\u51FB\u7C7B\u8BF4\u660E\u7684 "\u53E6\u8BF7\u53C2\u9605" \u90E8\u5206\u4E2D\u7684 "\u5E8F\u5217\u5316\u8868\u683C"\u3002
-doclet.Help_line_29={0}\u9875\u9762\u5217\u51FA\u4E86\u9759\u6001\u6700\u7EC8\u5B57\u6BB5\u53CA\u5176\u503C\u3002
-doclet.Help_line_30=\u6B64\u5E2E\u52A9\u6587\u4EF6\u9002\u7528\u4E8E\u4F7F\u7528\u6807\u51C6 doclet \u751F\u6210\u7684 API \u6587\u6863\u3002
-doclet.Help_enum_line_1=\u6BCF\u4E2A\u679A\u4E3E\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762, \u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206:
-doclet.Help_enum_line_2=\u679A\u4E3E\u58F0\u660E
-doclet.Help_enum_line_3=\u679A\u4E3E\u8BF4\u660E
-doclet.Help_annotation_type_line_1=\u6BCF\u4E2A\u6CE8\u91CA\u7C7B\u578B\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762, \u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206:
-doclet.Help_annotation_type_line_2=\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E
-doclet.Help_annotation_type_line_3=\u6CE8\u91CA\u7C7B\u578B\u8BF4\u660E
+
+doclet.help.main_heading=\u6B64 API \u6587\u6863\u7684\u7EC4\u7EC7\u65B9\u5F0F
+doclet.help.intro=\u6B64 API (\u5E94\u7528\u7A0B\u5E8F\u7F16\u7A0B\u63A5\u53E3) \u6587\u6863\u5305\u542B\u5BF9\u5E94\u4E8E\u5BFC\u822A\u680F\u4E2D\u7684\u9879\u76EE\u7684\u9875\u9762, \u5982\u4E0B\u6240\u8FF0\u3002
+doclet.help.overview.modules.body=The {0} page is the front page of this API document and provides a list of all modules with a summary for each. This page can also contain an overall description of the set of modules.
+doclet.help.overview.packages.body={0} \u9875\u9762\u662F\u6B64 API \u6587\u6863\u7684\u9996\u9875, \u63D0\u4F9B\u4E86\u6240\u6709\u7A0B\u5E8F\u5305\u7684\u5217\u8868\u53CA\u5176\u6982\u8981\u3002\u6B64\u9875\u9762\u4E5F\u53EF\u80FD\u5305\u542B\u8FD9\u4E9B\u7A0B\u5E8F\u5305\u7684\u603B\u4F53\u8BF4\u660E\u3002
+doclet.help.package.intro=Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:
+doclet.help.module.intro=Each module has a page that contains a list of its packages, dependencies on other modules, and services, with a summary for each. These page may contain three categories:
+doclet.help.class_interface.head=Class or Interface
+doclet.help.class_interface.intro=\u6BCF\u4E2A\u7C7B, \u63A5\u53E3, \u5D4C\u5957\u7C7B\u548C\u5D4C\u5957\u63A5\u53E3\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762\u3002\u5176\u4E2D\u6BCF\u4E2A\u9875\u9762\u90FD\u7531\u4E09\u90E8\u5206 (\u7C7B/\u63A5\u53E3\u8BF4\u660E, \u6982\u8981\u8868, \u4EE5\u53CA\u8BE6\u7EC6\u7684\u6210\u5458\u8BF4\u660E) \u7EC4\u6210:
+doclet.help.class_interface.inheritance_diagram=Class Inheritance Diagram
+doclet.help.class_interface.subclasses=\u76F4\u63A5\u5B50\u7C7B
+doclet.help.class_interface.subinterfaces=\u6240\u6709\u5DF2\u77E5\u5B50\u63A5\u53E3
+doclet.help.class_interface.implementations=\u6240\u6709\u5DF2\u77E5\u5B9E\u73B0\u7C7B
+doclet.help.class_interface.declaration=Class or Interface Declaration
+doclet.help.class_interface.description=Class or Interface Description
+doclet.help.class_interface.summary=\u6BCF\u4E2A\u6982\u8981\u6761\u76EE\u90FD\u5305\u542B\u8BE5\u9879\u76EE\u7684\u8BE6\u7EC6\u8BF4\u660E\u7684\u7B2C\u4E00\u53E5\u3002\u6982\u8981\u6761\u76EE\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217, \u800C\u8BE6\u7EC6\u8BF4\u660E\u5219\u6309\u5176\u5728\u6E90\u4EE3\u7801\u4E2D\u51FA\u73B0\u7684\u987A\u5E8F\u6392\u5217\u3002\u8FD9\u6837\u4FDD\u6301\u4E86\u7A0B\u5E8F\u5458\u6240\u5EFA\u7ACB\u7684\u903B\u8F91\u5206\u7EC4\u3002
+doclet.help.use.head=\u4F7F\u7528
+doclet.help.use.body=Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its "Use" page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+doclet.help.tree.head=\u6811 (\u7C7B\u5206\u5C42\u7ED3\u6784)
+doclet.help.tree.intro=There is a {0} page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with {1}. Interfaces do not inherit from {1}.
+doclet.help.tree.overview=\u67E5\u770B\u201C\u6982\u89C8\u201D\u9875\u9762\u65F6, \u5355\u51FB "\u6811" \u5C06\u663E\u793A\u6240\u6709\u7A0B\u5E8F\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002
+doclet.help.tree.package=When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.
+doclet.help.deprecated.body={0} \u9875\u9762\u5217\u51FA\u4E86\u6240\u6709\u5DF2\u8FC7\u65F6\u7684 API\u3002\u4E00\u822C\u7531\u4E8E\u8FDB\u884C\u4E86\u6539\u8FDB\u5E76\u4E14\u901A\u5E38\u63D0\u4F9B\u4E86\u66FF\u4EE3\u7684 API, \u6240\u4EE5\u5EFA\u8BAE\u4E0D\u8981\u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684 API\u3002\u5728\u5C06\u6765\u7684\u5B9E\u73B0\u8FC7\u7A0B\u4E2D, \u53EF\u80FD\u4F1A\u5220\u9664\u5DF2\u8FC7\u65F6\u7684 API\u3002
+doclet.help.index.head=\u7D22\u5F15
+doclet.help.index.body=The {0} contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.
+doclet.help.frames.head=\u6846\u67B6/\u65E0\u6846\u67B6
+doclet.help.frames.body=\u8FD9\u4E9B\u94FE\u63A5\u7528\u4E8E\u663E\u793A\u548C\u9690\u85CF HTML \u6846\u67B6\u3002\u6240\u6709\u9875\u9762\u5747\u5177\u6709\u6709\u6846\u67B6\u548C\u65E0\u6846\u67B6\u4E24\u79CD\u663E\u793A\u65B9\u5F0F\u3002
+doclet.help.all_classes.body={0}\u94FE\u63A5\u663E\u793A\u6240\u6709\u7C7B\u548C\u63A5\u53E3 (\u9664\u4E86\u975E\u9759\u6001\u5D4C\u5957\u7C7B\u578B)\u3002
+doclet.help.serial_form.body=\u6BCF\u4E2A\u53EF\u5E8F\u5217\u5316\u6216\u53EF\u5916\u90E8\u5316\u7684\u7C7B\u90FD\u6709\u5176\u5E8F\u5217\u5316\u5B57\u6BB5\u548C\u65B9\u6CD5\u7684\u8BF4\u660E\u3002\u6B64\u4FE1\u606F\u5BF9\u91CD\u65B0\u5B9E\u73B0\u8005\u6709\u7528, \u800C\u5BF9\u4F7F\u7528 API \u7684\u5F00\u53D1\u8005\u5219\u6CA1\u6709\u4EC0\u4E48\u7528\u5904\u3002\u5C3D\u7BA1\u5BFC\u822A\u680F\u4E2D\u6CA1\u6709\u94FE\u63A5, \u4F46\u60A8\u53EF\u4EE5\u901A\u8FC7\u4E0B\u5217\u65B9\u5F0F\u83B7\u53D6\u6B64\u4FE1\u606F: \u8F6C\u81F3\u4EFB\u4F55\u5E8F\u5217\u5316\u7C7B, \u7136\u540E\u5355\u51FB\u7C7B\u8BF4\u660E\u7684 "\u53E6\u8BF7\u53C2\u9605" \u90E8\u5206\u4E2D\u7684 "\u5E8F\u5217\u5316\u8868\u683C"\u3002
+doclet.help.constants.body={0}\u9875\u9762\u5217\u51FA\u4E86\u9759\u6001\u6700\u7EC8\u5B57\u6BB5\u53CA\u5176\u503C\u3002
+doclet.help.footnote=This help file applies to API documentation generated by the standard doclet.
+doclet.help.enum.intro=\u6BCF\u4E2A\u679A\u4E3E\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762, \u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206:
+doclet.help.enum.declaration=\u679A\u4E3E\u58F0\u660E
+doclet.help.enum.definition=Enum Description
+doclet.help.annotation_type.intro=\u6BCF\u4E2A\u6CE8\u91CA\u7C7B\u578B\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762, \u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206:
+doclet.help.annotation_type.declaration=Annotation Type Declaration
+doclet.help.annotation_type.description=Annotation Type Description
+doclet.help.search.head=Search
+doclet.help.search.body=You can search for definitions of modules, packages, types, fields, methods and other terms defined in the API, using some or all of the name. "Camel-case" abbreviations are supported: for example, "InpStr" will find "InputStream" and "InputStreamReader".
+
doclet.ClassUse_Packages.that.use.0=\u4F7F\u7528{0}\u7684\u7A0B\u5E8F\u5305
doclet.ClassUse_Uses.of.0.in.1={1}\u4E2D{0}\u7684\u4F7F\u7528
doclet.ClassUse_Classes.in.0.used.by.1={1}\u4F7F\u7528\u7684{0}\u4E2D\u7684\u7C7B
@@ -240,6 +234,8 @@
doclet.usage.nodeprecatedlist.description=\u4E0D\u751F\u6210\u5DF2\u8FC7\u65F6\u7684\u5217\u8868
+doclet.usage.no-module-directories.description=\u4E0D\u5C06\u6A21\u5757\u6587\u6863\u7684\u6587\u4EF6\u5206\u7EC4\u5230\n\u6A21\u5757\u7279\u5B9A\u7684\u76EE\u5F55\u4E2D
+
doclet.usage.notree.description=\u4E0D\u751F\u6210\u7C7B\u5206\u5C42\u7ED3\u6784
doclet.usage.noindex.description=\u4E0D\u751F\u6210\u7D22\u5F15
@@ -262,7 +258,7 @@
doclet.usage.charset.parameters=<charset>
doclet.usage.charset.description=\u7528\u4E8E\u8DE8\u5E73\u53F0\u67E5\u770B\u751F\u6210\u7684\u6587\u6863\u7684\u5B57\u7B26\u96C6
-doclet.usage.javafx.description=\u542F\u7528 javafx \u529F\u80FD
+doclet.usage.javafx.description=\u542F\u7528 JavaFX \u529F\u80FD
doclet.usage.helpfile.parameters=<file>
doclet.usage.helpfile.description=\u5305\u542B\u5E2E\u52A9\u94FE\u63A5\u6240\u94FE\u63A5\u5230\u7684\u6587\u4EF6
@@ -280,9 +276,9 @@
doclet.usage.docencoding.parameters=<name>
doclet.usage.docencoding.description=\u6307\u5B9A\u8F93\u51FA\u7684\u5B57\u7B26\u7F16\u7801
-doclet.usage.frames.description=\u5141\u8BB8\u5728\u751F\u6210\u7684\u8F93\u51FA\u4E2D\u4F7F\u7528\u5E27 (\u9ED8\u8BA4\u503C)
+doclet.usage.frames.description=\u5141\u8BB8\u5728\u751F\u6210\u7684\u8F93\u51FA\u4E2D\u4F7F\u7528\u5E27
-doclet.usage.no-frames.description=\u7981\u6B62\u5728\u751F\u6210\u7684\u8F93\u51FA\u4E2D\u4F7F\u7528\u5E27
+doclet.usage.no-frames.description=\u7981\u6B62\u5728\u751F\u6210\u7684\u8F93\u51FA\u4E2D\u4F7F\u7528\u5E27\uFF08\u9ED8\u8BA4\u503C\uFF09
doclet.usage.override-methods.parameters=(detail|summary)
@@ -303,4 +299,7 @@
doclet.usage.xdoclint-package.description=\u5728\u7279\u5B9A\u7684\u7A0B\u5E8F\u5305\u4E2D\u542F\u7528\u6216\u7981\u7528\u68C0\u67E5\u3002<\u7A0B\u5E8F\u5305>\n\u662F\u9017\u53F7\u5206\u9694\u7684\u7A0B\u5E8F\u5305\u8BF4\u660E\u7B26\u5217\u8868\u3002\u7A0B\u5E8F\u5305\n\u8BF4\u660E\u7B26\u662F\u7A0B\u5E8F\u5305\u7684\u9650\u5B9A\u540D\u79F0\u6216\u7A0B\u5E8F\u5305\u540D\u79F0\n\u524D\u7F00\u540E\u8DDF .*, \u5B83\u6269\u5C55\u5230\u7ED9\u5B9A\u7A0B\u5E8F\u5305\u7684\u6240\u6709\n\u5B50\u7A0B\u5E8F\u5305\u3002\u5728\u7A0B\u5E8F\u5305\u8BF4\u660E\u7B26\u524D\u9762\u52A0\u4E0A - \u53EF\u4EE5\n\u4E3A\u6307\u5B9A\u7A0B\u5E8F\u5305\u7981\u7528\u68C0\u67E5\u3002
# L10N: do not localize the option names -html4 and -html5
-doclet.HTML_version_not_specified=\u672A\u6307\u5B9A\u8981\u4F7F\u7528\u7684 HTML \u7248\u672C\u3002\n\u9ED8\u8BA4\u503C\u5F53\u524D\u4E3A HTML 4.01\uFF0C\u4F46\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\n\u5C06\u66F4\u6539\u4E3A HTML5\u3002\u8981\u9690\u85CF\u6B64\u8B66\u544A\uFF0C\u8BF7\u4F7F\u7528 -html4 \n\u6216 -html5 \u9009\u9879\uFF0C\u6307\u5B9A\u8981\u7531\u6B64 doclet \u751F\u6210\u7684\u3001\n\u5728\u6587\u6863\u6CE8\u91CA\u4E2D\u4F7F\u7528\u7684 HTML \u7248\u672C\u3002
+doclet.HTML_4_specified=\u60A8\u5DF2\u4F7F\u7528 -html4 \u9009\u9879\u5C06 HTML \u7248\u672C\u6307\u5B9A\u4E3A HTML 4.01\u3002\n\u9ED8\u8BA4\u503C\u5F53\u524D\u4E3A HTML5\uFF0C\u672A\u6765\u7684\u53D1\u884C\u7248\u4E2D\u5C06\u5220\u9664\u5BF9 \nHTML 4.01 \u7684\u652F\u6301\u3002\u8981\u9690\u85CF\u6B64\u8B66\u544A\uFF0C\u8BF7\u786E\u4FDD\u60A8\u7684\u6CE8\u91CA\u4E2D\u4F7F\u7528\u7684\u4EFB\u4F55 HTML \u7ED3\u6784\n\u5728 HTML5 \u4E2D\u5747\u6709\u6548\u5E76\u5220\u9664 -html4 \u9009\u9879\u3002
+
+# L10N: do not localize the option names --frames
+doclet.Frames_specified=\u60A8\u5DF2\u6307\u5B9A\u901A\u8FC7\u4F7F\u7528 --frames \u9009\u9879\u751F\u6210\u5E27\u3002\n\u9ED8\u8BA4\u8BBE\u7F6E\u5F53\u524D\u4E3A\u4E0D\u751F\u6210\u5E27\uFF0C\u5BF9\u5E27\u7684\u652F\u6301\n\u5C06\u5728\u672A\u6765\u7684\u53D1\u884C\u7248\u4E2D\u5220\u9664\u3002\n\u8981\u9690\u85CF\u6B64\u8B66\u544A\uFF0C\u8BF7\u5220\u9664 --frames \u9009\u9879\u5E76\u907F\u514D\u4F7F\u7528\u5E27\u3002
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -66,6 +66,7 @@
doclet.See_Also=\u95A2\u9023\u9805\u76EE:
doclet.See=\u53C2\u7167\u5148:
doclet.SerialData=\u30B7\u30EA\u30A2\u30EB\u30FB\u30C7\u30FC\u30BF:
+doclet.Services=\u30B5\u30FC\u30D3\u30B9
doclet.Since=\u5C0E\u5165\u3055\u308C\u305F\u30D0\u30FC\u30B8\u30E7\u30F3:
doclet.Throws=\u4F8B\u5916:
doclet.Version=\u30D0\u30FC\u30B8\u30E7\u30F3:
@@ -108,7 +109,6 @@
doclet.Exceptions=\u4F8B\u5916
doclet.Errors=\u30A8\u30E9\u30FC
doclet.Classes=\u30AF\u30E9\u30B9
-doclet.Packages=\u30D1\u30C3\u30B1\u30FC\u30B8
doclet.packages=\u30D1\u30C3\u30B1\u30FC\u30B8
doclet.modules=\u30E2\u30B8\u30E5\u30FC\u30EB
doclet.types=\u30BF\u30A4\u30D7
@@ -163,7 +163,6 @@
doclet.Constructor_Detail=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u8A73\u7D30
doclet.Deprecated=\u63A8\u5968\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
doclet.DeprecatedForRemoval=\u975E\u63A8\u5968\u3001\u524A\u9664\u4E88\u5B9A: \u3053\u306EAPI\u8981\u7D20\u306F\u5C06\u6765\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3067\u524A\u9664\u4E88\u5B9A\u3067\u3059\u3002
-doclet.Hidden=\u975E\u8868\u793A
doclet.Groupname_already_used=-group\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u304A\u3044\u3066\u3001\u3059\u3067\u306B\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}
doclet.value_tag_invalid_reference={0}(@value\u30BF\u30B0\u306B\u3088\u308A\u53C2\u7167\u3055\u308C\u3066\u3044\u308B)\u306F\u4E0D\u660E\u306A\u53C2\u7167\u3067\u3059\u3002
doclet.value_tag_invalid_constant=@value\u30BF\u30B0({0}\u3092\u53C2\u7167\u3057\u3066\u3044\u308B)\u306F\u5B9A\u6570\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -66,6 +66,7 @@
doclet.See_Also=\u53E6\u8BF7\u53C2\u9605:
doclet.See=\u8BF7\u53C2\u9605:
doclet.SerialData=\u5E8F\u5217\u6570\u636E:
+doclet.Services=\u670D\u52A1
doclet.Since=\u4ECE\u4EE5\u4E0B\u7248\u672C\u5F00\u59CB:
doclet.Throws=\u629B\u51FA:
doclet.Version=\u7248\u672C:
@@ -108,7 +109,6 @@
doclet.Exceptions=\u5F02\u5E38\u9519\u8BEF
doclet.Errors=\u9519\u8BEF
doclet.Classes=\u7C7B
-doclet.Packages=\u7A0B\u5E8F\u5305
doclet.packages=\u7A0B\u5E8F\u5305
doclet.modules=\u6A21\u5757
doclet.types=\u7C7B\u578B
@@ -163,7 +163,6 @@
doclet.Constructor_Detail=\u6784\u9020\u5668\u8BE6\u7EC6\u8D44\u6599
doclet.Deprecated=\u5DF2\u8FC7\u65F6\u3002
doclet.DeprecatedForRemoval=\u5DF2\u8FC7\u65F6, \u5F85\u5220\u9664: \u6B64 API \u5143\u7D20\u5C06\u4ECE\u4EE5\u540E\u7684\u7248\u672C\u4E2D\u5220\u9664\u3002
-doclet.Hidden=\u9690\u85CF
doclet.Groupname_already_used=\u5728 -group \u9009\u9879\u4E2D, groupname \u5DF2\u4F7F\u7528: {0}
doclet.value_tag_invalid_reference={0} (\u7531 @value \u6807\u8BB0\u5F15\u7528) \u4E3A\u672A\u77E5\u5F15\u7528\u3002
doclet.value_tag_invalid_constant=@value \u6807\u8BB0 (\u5F15\u7528{0}) \u53EA\u80FD\u5728\u5E38\u91CF\u4E2D\u4F7F\u7528\u3002
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 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
@@ -105,6 +105,8 @@
main.opt.source.arg=<release>
main.opt.source.desc=\u6307\u5B9A\u3055\u308C\u305F\u30EA\u30EA\u30FC\u30B9\u3068\u30BD\u30FC\u30B9\u306E\u4E92\u63DB\u6027\u3092\u4FDD\u3064
+main.opt.enable.preview.desc=\u30D7\u30EC\u30D3\u30E5\u30FC\u8A00\u8A9E\u6A5F\u80FD\u3092\u6709\u52B9\u306B\u3059\u308B\u3002-source\u307E\u305F\u306F--release\u3068\u3068\u3082\u306B\n\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002
+
main.opt.extdirs.arg=<dirlist>
main.opt.extdirs.desc=\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u62E1\u5F35\u6A5F\u80FD\u306E\u4F4D\u7F6E\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B
@@ -174,7 +176,6 @@
main.doclet_no_classloader_found={0}\u3092\u30ED\u30FC\u30C9\u3059\u308B\u30AF\u30E9\u30B9\u30ED\u30FC\u30C0\u30FC\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
main.could_not_instantiate_class=\u30AF\u30E9\u30B9{0}\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
main.doclet_class_not_found=doclet\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
-main.illegal_locale_name=\u30ED\u30B1\u30FC\u30EB{0}\u304C\u7121\u52B9\u3067\u3059
main.malformed_locale_name=\u30ED\u30B1\u30FC\u30EB\u540D{0}\u306E\u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093
main.file_not_found=\u30D5\u30A1\u30A4\u30EB"{0}"\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
main.illegal_class_name=\u30AF\u30E9\u30B9\u540D\u304C\u4E0D\u6B63\u3067\u3059: "{0}"
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 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
@@ -105,6 +105,8 @@
main.opt.source.arg=<\u53D1\u884C\u7248>
main.opt.source.desc=\u63D0\u4F9B\u4E0E\u6307\u5B9A\u53D1\u884C\u7248\u7684\u6E90\u517C\u5BB9\u6027
+main.opt.enable.preview.desc=\u542F\u7528\u9884\u89C8\u8BED\u8A00\u529F\u80FD\u3002\u4E0E -source \u6216 --release \n\u4E00\u8D77\u4F7F\u7528\u3002
+
main.opt.extdirs.arg=<\u76EE\u5F55\u5217\u8868>
main.opt.extdirs.desc=\u8986\u76D6\u6240\u5B89\u88C5\u6269\u5C55\u7684\u4F4D\u7F6E
@@ -174,7 +176,6 @@
main.doclet_no_classloader_found=\u65E0\u6CD5\u83B7\u53D6\u7C7B\u52A0\u8F7D\u5668\u6765\u52A0\u8F7D {0}
main.could_not_instantiate_class=\u65E0\u6CD5\u5B9E\u4F8B\u5316\u7C7B {0}
main.doclet_class_not_found=\u627E\u4E0D\u5230 doclet \u7C7B{0}
-main.illegal_locale_name=\u8BED\u8A00\u73AF\u5883\u4E0D\u53EF\u7528: {0}
main.malformed_locale_name=\u683C\u5F0F\u9519\u8BEF\u7684\u8BED\u8A00\u73AF\u5883\u540D\u79F0: {0}
main.file_not_found=\u627E\u4E0D\u5230\u6587\u4EF6: "{0}"
main.illegal_class_name=\u975E\u6CD5\u7C7B\u540D: "{0}"
--- a/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -22,19 +22,19 @@
err.cant.find.module=\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
err.cant.find.module.ex=\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306E\u691C\u7D22\u4E2D\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {1}
-main.usage.summary=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001-help\u3092\u4F7F\u7528\u3057\u307E\u3059
+main.usage.summary=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001--help\u3092\u4F7F\u7528\u3057\u307E\u3059
warn.prefix=\u8B66\u544A:
warn.unexpected.class=\u30D5\u30A1\u30A4\u30EB{0}\u306B\u30AF\u30E9\u30B9{1}\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093
note.prefix=\u6CE8:
-main.usage.summary=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001-help\u3092\u4F7F\u7528\u3057\u307E\u3059
+main.usage.summary=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001--help\u3092\u4F7F\u7528\u3057\u307E\u3059
main.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059:
-main.opt.help=\ -help --help -? \u3053\u306E\u4F7F\u7528\u65B9\u6CD5\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B
+main.opt.help=\ -? -h --help -help \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059
main.opt.version=\ -version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
--- a/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -22,19 +22,19 @@
err.cant.find.module=\u627E\u4E0D\u5230\u6A21\u5757 {0}
err.cant.find.module.ex=\u67E5\u627E\u6A21\u5757 {0} \u65F6\u51FA\u73B0\u95EE\u9898: {1}
-main.usage.summary=\u7528\u6CD5: {0} <options> <classes>\n\u4F7F\u7528 -help \u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879
+main.usage.summary=\u7528\u6CD5\uFF1A{0} <\u9009\u9879> <\u7C7B>\n\u4F7F\u7528 --help \u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879
warn.prefix=\u8B66\u544A:
warn.unexpected.class=\u6587\u4EF6 {0} \u4E0D\u5305\u542B\u7C7B {1}
note.prefix=\u6CE8:
-main.usage.summary=\u7528\u6CD5: {0} <options> <classes>\n\u4F7F\u7528 -help \u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879
+main.usage.summary=\u7528\u6CD5\uFF1A{0} <\u9009\u9879> <\u7C7B>\n\u4F7F\u7528 --help \u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879
main.usage=\u7528\u6CD5: {0} <options> <classes>\n\u5176\u4E2D, \u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC:
-main.opt.help=\ -help --help -? \u8F93\u51FA\u6B64\u7528\u6CD5\u6D88\u606F
+main.opt.help=\ -? -h --help -help \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F
main.opt.version=\ -version \u7248\u672C\u4FE1\u606F
--- a/src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/resources/jdeprscan_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/resources/jdeprscan_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,6 +1,6 @@
-main.usage=\u4F7F\u7528\u65B9\u6CD5: jdeprscan [options] '{dir|jar|class}' ...\n\n\u30AA\u30D7\u30B7\u30E7\u30F3:\n --class-path PATH\n --for-removal\n --full-version\n -h --help\n -l --list\n --release 6|7|8|9|10\n -v --verbose\n --version
+main.usage=\u4F7F\u7528\u65B9\u6CD5: jdeprscan [options] ''{dir|jar|class}'' ...\n\n\u30AA\u30D7\u30B7\u30E7\u30F3:\n --class-path PATH\n --for-removal\n --full-version\n -? -h --help\n -l --list\n --release {0}\n -v --verbose\n --version
-main.help=\u975E\u63A8\u5968API\u306E\u4F7F\u7528\u306B\u3064\u3044\u3066\u5404\u5F15\u6570\u3092\u30B9\u30AD\u30E3\u30F3\u3057\u307E\u3059\u3002\u5F15\u6570\u306B\u306F\u3001\n\u30D1\u30C3\u30B1\u30FC\u30B8\u968E\u5C64\u306E\u30EB\u30FC\u30C8\u3092\u6307\u5B9A\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u30D5\u30A1\u30A4\u30EB\u3001\n\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30AF\u30E9\u30B9\u540D\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\u30AF\u30E9\u30B9\u540D\u306F\u3001\n\u5B8C\u5168\u4FEE\u98FE\u30AF\u30E9\u30B9\u540D\u3092\u4F7F\u7528\u3057\u3066\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30CD\u30B9\u30C8\u3055\u308C\u305F\n\u30AF\u30E9\u30B9\u306F$\u3067\u533A\u5207\u308A\u307E\u3059\u3002\u4F8B:\n\n java.lang.Thread$State\n\n--class-path\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u4F9D\u5B58\u3059\u308B\u30AF\u30E9\u30B9\u306E\u89E3\u6C7A\u306E\u305F\u3081\u306E\n\u691C\u7D22\u30D1\u30B9\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\n\n--for-removal\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u30B9\u30AD\u30E3\u30F3\u3068\u30EA\u30B9\u30C8\u5316\u3092\u524A\u9664\u4E88\u5B9A\u3067\u975E\u63A8\u5968\u306EAPI\u306B\n\u9650\u5B9A\u3057\u307E\u3059\u3002\u30EA\u30EA\u30FC\u30B9\u5024\u304C6\u30017\u307E\u305F\u306F8\u306E\u5834\u5408\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\n\n--full-version\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30C4\u30FC\u30EB\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u6587\u5B57\u5217\u306E\u5168\u4F53\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\n\n--help\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u5168\u4F53\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\n\n--list (-l)\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u63A8\u5968API\u30BB\u30C3\u30C8\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\u30B9\u30AD\u30E3\u30F3\u306F\u884C\u308F\u308C\u306A\u3044\n\u305F\u3081\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u307E\u305F\u306F\u30AF\u30E9\u30B9\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\n--release\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u30B9\u30AD\u30E3\u30F3\u3059\u308B\u975E\u63A8\u5968API\u306E\u30BB\u30C3\u30C8\u3092\u63D0\u4F9B\u3059\u308BJava SE\n\u30EA\u30EA\u30FC\u30B9\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\n\n--verbose (-v)\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u3001\u51E6\u7406\u4E2D\u306B\u8FFD\u52A0\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3067\u304D\u307E\u3059\u3002\n\n--version\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u7C21\u7565\u5316\u3055\u308C\u305F\u30C4\u30FC\u30EB\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u6587\u5B57\u5217\u3092\u51FA\u529B\u3057\u307E\u3059\u3002
+main.help=\u975E\u63A8\u5968API\u306E\u4F7F\u7528\u306B\u3064\u3044\u3066\u5404\u5F15\u6570\u3092\u30B9\u30AD\u30E3\u30F3\u3057\u307E\u3059\u3002\u5F15\u6570\u306B\u306F\u3001\n\u30D1\u30C3\u30B1\u30FC\u30B8\u968E\u5C64\u306E\u30EB\u30FC\u30C8\u3092\u6307\u5B9A\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u30D5\u30A1\u30A4\u30EB\u3001\n\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30AF\u30E9\u30B9\u540D\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\u30AF\u30E9\u30B9\u540D\u306F\u3001\n\u5B8C\u5168\u4FEE\u98FE\u30AF\u30E9\u30B9\u540D\u3092\u4F7F\u7528\u3057\u3066\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30CD\u30B9\u30C8\u3055\u308C\u305F\n\u30AF\u30E9\u30B9\u306F$\u3067\u533A\u5207\u308A\u307E\u3059\u3002\u4F8B:\n\n java.lang.Thread$State\n\n--class-path\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u4F9D\u5B58\u3059\u308B\u30AF\u30E9\u30B9\u306E\u89E3\u6C7A\u306E\u305F\u3081\u306E\n\u691C\u7D22\u30D1\u30B9\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\n\n--for-removal\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u30B9\u30AD\u30E3\u30F3\u3068\u30EA\u30B9\u30C8\u5316\u3092\u524A\u9664\u4E88\u5B9A\u3067\u975E\u63A8\u5968\u306EAPI\u306B\n\u9650\u5B9A\u3057\u307E\u3059\u3002\u30EA\u30EA\u30FC\u30B9\u5024\u304C6\u30017\u307E\u305F\u306F8\u306E\u5834\u5408\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\n\n--full-version\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30C4\u30FC\u30EB\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u6587\u5B57\u5217\u306E\u5168\u4F53\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\n\n--help (-? -h)\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u5168\u4F53\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\n\n--list (-l)\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u63A8\u5968API\u30BB\u30C3\u30C8\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\u30B9\u30AD\u30E3\u30F3\u306F\u884C\u308F\u308C\u306A\u3044\u305F\u3081\u3001\n\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u307E\u305F\u306F\u30AF\u30E9\u30B9\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\n--release\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u30B9\u30AD\u30E3\u30F3\u3059\u308B\u975E\u63A8\u5968API\u306E\u30BB\u30C3\u30C8\u3092\u63D0\u4F9B\u3059\u308BJava SE\n\u30EA\u30EA\u30FC\u30B9\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\n\n--verbose (-v)\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u3001\u51E6\u7406\u4E2D\u306B\u8FFD\u52A0\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3067\u304D\u307E\u3059\u3002\n\n--version\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u7C21\u7565\u5316\u3055\u308C\u305F\u30C4\u30FC\u30EB\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u6587\u5B57\u5217\u3092\u51FA\u529B\u3057\u307E\u3059\u3002
main.xhelp=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u30AA\u30D7\u30B7\u30E7\u30F3:\n\n --Xload-class CLASS\n \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n --Xload-csv CSVFILE\n \u6307\u5B9A\u3057\u305FCSV\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n --Xload-dir DIR\n \u6307\u5B9A\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3042\u308B\u30AF\u30E9\u30B9\u968E\u5C64\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\n \u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n --Xload-jar JARFILE\n \u6307\u5B9A\u3057\u305FJAR\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n --Xload-jdk9 JAVA_HOME\n JAVA_HOME\u306B\u3042\u308BJDK\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n \u30E2\u30B8\u30E5\u30E9JDK\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n --Xload-old-jdk JAVA_HOME\n JAVA_HOME\u306B\u3042\u308BJDK\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n \u30E2\u30B8\u30E5\u30E9JDK\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u6307\u5B9A\u3057\u305FJDK\u306F\n rt.jar\u30D5\u30A1\u30A4\u30EB\u3092\u6301\u3064"\u30AF\u30E9\u30B7\u30C3\u30AF"\u306AJDK\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n --Xload-self\n \u5B9F\u884C\u4E2DJDK\u30A4\u30E1\u30FC\u30B8\u306Ejrt:\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0\u3092\u8D70\u67FB\u3059\u308B\u3053\u3068\u306B\u3088\u308A\n \u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n --Xcompiler-arg ARG\n \u30B3\u30F3\u30D1\u30A4\u30E9\u5F15\u6570\u306E\u30EA\u30B9\u30C8\u306BARG\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\n --Xcsv-comment COMMENT\n \u30B3\u30E1\u30F3\u30C8\u884C\u3068\u3057\u3066COMMENT\u3092\u51FA\u529BCSV\u30D5\u30A1\u30A4\u30EB\u306B\u8FFD\u52A0\u3057\u307E\u3059\u3002\n -Xprint-csv\u3082\u6307\u5B9A\u3057\u305F\u5834\u5408\u306E\u307F\u6709\u52B9\u3067\u3059\u3002\n --Xhelp\n \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\n --Xprint-csv\n \u3042\u3089\u3086\u308B\u30AF\u30E9\u30B9\u307E\u305F\u306FJAR\u30D5\u30A1\u30A4\u30EB\u3092\u30B9\u30AD\u30E3\u30F3\u3059\u308B\u304B\u308F\u308A\u306B\n \u30ED\u30FC\u30C9\u3057\u305F\u975E\u63A8\u5968\u60C5\u5831\u3092\u542B\u3080CSV\u30D5\u30A1\u30A4\u30EB\u3092\u51FA\u529B\u3057\u307E\u3059\u3002
--- a/src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/resources/jdeprscan_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/resources/jdeprscan_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,6 +1,6 @@
-main.usage=\u7528\u6CD5: jdeprscan [\u9009\u9879] '{dir|jar|class}' ...\n\n\u9009\u9879:\n --class-path PATH\n --for-removal\n --full-version\n -h --help\n -l --list\n --release 6|7|8|9|10\n -v --verbose\n --version
+main.usage=\u7528\u6CD5\uFF1Ajdeprscan [options] ''{dir|jar|class}'' ...\n\n\u9009\u9879\uFF1A\n --class-path PATH\n --for-removal\n --full-version\n -? -h --help\n -l --list\n --release {0}\n -v --verbose\n --version
-main.help=\u626B\u63CF\u6BCF\u4E2A\u53C2\u6570\u4EE5\u4E86\u89E3\u662F\u5426\u4F7F\u7528\u4E86\u8FC7\u65F6\u7684 API\u3002\n\u53C2\u6570\u53EF\u4EE5\u662F\u6307\u5B9A\u7A0B\u5E8F\u5305\u5206\u5C42\u7ED3\u6784, JAR \u6587\u4EF6, \n\u7C7B\u6587\u4EF6\u6216\u7C7B\u540D\u7684\u6839\u7684\u76EE\u5F55\u3002\u7C7B\u540D\u5FC5\u987B\n\u4F7F\u7528\u5168\u9650\u5B9A\u7C7B\u540D\u6307\u5B9A, \u5E76\u4F7F\u7528 $ \u5206\u9694\u7B26\n\u6307\u5B9A\u5D4C\u5957\u7C7B, \u4F8B\u5982,\n\n java.lang.Thread$State\n\n--class-path \u9009\u9879\u63D0\u4F9B\u4E86\u7528\u4E8E\u89E3\u6790\u4ECE\u5C5E\u7C7B\u7684\n\u641C\u7D22\u8DEF\u5F84\u3002\n\n--for-removal \u9009\u9879\u9650\u5236\u626B\u63CF\u6216\u5217\u51FA\u5DF2\u8FC7\u65F6\u5E76\u5F85\u5220\u9664\n\u7684 API\u3002\u4E0D\u80FD\u4E0E\u53D1\u884C\u7248\u503C 6, 7 \u6216 8 \u4E00\u8D77\u4F7F\u7528\u3002\n\n--full-version \u9009\u9879\u8F93\u51FA\u5DE5\u5177\u7684\u5B8C\u6574\u7248\u672C\u5B57\u7B26\u4E32\u3002\n\n--help \u9009\u9879\u8F93\u51FA\u5B8C\u6574\u7684\u5E2E\u52A9\u6D88\u606F\u3002\n\n--list (-l) \u9009\u9879\u8F93\u51FA\u4E00\u7EC4\u5DF2\u8FC7\u65F6\u7684 API\u3002\u4E0D\u6267\u884C\u626B\u63CF, \n\u56E0\u6B64\u4E0D\u5E94\u63D0\u4F9B\u4EFB\u4F55\u76EE\u5F55, jar \u6216\u7C7B\u53C2\u6570\u3002\n\n--release \u9009\u9879\u6307\u5B9A\u63D0\u4F9B\u8981\u626B\u63CF\u7684\u5DF2\u8FC7\u65F6 API \u96C6\n\u7684 Java SE \u53D1\u884C\u7248\u3002\n\n--verbose (-v) \u9009\u9879\u5728\u5904\u7406\u671F\u95F4\u542F\u7528\u9644\u52A0\u6D88\u606F\u8F93\u51FA\u3002\n\n--version \u9009\u9879\u8F93\u51FA\u5DE5\u5177\u7684\u7F29\u5199\u7248\u672C\u5B57\u7B26\u4E32\u3002
+main.help=\u626B\u63CF\u6BCF\u4E2A\u53C2\u6570\u4EE5\u4E86\u89E3\u662F\u5426\u4F7F\u7528\u4E86\u8FC7\u65F6\u7684 API\u3002\n\u53C2\u6570\u53EF\u4EE5\u662F\u6307\u5B9A\u7A0B\u5E8F\u5305\u5206\u5C42\u7ED3\u6784\u3001JAR \u6587\u4EF6\u3001\n\u7C7B\u6587\u4EF6\u6216\u7C7B\u540D\u7684\u6839\u7684\u76EE\u5F55\u3002\u7C7B\u540D\u5FC5\u987B\n\u4F7F\u7528\u5168\u9650\u5B9A\u7C7B\u540D\u6307\u5B9A\uFF0C\u5E76\u4F7F\u7528 $ \u5206\u9694\u7B26\n\u6307\u5B9A\u5D4C\u5957\u7C7B\uFF0C\u4F8B\u5982\uFF0C\n\n java.lang.Thread$State\n\n--class-path \u9009\u9879\u63D0\u4F9B\u4E86\u7528\u4E8E\u89E3\u6790\u4ECE\u5C5E\u7C7B\u7684\n\u641C\u7D22\u8DEF\u5F84\u3002\n\n--for-removal \u9009\u9879\u9650\u5236\u626B\u63CF\u6216\u5217\u51FA\u5DF2\u8FC7\u65F6\u5E76\u5F85\u5220\u9664\n\u7684 API\u3002\u4E0D\u80FD\u4E0E\u53D1\u884C\u7248\u503C 6\u30017 \u6216 8 \u4E00\u8D77\u4F7F\u7528\u3002\n\n--full-version \u9009\u9879\u8F93\u51FA\u5DE5\u5177\u7684\u5B8C\u6574\u7248\u672C\u5B57\u7B26\u4E32\u3002\n\n--help (-? -h) \u9009\u9879\u8F93\u51FA\u5B8C\u6574\u7684\u5E2E\u52A9\u6D88\u606F\u3002\n\n--list (-l) \u9009\u9879\u8F93\u51FA\u4E00\u7EC4\u5DF2\u8FC7\u65F6\u7684 API\u3002\u4E0D\u6267\u884C\u626B\u63CF\uFF0C\n\u56E0\u6B64\u4E0D\u5E94\u63D0\u4F9B\u4EFB\u4F55\u76EE\u5F55\u3001jar \u6216\u7C7B\u53C2\u6570\u3002\n\n--release \u9009\u9879\u6307\u5B9A\u63D0\u4F9B\u8981\u626B\u63CF\u7684\u5DF2\u8FC7\u65F6 API \u96C6\n\u7684 Java SE \u53D1\u884C\u7248\u3002\n\n--verbose (-v) \u9009\u9879\u5728\u5904\u7406\u671F\u95F4\u542F\u7528\u9644\u52A0\u6D88\u606F\u8F93\u51FA\u3002\n\n--version \u9009\u9879\u8F93\u51FA\u5DE5\u5177\u7684\u7F29\u5199\u7248\u672C\u5B57\u7B26\u4E32\u3002
main.xhelp=\u4E0D\u652F\u6301\u7684\u9009\u9879:\n\n --Xload-class CLASS\n \u4ECE\u5DF2\u547D\u540D\u7C7B\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F\u3002\n --Xload-csv CSVFILE\n \u4ECE\u5DF2\u547D\u540D CSV \u6587\u4EF6\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F\u3002\n --Xload-dir DIR\n \u4ECE\u5DF2\u547D\u540D\u76EE\u5F55\u4E2D\u7684\u7C7B\u5206\u5C42\u7ED3\u6784\u52A0\u8F7D\n \u8FC7\u65F6\u4FE1\u606F\u3002\n --Xload-jar JARFILE\n \u4ECE\u5DF2\u547D\u540D JAR \u6587\u4EF6\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F\u3002\n --Xload-jdk9 JAVA_HOME\n \u4ECE\u4F4D\u4E8E JAVA_HOME \u7684 JDK \u4E2D\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F, \n \u8BE5 JDK \u5FC5\u987B\u662F\u4E00\u4E2A\u6A21\u5757\u5316 JDK\u3002\n --Xload-old-jdk JAVA_HOME\n \u4ECE\u4F4D\u4E8E JAVA_HOME \u7684 JDK \u4E2D\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F, \n \u8BE5 JDK \u4E0D\u80FD\u662F\u4E00\u4E2A\u6A21\u5757\u5316 JDK\u3002\u76F8\u53CD, \n \u5DF2\u547D\u540D JDK \u5FC5\u987B\u662F\u5E26\u6709 rt.jar \u6587\u4EF6\u7684 "\u7ECF\u5178" JDK\u3002\n --Xload-self\n \u901A\u8FC7\u904D\u5386\u6B63\u5728\u8FD0\u884C\u7684 JDK \u6620\u50CF\u7684 jrt: \u6587\u4EF6\u7CFB\u7EDF:\n \u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F\u3002\n --Xcompiler-arg ARG\n \u5C06 ARG \u6DFB\u52A0\u5230\u7F16\u8BD1\u5668\u53C2\u6570\u5217\u8868\u4E2D\u3002\n --Xcsv-comment COMMENT\n \u5C06 COMMENT \u4F5C\u4E3A\u6CE8\u91CA\u884C\u6DFB\u52A0\u5230\u8F93\u51FA CSV \u6587\u4EF6\u3002\n \u4EC5\u5F53\u540C\u65F6\u63D0\u4F9B\u4E86 -Xprint-csv \u624D\u6709\u6548\u3002\n --Xhelp\n \u8F93\u51FA\u6B64\u6D88\u606F\u3002\n --Xprint-csv\n \u8F93\u51FA\u5305\u542B\u5DF2\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F\u7684 CSV \u6587\u4EF6\n \u800C\u4E0D\u626B\u63CF\u4EFB\u4F55\u7C7B\u6216 JAR \u6587\u4EF6\u3002
--- a/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,11 +1,11 @@
-main.usage.summary=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <path ...>]\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001-h\u3001-?\u3001-help\u307E\u305F\u306F--help\u3092\u4F7F\u7528\u3057\u307E\u3059
+main.usage.summary=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <path ...>]\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001--help\u3092\u4F7F\u7528\u3057\u307E\u3059
main.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <path ...>]\n<path>\u306B\u306F\u3001.class\u30D5\u30A1\u30A4\u30EB\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\u540D\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\n\u4F7F\u7528\u3067\u304D\u308B\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:
error.prefix=\u30A8\u30E9\u30FC:
warn.prefix=\u8B66\u544A:
-main.opt.h=\ -h -? -help\n --help \u3053\u306E\u4F7F\u7528\u65B9\u6CD5\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059
+main.opt.h=\ -h -? --help \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059
main.opt.version=\ -version --version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
--- a/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,11 +1,11 @@
-main.usage.summary=\u7528\u6CD5: {0} <\u9009\u9879> <\u8DEF\u5F84 ...>]\n\u4F7F\u7528 -h, -?, -help \u6216 --help \u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879
+main.usage.summary=\u7528\u6CD5\uFF1A{0} <\u9009\u9879> <\u8DEF\u5F84...>]\n\u4F7F\u7528 --help \u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879
main.usage=\u7528\u6CD5: {0} <\u9009\u9879> <\u8DEF\u5F84...>]\n\u5176\u4E2D <\u8DEF\u5F84> \u53EF\u4EE5\u662F .class \u6587\u4EF6, \u76EE\u5F55, JAR \u6587\u4EF6\u7684\u8DEF\u5F84\u540D\u3002\n\n\u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC:
error.prefix=\u9519\u8BEF:
warn.prefix=\u8B66\u544A:
-main.opt.h=\ -h -? -help\n --help \u8F93\u51FA\u6B64\u7528\u6CD5\u6D88\u606F
+main.opt.h=\ -h -? --help \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F
main.opt.version=\ -version --version \u7248\u672C\u4FE1\u606F
--- a/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -326,7 +326,7 @@
{"zz help text",
"** \u30B3\u30DE\u30F3\u30C9\u30FB\u30EA\u30B9\u30C8 **\nconnectors -- \u3053\u306EVM\u5185\u306E\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF\u3068\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nrun [class [args]] -- \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u306E\u5B9F\u884C\u3092\u958B\u59CB\u3057\u307E\u3059\n\nthreads [threadgroup] -- \u30B9\u30EC\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthread <thread id> -- \u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B9\u30EC\u30C3\u30C9\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nsuspend [thread id(s)] -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nresume [thread id(s)] -- \u30B9\u30EC\u30C3\u30C9\u3092\u518D\u958B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8: \u3059\u3079\u3066)\nwhere [<thread id> | all] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30C0\u30F3\u30D7\u3057\u307E\u3059\nwherei [<thread id> | all]-- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092pc\u60C5\u5831\u3068\u3068\u3082\u306B\u30C0\u30F3\u30D7\u3057\u307E\u3059\nup [n frames] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0A\u306B\u79FB\u52D5\u3057\u307E\u3059\ndown [n frames] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u4E0B\u306B\u79FB\u52D5\u3057\u307E\u3059\nkill <thread id> <expr> -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u30B9\u30EC\u30C3\u30C9\u3092\u5F37\u5236\u7D42\u4E86\u3057\u307E\u3059\ninterrupt <thread id> -- \u30B9\u30EC\u30C3\u30C9\u3092\u4E2D\u65AD\u3057\u307E\u3059\n\nprint <expr> -- \u5F0F\u306E\u5024\u3092\u51FA\u529B\u3057\u307E\u3059\ndump <expr> -- \u3059\u3079\u3066\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\neval <expr> -- \u5F0F\u3092\u8A55\u4FA1\u3057\u307E\u3059(print\u3068\u540C\u3058)\nset <lvalue> = <expr> -- \u65B0\u3057\u3044\u5024\u3092\u30D5\u30A3\u30FC\u30EB\u30C9/\u5909\u6570/\u914D\u5217\u8981\u7D20\u306B\u4EE3\u5165\u3057\u307E\u3059\nlocals -- \u73FE\u5728\u306E\u30B9\u30BF\u30C3\u30AF\u30FB\u30D5\u30EC\u30FC\u30E0\u5185\u306E\u3059\u3079\u3066\u306E\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u3092\u51FA\u529B\u3057\u307E\u3059\n\nclasses -- \u73FE\u5728\u65E2\u77E5\u306E\u30AF\u30E9\u30B9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nclass <class id> -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u8A73\u7D30\u3092\u8868\u793A\u3057\u307E\u3059\nmethods <class id> -- \u30AF\u30E9\u30B9\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nfields <class id> -- \u30AF\u30E9\u30B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\n\nthreadgroups -- \u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nthreadgroup <name> -- \u73FE\u5728\u306E\u30B9\u30EC\u30C3\u30C9\u30B0\u30EB\u30FC\u30D7\u3092\u8A2D\u5B9A\u3057\u307E\u3059\n\nstop in <class id>.<method>[(argument_type,...)]\n -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30E1\u30BD\u30C3\u30C9\u5185\u306B\u8A2D\u5B9A\u3057\u307E\u3059\nstop at <class id>:<line> -- \u884C\u306B\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\nclear <class id>.<method>[(argument_type,...)]\n -- \u30E1\u30BD\u30C3\u30C9\u5185\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear <class id>:<line> -- \u884C\u306E\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\nclear -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\ncatch [uncaught|caught|all] <class id>|<class pattern>\n -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u304C\u767A\u751F\u3057\u305F\u3068\u304D\u306B\u30D6\u30EC\u30FC\u30AF\u3057\u307E\u3059\nignore [uncaught|caught|all] <class id>|<class pattern>\n -- \u6307\u5B9A\u3055\u308C\u305F\u4F8B\u5916\u306E'catch'\u3092\u53D6\u308A\u6D88\u3057\u307E\u3059\nwatch [access|all] <class id>.<field name>\n -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u3092\u30A6\u30A9\u30C3\u30C1\u3057\u307E\u3059\nunwatch [access|all] <class id>.<field name>\n -- \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u307E\u305F\u306F\u5909\u66F4\u306E\u30A6\u30A9\u30C3\u30C1\u3092\u4E2D\u6B62\u3057\u307E\u3059\ntrace [go] methods [thread]\n -- \u30E1\u30BD\u30C3\u30C9\u306E\u5165\u308A\u53E3\u3068\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\u3002\n -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\ntrace [go] method exit | exits [thread]\n -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u307E\u305F\u306F\u3059\u3079\u3066\u306E\u30E1\u30BD\u30C3\u30C9\u306E\u51FA\u53E3\u3092\u30C8\u30EC\u30FC\u30B9\u3057\u307E\u3059\n -- 'go'\u304C\u6307\u5B9A\u3055\u308C\u308B\u307E\u3067\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3057\u307E\u3059\nuntrace [methods] -- \u30E1\u30BD\u30C3\u30C9\u306E\u958B\u59CB\u307E\u305F\u306F\u7D42\u4E86\u306E\u30C8\u30EC\u30FC\u30B9\u3092\u505C\u6B62\u3057\u307E\u3059\nstep -- \u73FE\u5728\u306E\u884C\u3092\u5B9F\u884C\u3057\u307E\u3059\nstep up -- \u73FE\u5728\u306E\u30E1\u30BD\u30C3\u30C9\u304C\u30E1\u30BD\u30C3\u30C9\u306E\u547C\u51FA\u3057\u5143\u306B\u623B\u308B\u307E\u3067\u5B9F\u884C\u3057\u307E\u3059\nstepi -- \u73FE\u5728\u306E\u547D\u4EE4\u3092\u5B9F\u884C\u3057\u307E\u3059\nnext -- 1\u884C\u3092\u30B9\u30C6\u30C3\u30D7\u5B9F\u884C\u3057\u307E\u3059(\u547C\u51FA\u3057\u3092\u30B9\u30C6\u30C3\u30D7\u30AA\u30FC\u30D0\u30FC)\ncont -- \u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8\u304B\u3089\u5B9F\u884C\u3092\u7D9A\u884C\u3057\u307E\u3059\n\nlist [line number|method] -- \u30BD\u30FC\u30B9\u30FB\u30B3\u30FC\u30C9\u3092\u51FA\u529B\u3057\u307E\u3059\nuse (or sourcepath) [source file path]\n -- \u30BD\u30FC\u30B9\u30FB\u30D1\u30B9\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4\u3057\u307E\u3059\nexclude [<class pattern>, ... | \"none\"]\n -- \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u306E\u30B9\u30C6\u30C3\u30D7\u3084\u30E1\u30BD\u30C3\u30C9\u30FB\u30A4\u30D9\u30F3\u30C8\u3092\u5831\u544A\u3057\u307E\u305B\u3093\nclasspath -- \u30BF\u30FC\u30B2\u30C3\u30C8VM\u304B\u3089\u30AF\u30E9\u30B9\u30D1\u30B9\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\nmonitor <command> -- \u30D7\u30ED\u30B0\u30E9\u30E0\u304C\u505C\u6B62\u3059\u308B\u305F\u3073\u306B\u30B3\u30DE\u30F3\u30C9\u3092\u5B9F\u884C\u3057\u307E\u3059\nmonitor -- \u30E2\u30CB\u30BF\u30FC\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nunmonitor <monitor#> -- \u30E2\u30CB\u30BF\u30FC\u3092\u524A\u9664\u3057\u307E\u3059\nread <filename> -- \u30B3\u30DE\u30F3\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u3063\u3066\u5B9F\u884C\u3057\u307E\u3059\n\nlock <expr> -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nthreadlocks [thread id] -- \u30B9\u30EC\u30C3\u30C9\u306E\u30ED\u30C3\u30AF\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\n\npop -- \u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u307E\u3067\u306E\u3059\u3079\u3066\u306E\u30B9\u30BF\u30C3\u30AF\u3092\u30DD\u30C3\u30D7\u3057\u307E\u3059\nreenter -- pop\u3068\u540C\u3058\u3067\u3059\u304C\u3001\u73FE\u5728\u306E\u30D5\u30EC\u30FC\u30E0\u304C\u518D\u5165\u529B\u3055\u308C\u307E\u3059\nredefine <class id> <class file name>\n -- \u30AF\u30E9\u30B9\u306E\u30B3\u30FC\u30C9\u3092\u518D\u5B9A\u7FA9\u3057\u307E\u3059\n\ndisablegc <expr> -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u6291\u5236\u3057\u307E\u3059\nenablegc <expr> -- \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30AC\u30D9\u30FC\u30B8\u30FB\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3092\u8A31\u53EF\u3057\u307E\u3059\n\n!! -- \u6700\u5F8C\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u7E70\u308A\u8FD4\u3057\u307E\u3059\n<n> <command> -- \u30B3\u30DE\u30F3\u30C9\u3092n\u56DE\u7E70\u308A\u8FD4\u3057\u307E\u3059\n# <command> -- \u7834\u68C4\u3057\u307E\u3059(\u64CD\u4F5C\u306A\u3057)\nhelp (\u307E\u305F\u306F?) -- \u30B3\u30DE\u30F3\u30C9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059\nversion -- \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3057\u307E\u3059\nexit (\u307E\u305F\u306Fquit) -- \u30C7\u30D0\u30C3\u30AC\u3092\u7D42\u4E86\u3057\u307E\u3059\n\n<class id>: \u30D1\u30C3\u30B1\u30FC\u30B8\u4FEE\u98FE\u5B50\u3092\u542B\u3080\u5B8C\u5168\u30AF\u30E9\u30B9\u540D\n<class pattern>: \u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306E\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9('*')\u3092\u542B\u3080\u30AF\u30E9\u30B9\u540D\n<thread id>: 'threads'\u30B3\u30DE\u30F3\u30C9\u3067\u5831\u544A\u3055\u308C\u308B\u30B9\u30EC\u30C3\u30C9\u756A\u53F7\n<expr>: Java(TM)\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u8A00\u8A9E\u306E\u5F0F\u3002\n\u307B\u3068\u3093\u3069\u306E\u4E00\u822C\u7684\u306A\u69CB\u6587\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\n\u8D77\u52D5\u30B3\u30DE\u30F3\u30C9\u306F\u3001\"jdb.ini\"\u307E\u305F\u306F\".jdbrc\"\u306B\u914D\u7F6E\u3067\u304D\u307E\u3059\n(user.home\u307E\u305F\u306Fuser.dir\u5185)"},
{"zz usage text",
- "\u4F7F\u7528\u65B9\u6CD5: {0} <options> <class> <arguments>\n\n\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n -help \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u3066\u7D42\u4E86\u3059\u308B\n -sourcepath <directories separated by \"{1}\">\n \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n -attach <address>\n \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u6307\u5B9A\u3055\u308C\u305F\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306B\u63A5\u7D9A\u3059\u308B\n -listen <address>\n \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u6307\u5B9A\u3055\u308C\u305F\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\n -listenany\n \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u4F7F\u7528\u53EF\u80FD\u306A\u4EFB\u610F\u306E\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\n -launch\n ''run''\u30B3\u30DE\u30F3\u30C9\u3092\u5F85\u6A5F\u305B\u305A\u306BVM\u3092\u5373\u6642\u306B\u8D77\u52D5\u3059\u308B\n -listconnectors \u3053\u306EVM\u3067\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF\u3092\u30EA\u30B9\u30C8\u3059\u308B\n -connect <connector-name>:<name1>=<value1>,...\n \u6307\u5B9A\u3055\u308C\u305F\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u30EA\u30B9\u30C8\u3055\u308C\u305F\u5F15\u6570\u5024\u3067\u30BF\u30FC\u30B2\u30C3\u30C8VM\u306B\u63A5\u7D9A\u3059\u308B\n -dbgtrace [flags] {0}\u306E\u30C7\u30D0\u30C3\u30B0\u306E\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B\n -tclient \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092HotSpot(TM) Client Compiler\u3067\u5B9F\u884C\u3059\u308B\n -tserver \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092HotSpot(TM) Server Compiler\u3067\u5B9F\u884C\u3059\u308B\n\n\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30C7\u30D0\u30C3\u30B0\u3059\u308B\u30D7\u30ED\u30BB\u30B9\u306B\u8EE2\u9001\u3055\u308C\u307E\u3059:\n -v -verbose[:class|gc|jni]\n \u8A73\u7D30\u30E2\u30FC\u30C9\u3092\u30AA\u30F3\u306B\u3059\u308B\n -D<name>=<value> \u30B7\u30B9\u30C6\u30E0\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3059\u308B\n -classpath <directories separated by \"{1}\">\n \u30AF\u30E9\u30B9\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u30EA\u30B9\u30C8\u3059\u308B\n -X<option> \u975E\u6A19\u6E96\u306E\u30BF\u30FC\u30B2\u30C3\u30C8VM\u30AA\u30D7\u30B7\u30E7\u30F3\n\n<class>\u306F\u30C7\u30D0\u30C3\u30B0\u3092\u958B\u59CB\u3059\u308B\u30AF\u30E9\u30B9\u306E\u540D\u524D\u3067\u3059\n<arguments>\u306F<class>\u306Emain()\u30E1\u30BD\u30C3\u30C9\u306B\u6E21\u3055\u308C\u308B\u5F15\u6570\u3067\u3059\n\n\u30B3\u30DE\u30F3\u30C9\u306E\u30D8\u30EB\u30D7\u306B\u3064\u3044\u3066\u306F{0}\u30D7\u30ED\u30F3\u30D7\u30C8\u3067''help''\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},
+ "\u4F7F\u7528\u65B9\u6CD5: {0} <options> <class> <arguments>\n\n\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n -? -h --help -help \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u3066\u7D42\u4E86\u3059\u308B\n -sourcepath <directories separated by \"{1}\">\n \u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n -attach <address>\n \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u6307\u5B9A\u3055\u308C\u305F\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306B\u63A5\u7D9A\u3059\u308B\n -listen <address>\n \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u6307\u5B9A\u3055\u308C\u305F\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\n -listenany\n \u6A19\u6E96\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u4F7F\u7528\u53EF\u80FD\u306A\u4EFB\u610F\u306E\u30A2\u30C9\u30EC\u30B9\u3067\u5B9F\u884C\u4E2D\u306EVM\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\n -launch\n ''run''\u30B3\u30DE\u30F3\u30C9\u3092\u5F85\u6A5F\u305B\u305A\u306BVM\u3092\u5373\u6642\u306B\u8D77\u52D5\u3059\u308B\n -listconnectors \u3053\u306EVM\u3067\u4F7F\u7528\u53EF\u80FD\u306A\u30B3\u30CD\u30AF\u30BF\u3092\u30EA\u30B9\u30C8\u3059\u308B\n -connect <connector-name>:<name1>=<value1>,...\n \u6307\u5B9A\u3055\u308C\u305F\u30B3\u30CD\u30AF\u30BF\u3092\u4F7F\u7528\u3057\u3066\u3001\u30EA\u30B9\u30C8\u3055\u308C\u305F\u5F15\u6570\u5024\u3067\u30BF\u30FC\u30B2\u30C3\u30C8VM\u306B\u63A5\u7D9A\u3059\u308B\n -dbgtrace [flags] {0}\u306E\u30C7\u30D0\u30C3\u30B0\u306E\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B\n -tclient \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092HotSpot(TM) Client Compiler\u3067\u5B9F\u884C\u3059\u308B\n -tserver \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092HotSpot(TM) Server Compiler\u3067\u5B9F\u884C\u3059\u308B\n\n\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30C7\u30D0\u30C3\u30B0\u3059\u308B\u30D7\u30ED\u30BB\u30B9\u306B\u8EE2\u9001\u3055\u308C\u307E\u3059:\n -v -verbose[:class|gc|jni]\n \u8A73\u7D30\u30E2\u30FC\u30C9\u3092\u30AA\u30F3\u306B\u3059\u308B\n -D<name>=<value> \u30B7\u30B9\u30C6\u30E0\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3059\u308B\n -classpath <directories separated by \"{1}\">\n \u30AF\u30E9\u30B9\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u30EA\u30B9\u30C8\u3059\u308B\n -X<option> \u975E\u6A19\u6E96\u306E\u30BF\u30FC\u30B2\u30C3\u30C8VM\u30AA\u30D7\u30B7\u30E7\u30F3\n\n<class>\u306F\u30C7\u30D0\u30C3\u30B0\u3092\u958B\u59CB\u3059\u308B\u30AF\u30E9\u30B9\u306E\u540D\u524D\u3067\u3059\n<arguments>\u306F<class>\u306Emain()\u30E1\u30BD\u30C3\u30C9\u306B\u6E21\u3055\u308C\u308B\u5F15\u6570\u3067\u3059\n\n\u30B3\u30DE\u30F3\u30C9\u306E\u30D8\u30EB\u30D7\u306B\u3064\u3044\u3066\u306F{0}\u30D7\u30ED\u30F3\u30D7\u30C8\u3067''help''\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},
// END OF MATERIAL TO LOCALIZE
};
--- a/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java Thu Jul 26 10:00:40 2018 -0700
@@ -326,7 +326,7 @@
{"zz help text",
"** \u547D\u4EE4\u5217\u8868 **\nconnectors -- \u5217\u51FA\u6B64 VM \u4E2D\u53EF\u7528\u7684\u8FDE\u63A5\u5668\u548C\u4F20\u8F93\n\nrun [class [args]] -- \u5F00\u59CB\u6267\u884C\u5E94\u7528\u7A0B\u5E8F\u7684\u4E3B\u7C7B\n\nthreads [threadgroup] -- \u5217\u51FA\u7EBF\u7A0B\nthread <thread id> -- \u8BBE\u7F6E\u9ED8\u8BA4\u7EBF\u7A0B\nsuspend [thread id(s)] -- \u6302\u8D77\u7EBF\u7A0B (\u9ED8\u8BA4\u503C: all)\nresume [thread id(s)] -- \u6062\u590D\u7EBF\u7A0B (\u9ED8\u8BA4\u503C: all)\nwhere [<thread id> | all] -- \u8F6C\u50A8\u7EBF\u7A0B\u7684\u5806\u6808\nwherei [<thread id> | all]-- \u8F6C\u50A8\u7EBF\u7A0B\u7684\u5806\u6808, \u4EE5\u53CA pc \u4FE1\u606F\nup [n frames] -- \u4E0A\u79FB\u7EBF\u7A0B\u7684\u5806\u6808\ndown [n frames] -- \u4E0B\u79FB\u7EBF\u7A0B\u7684\u5806\u6808\nkill <thread id> <expr> -- \u7EC8\u6B62\u5177\u6709\u7ED9\u5B9A\u7684\u5F02\u5E38\u9519\u8BEF\u5BF9\u8C61\u7684\u7EBF\u7A0B\ninterrupt <thread id> -- \u4E2D\u65AD\u7EBF\u7A0B\n\nprint <expr> -- \u8F93\u51FA\u8868\u8FBE\u5F0F\u7684\u503C\ndump <expr> -- \u8F93\u51FA\u6240\u6709\u5BF9\u8C61\u4FE1\u606F\neval <expr> -- \u5BF9\u8868\u8FBE\u5F0F\u6C42\u503C (\u4E0E print \u76F8\u540C)\nset <lvalue> = <expr> -- \u5411\u5B57\u6BB5/\u53D8\u91CF/\u6570\u7EC4\u5143\u7D20\u5206\u914D\u65B0\u503C\nlocals -- \u8F93\u51FA\u5F53\u524D\u5806\u6808\u5E27\u4E2D\u7684\u6240\u6709\u672C\u5730\u53D8\u91CF\n\nclasses -- \u5217\u51FA\u5F53\u524D\u5DF2\u77E5\u7684\u7C7B\nclass <class id> -- \u663E\u793A\u5DF2\u547D\u540D\u7C7B\u7684\u8BE6\u7EC6\u8D44\u6599\nmethods <class id> -- \u5217\u51FA\u7C7B\u7684\u65B9\u6CD5\nfields <class id> -- \u5217\u51FA\u7C7B\u7684\u5B57\u6BB5\n\nthreadgroups -- \u5217\u51FA\u7EBF\u7A0B\u7EC4\nthreadgroup <name> -- \u8BBE\u7F6E\u5F53\u524D\u7EBF\u7A0B\u7EC4\n\nstop in <class id>.<method>[(argument_type,...)]\n -- \u5728\u65B9\u6CD5\u4E2D\u8BBE\u7F6E\u65AD\u70B9\nstop at <class id>:<line> -- \u5728\u884C\u4E2D\u8BBE\u7F6E\u65AD\u70B9\nclear <class id>.<method>[(argument_type,...)]\n -- \u6E05\u9664\u65B9\u6CD5\u4E2D\u7684\u65AD\u70B9\nclear <class id>:<line> -- \u6E05\u9664\u884C\u4E2D\u7684\u65AD\u70B9\nclear -- \u5217\u51FA\u65AD\u70B9\ncatch [uncaught|caught|all] <class id>|<class pattern>\n -- \u51FA\u73B0\u6307\u5B9A\u7684\u5F02\u5E38\u9519\u8BEF\u65F6\u4E2D\u65AD\nignore [uncaught|caught|all] <class id>|<class pattern>\n -- \u5BF9\u4E8E\u6307\u5B9A\u7684\u5F02\u5E38\u9519\u8BEF, \u53D6\u6D88 'catch'\nwatch [access|all] <class id>.<field name>\n -- \u76D1\u89C6\u5BF9\u5B57\u6BB5\u7684\u8BBF\u95EE/\u4FEE\u6539\nunwatch [access|all] <class id>.<field name>\n -- \u505C\u6B62\u76D1\u89C6\u5BF9\u5B57\u6BB5\u7684\u8BBF\u95EE/\u4FEE\u6539\ntrace [go] methods [thread]\n -- \u8DDF\u8E2A\u65B9\u6CD5\u8FDB\u5165\u548C\u9000\u51FA\u3002\n -- \u9664\u975E\u6307\u5B9A 'go', \u5426\u5219\u6302\u8D77\u6240\u6709\u7EBF\u7A0B\ntrace [go] method exit | exits [thread]\n -- \u8DDF\u8E2A\u5F53\u524D\u65B9\u6CD5\u7684\u9000\u51FA, \u6216\u8005\u6240\u6709\u65B9\u6CD5\u7684\u9000\u51FA\n -- \u9664\u975E\u6307\u5B9A 'go', \u5426\u5219\u6302\u8D77\u6240\u6709\u7EBF\u7A0B\nuntrace [methods] -- \u505C\u6B62\u8DDF\u8E2A\u65B9\u6CD5\u8FDB\u5165\u548C/\u6216\u9000\u51FA\nstep -- \u6267\u884C\u5F53\u524D\u884C\nstep up -- \u4E00\u76F4\u6267\u884C, \u76F4\u5230\u5F53\u524D\u65B9\u6CD5\u8FD4\u56DE\u5230\u5176\u8C03\u7528\u65B9\nstepi -- \u6267\u884C\u5F53\u524D\u6307\u4EE4\n\u4E0B\u4E00\u6B65 -- \u6B65\u8FDB\u4E00\u884C (\u6B65\u8FC7\u8C03\u7528)\ncont -- \u4ECE\u65AD\u70B9\u5904\u7EE7\u7EED\u6267\u884C\n\nlist [line number|method] -- \u8F93\u51FA\u6E90\u4EE3\u7801\nuse (\u6216 sourcepath) [source file path]\n -- \u663E\u793A\u6216\u66F4\u6539\u6E90\u8DEF\u5F84\nexclude [<class pattern>, ... | \"none\"]\n -- \u5BF9\u4E8E\u6307\u5B9A\u7684\u7C7B, \u4E0D\u62A5\u544A\u6B65\u9AA4\u6216\u65B9\u6CD5\u4E8B\u4EF6\nclasspath -- \u4ECE\u76EE\u6807 VM \u8F93\u51FA\u7C7B\u8DEF\u5F84\u4FE1\u606F\n\nmonitor <command> -- \u6BCF\u6B21\u7A0B\u5E8F\u505C\u6B62\u65F6\u6267\u884C\u547D\u4EE4\nmonitor -- \u5217\u51FA\u76D1\u89C6\u5668\nunmonitor <monitor#> -- \u5220\u9664\u76D1\u89C6\u5668\nread <filename> -- \u8BFB\u53D6\u5E76\u6267\u884C\u547D\u4EE4\u6587\u4EF6\n\nlock <expr> -- \u8F93\u51FA\u5BF9\u8C61\u7684\u9501\u4FE1\u606F\nthreadlocks [thread id] -- \u8F93\u51FA\u7EBF\u7A0B\u7684\u9501\u4FE1\u606F\n\npop -- \u901A\u8FC7\u5F53\u524D\u5E27\u51FA\u6808, \u4E14\u5305\u542B\u5F53\u524D\u5E27\nreenter -- \u4E0E pop \u76F8\u540C, \u4F46\u91CD\u65B0\u8FDB\u5165\u5F53\u524D\u5E27\nredefine <class id> <class file name>\n -- \u91CD\u65B0\u5B9A\u4E49\u7C7B\u7684\u4EE3\u7801\n\ndisablegc <expr> -- \u7981\u6B62\u5BF9\u8C61\u7684\u5783\u573E\u6536\u96C6\nenablegc <expr> -- \u5141\u8BB8\u5BF9\u8C61\u7684\u5783\u573E\u6536\u96C6\n\n!! -- \u91CD\u590D\u6267\u884C\u6700\u540E\u4E00\u4E2A\u547D\u4EE4\n<n> <command> -- \u5C06\u547D\u4EE4\u91CD\u590D\u6267\u884C n \u6B21\n# <command> -- \u653E\u5F03 (\u65E0\u64CD\u4F5C)\nhelp (\u6216 ?) -- \u5217\u51FA\u547D\u4EE4\nversion -- \u8F93\u51FA\u7248\u672C\u4FE1\u606F\nexit (\u6216 quit) -- \u9000\u51FA\u8C03\u8BD5\u5668\n\n<class id>: \u5E26\u6709\u7A0B\u5E8F\u5305\u9650\u5B9A\u7B26\u7684\u5B8C\u6574\u7C7B\u540D\n<class pattern>: \u5E26\u6709\u524D\u5BFC\u6216\u5C3E\u968F\u901A\u914D\u7B26 ('*') \u7684\u7C7B\u540D\n<thread id>: 'threads' \u547D\u4EE4\u4E2D\u62A5\u544A\u7684\u7EBF\u7A0B\u7F16\u53F7\n<expr>: Java(TM) \u7F16\u7A0B\u8BED\u8A00\u8868\u8FBE\u5F0F\u3002\n\u652F\u6301\u5927\u591A\u6570\u5E38\u89C1\u8BED\u6CD5\u3002\n\n\u53EF\u4EE5\u5C06\u542F\u52A8\u547D\u4EE4\u7F6E\u4E8E \"jdb.ini\" \u6216 \".jdbrc\" \u4E2D\n\u4F4D\u4E8E user.home \u6216 user.dir \u4E2D"},
{"zz usage text",
- "\u7528\u6CD5: {0} <options> <class> <arguments>\n\n\u5176\u4E2D, \u9009\u9879\u5305\u62EC:\n -help \u8F93\u51FA\u6B64\u6D88\u606F\u5E76\u9000\u51FA\n -sourcepath <\u7531 \"{1}\" \u5206\u9694\u7684\u76EE\u5F55>\n \u8981\u5728\u5176\u4E2D\u67E5\u627E\u6E90\u6587\u4EF6\u7684\u76EE\u5F55\n -attach <address>\n \u4F7F\u7528\u6807\u51C6\u8FDE\u63A5\u5668\u9644\u52A0\u5230\u6307\u5B9A\u5730\u5740\u5904\u6B63\u5728\u8FD0\u884C\u7684 VM\n -listen <address>\n \u7B49\u5F85\u6B63\u5728\u8FD0\u884C\u7684 VM \u4F7F\u7528\u6807\u51C6\u8FDE\u63A5\u5668\u5728\u6307\u5B9A\u5730\u5740\u5904\u8FDE\u63A5\n -listenany\n \u7B49\u5F85\u6B63\u5728\u8FD0\u884C\u7684 VM \u4F7F\u7528\u6807\u51C6\u8FDE\u63A5\u5668\u5728\u4EFB\u4F55\u53EF\u7528\u5730\u5740\u5904\u8FDE\u63A5\n -launch\n \u7ACB\u5373\u542F\u52A8 VM \u800C\u4E0D\u662F\u7B49\u5F85 ''run'' \u547D\u4EE4\n -listconnectors \u5217\u51FA\u6B64 VM \u4E2D\u7684\u53EF\u7528\u8FDE\u63A5\u5668\n -connect <connector-name>:<name1>=<value1>,...\n \u4F7F\u7528\u6240\u5217\u53C2\u6570\u503C\u901A\u8FC7\u6307\u5B9A\u7684\u8FDE\u63A5\u5668\u8FDE\u63A5\u5230\u76EE\u6807 VM\n -dbgtrace [flags] \u8F93\u51FA\u4FE1\u606F\u4F9B\u8C03\u8BD5{0}\n -tclient \u5728 HotSpot(TM) \u5BA2\u6237\u673A\u7F16\u8BD1\u5668\u4E2D\u8FD0\u884C\u5E94\u7528\u7A0B\u5E8F\n -tserver \u5728 HotSpot(TM) \u670D\u52A1\u5668\u7F16\u8BD1\u5668\u4E2D\u8FD0\u884C\u5E94\u7528\u7A0B\u5E8F\n\n\u8F6C\u53D1\u5230\u88AB\u8C03\u8BD5\u8FDB\u7A0B\u7684\u9009\u9879:\n -v -verbose[:class|gc|jni]\n \u542F\u7528\u8BE6\u7EC6\u6A21\u5F0F\n -D<name>=<value> \u8BBE\u7F6E\u7CFB\u7EDF\u5C5E\u6027\n -classpath <\u7531 \"{1}\" \u5206\u9694\u7684\u76EE\u5F55>\n \u5217\u51FA\u8981\u5728\u5176\u4E2D\u67E5\u627E\u7C7B\u7684\u76EE\u5F55\n -X<option> \u975E\u6807\u51C6\u76EE\u6807 VM \u9009\u9879\n\n<class> \u662F\u8981\u5F00\u59CB\u8C03\u8BD5\u7684\u7C7B\u7684\u540D\u79F0\n<arguments> \u662F\u4F20\u9012\u5230 <class> \u7684 main() \u65B9\u6CD5\u7684\u53C2\u6570\n\n\u8981\u83B7\u5F97\u547D\u4EE4\u7684\u5E2E\u52A9, \u8BF7\u5728{0}\u63D0\u793A\u4E0B\u952E\u5165 ''help''"},
+ "\u7528\u6CD5\uFF1A{0} <\u9009\u9879> <\u7C7B> <\u53C2\u6570>\n\n\u5176\u4E2D\uFF0C\u9009\u9879\u5305\u62EC\uFF1A\n -? -h --help -help \u8F93\u51FA\u6B64\u6D88\u606F\u5E76\u9000\u51FA\n -sourcepath <\u7531 \"{1}\" \u5206\u9694\u7684\u76EE\u5F55>\n \u8981\u5728\u5176\u4E2D\u67E5\u627E\u6E90\u6587\u4EF6\u7684\u76EE\u5F55\n -attach <\u5730\u5740>\n \u4F7F\u7528\u6807\u51C6\u8FDE\u63A5\u5668\u9644\u52A0\u5230\u6307\u5B9A\u5730\u5740\u5904\u6B63\u5728\u8FD0\u884C\u7684 VM\n -listen <\u5730\u5740>\n \u7B49\u5F85\u6B63\u5728\u8FD0\u884C\u7684 VM \u4F7F\u7528\u6807\u51C6\u8FDE\u63A5\u5668\u5728\u6307\u5B9A\u5730\u5740\u5904\u8FDE\u63A5\n -listenany\n \u7B49\u5F85\u6B63\u5728\u8FD0\u884C\u7684 VM \u4F7F\u7528\u6807\u51C6\u8FDE\u63A5\u5668\u5728\u4EFB\u4F55\u53EF\u7528\u5730\u5740\u5904\u8FDE\u63A5\n -launch\n \u7ACB\u5373\u542F\u52A8 VM \u800C\u4E0D\u662F\u7B49\u5F85 ''run'' \u547D\u4EE4\n -listconnectors \u5217\u51FA\u6B64 VM \u4E2D\u7684\u53EF\u7528\u8FDE\u63A5\u5668\n -connect <\u8FDE\u63A5\u5668\u540D\u79F0>:<\u540D\u79F0 1>=<\u503C 1>,...\n \u4F7F\u7528\u6240\u5217\u53C2\u6570\u503C\u901A\u8FC7\u6307\u5B9A\u7684\u8FDE\u63A5\u5668\u8FDE\u63A5\u5230\u76EE\u6807 VM\n -dbgtrace [flags] \u8F93\u51FA\u8C03\u8BD5 {0} \u7684\u4FE1\u606F\n -tclient \u5728 HotSpot(TM) \u5BA2\u6237\u673A\u7F16\u8BD1\u5668\u4E2D\u8FD0\u884C\u5E94\u7528\u7A0B\u5E8F\n -tserver \u5728 HotSpot(TM) \u670D\u52A1\u5668\u7F16\u8BD1\u5668\u4E2D\u8FD0\u884C\u5E94\u7528\u7A0B\u5E8F\n\n\u8F6C\u53D1\u5230\u88AB\u8C03\u8BD5\u8FDB\u7A0B\u7684\u9009\u9879\uFF1A\n -v -verbose[:class|gc|jni]\n \u542F\u7528\u8BE6\u7EC6\u6A21\u5F0F\n -D<\u540D\u79F0>=<\u503C> \u8BBE\u7F6E\u7CFB\u7EDF\u5C5E\u6027\n -classpath <\u7531 \"{1}\" \u5206\u9694\u7684\u76EE\u5F55>\n \u5217\u51FA\u8981\u5728\u5176\u4E2D\u67E5\u627E\u7C7B\u7684\u76EE\u5F55\n -X<\u9009\u9879> \u975E\u6807\u51C6\u76EE\u6807 VM \u9009\u9879\n\n<\u7C7B> \u662F\u8981\u5F00\u59CB\u8C03\u8BD5\u7684\u7C7B\u7684\u540D\u79F0\n<\u53C2\u6570> \u662F\u4F20\u9012\u5230 <\u7C7B> \u7684 main() \u65B9\u6CD5\u7684\u53C2\u6570\n\n\u8981\u83B7\u5F97\u547D\u4EE4\u7684\u5E2E\u52A9\uFF0C\u8BF7\u5728 {0} \u63D0\u793A\u4E0B\u952E\u5165 ''help''"},
// END OF MATERIAL TO LOCALIZE
};
--- a/src/jdk.jdwp.agent/share/native/libjdwp/ThreadReferenceImpl.c Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jdwp.agent/share/native/libjdwp/ThreadReferenceImpl.c Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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
@@ -214,12 +214,14 @@
frames(PacketInputStream *in, PacketOutputStream *out)
{
jvmtiError error;
- FrameNumber fnum;
+ FrameNumber index;
jint count;
+ jint filledIn;
JNIEnv *env;
jthread thread;
jint startIndex;
jint length;
+ jvmtiFrameInfo* frames;
env = getEnv();
@@ -273,37 +275,37 @@
(void)outStream_writeInt(out, length);
- for(fnum = startIndex ; fnum < startIndex+length ; fnum++ ) {
+ frames = jvmtiAllocate(sizeof(jvmtiFrameInfo) * length);
- WITH_LOCAL_REFS(env, 1) {
+ if (frames == NULL) {
+ outStream_setError(out, JDWP_ERROR(OUT_OF_MEMORY));
+ return JNI_TRUE;
+ }
- jclass clazz;
- jmethodID method;
- jlocation location;
+ error = JVMTI_FUNC_PTR(gdata->jvmti, GetStackTrace)
+ (gdata->jvmti, thread, startIndex, length, frames,
+ &filledIn);
+
+ /* Should not happen. */
+ if (error == JVMTI_ERROR_NONE && length != filledIn) {
+ error = JVMTI_ERROR_INTERNAL;
+ }
- /* Get location info */
- error = JVMTI_FUNC_PTR(gdata->jvmti,GetFrameLocation)
- (gdata->jvmti, thread, fnum, &method, &location);
- if (error == JVMTI_ERROR_OPAQUE_FRAME) {
- clazz = NULL;
- location = -1L;
- error = JVMTI_ERROR_NONE;
- } else if ( error == JVMTI_ERROR_NONE ) {
- error = methodClass(method, &clazz);
- if ( error == JVMTI_ERROR_NONE ) {
- FrameID frame;
- frame = createFrameID(thread, fnum);
- (void)outStream_writeFrameID(out, frame);
- writeCodeLocation(out, clazz, method, location);
- }
+ for (index = 0; index < filledIn && error == JVMTI_ERROR_NONE; ++index) {
+ WITH_LOCAL_REFS(env, 1) {
+ jclass clazz;
+ error = methodClass(frames[index].method, &clazz);
+
+ if (error == JVMTI_ERROR_NONE) {
+ FrameID frame = createFrameID(thread, index + startIndex);
+ outStream_writeFrameID(out, frame);
+ writeCodeLocation(out, clazz, frames[index].method,
+ frames[index].location);
}
-
} END_WITH_LOCAL_REFS(env);
+ }
- if (error != JVMTI_ERROR_NONE)
- break;
-
- }
+ jvmtiDeallocate(frames);
if (error != JVMTI_ERROR_NONE) {
outStream_setError(out, map2jdwpError(error));
--- a/src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 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
@@ -27,7 +27,7 @@
main.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> --module-path <modulepath> --add-modules <module>[,<module>...]\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059:
-main.opt.help=\ -h\u3001--help \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059
+main.opt.help=\ -h\u3001--help\u3001-? \u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059
main.opt.version=\ --version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
@@ -85,7 +85,7 @@
err.unknown.option=\u4E0D\u660E\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}
err.missing.arg={0}\u306B\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
err.internal.error=\u5185\u90E8\u30A8\u30E9\u30FC: {0} {1} {2}
-err.invalid.arg.for.option=\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5F15\u6570\u304C\u7121\u52B9\u3067\u3059: {0}
+err.invalid.arg.for.option={0}\u306F"{1}"\u5F15\u6570\u3092\u53D7\u3051\u5165\u308C\u307E\u305B\u3093
err.option.after.class=\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AF\u30E9\u30B9\u306E\u524D\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0}
err.option.unsupported={0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {1}
err.orphan.arguments={0}\u306F\u7121\u52B9\u306A\u5F15\u6570\u3067\u3059
--- a/src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 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
@@ -27,7 +27,7 @@
main.usage=\u7528\u6CD5: {0} <\u9009\u9879> --module-path <\u6A21\u5757\u8DEF\u5F84> --add-modules <\u6A21\u5757>[,<\u6A21\u5757>...]\n\u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC:
-main.opt.help=\ -h, --help \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F
+main.opt.help=\ -h, --help, -? \u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F
main.opt.version=\ --version \u7248\u672C\u4FE1\u606F
@@ -85,7 +85,7 @@
err.unknown.option=\u672A\u77E5\u9009\u9879: {0}
err.missing.arg=\u6CA1\u6709\u4E3A{0}\u6307\u5B9A\u503C
err.internal.error=\u5185\u90E8\u9519\u8BEF: {0} {1} {2}
-err.invalid.arg.for.option=\u9009\u9879\u7684\u53C2\u6570\u65E0\u6548: {0}
+err.invalid.arg.for.option={0} \u4E0D\u63A5\u53D7 "{1}" \u53C2\u6570
err.option.after.class=\u5FC5\u987B\u5728\u7C7B\u4E4B\u524D\u6307\u5B9A\u9009\u9879: {0}
err.option.unsupported=\u4E0D\u652F\u6301{0}: {1}
err.orphan.arguments=\u65E0\u6548\u7684\u53C2\u6570: {0}
--- a/src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 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
@@ -36,7 +36,7 @@
main.opt.mode.describe=describe - \u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u8A73\u7D30\u3092\u51FA\u529B\u3057\u307E\u3059
main.opt.mode.hash=hash - \u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30CF\u30C3\u30B7\u30E5\u3092\u8A18\u9332\u3057\u307E\u3059\u3002
-main.opt.help=\u3053\u306E\u4F7F\u7528\u65B9\u6CD5\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059
+main.opt.help=\u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059
main.opt.help-extra=\u8FFD\u52A0\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30D8\u30EB\u30D7\u3092\u51FA\u529B\u3057\u307E\u3059
main.opt.version=\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
main.opt.class-path=\u30AF\u30E9\u30B9\u3092\u542B\u3080\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3jar\u30D5\u30A1\u30A4\u30EB|\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA
--- a/src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 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
@@ -36,7 +36,7 @@
main.opt.mode.describe=describe - \u8F93\u51FA\u6A21\u5757\u8BE6\u7EC6\u4FE1\u606F
main.opt.mode.hash=hash - \u8BB0\u5F55\u7ED1\u5B9A\u6A21\u5757\u7684\u6563\u5217\u3002
-main.opt.help=\u8F93\u51FA\u6B64\u7528\u6CD5\u6D88\u606F
+main.opt.help=\u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F
main.opt.help-extra=\u8F93\u51FA\u989D\u5916\u9009\u9879\u7684\u5E2E\u52A9
main.opt.version=\u7248\u672C\u4FE1\u606F
main.opt.class-path=\u5305\u542B\u7C7B\u7684\u5E94\u7528\u7A0B\u5E8F jar \u6587\u4EF6|\u76EE\u5F55
--- a/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 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
@@ -148,6 +148,11 @@
jshell.err.corrupted.stored.startup = \u683C\u7D0D\u3055\u308C\u3066\u3044\u308B\u8D77\u52D5\u304C\u58CA\u308C\u3066\u3044\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u4F7F\u7528\u3057\u307E\u3059 -- {0}
+jshell.err.exception.thrown = \u4F8B\u5916{0}
+jshell.err.exception.thrown.message = \u4F8B\u5916{0}: {1}
+jshell.err.exception.cause = \u539F\u56E0: {0}
+jshell.err.exception.cause.message = \u539F\u56E0: {0}: {1}
+
jshell.console.see.synopsis = <\u6982\u8981\u3092\u8868\u793A\u3059\u308B\u306B\u306F\u30BF\u30D6\u3092\u518D\u5EA6\u62BC\u3057\u3066\u304F\u3060\u3055\u3044>
jshell.console.see.full.documentation = <\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5168\u4F53\u3092\u8868\u793A\u3059\u308B\u306B\u306F\u30BF\u30D6\u3092\u518D\u5EA6\u62BC\u3057\u3066\u304F\u3060\u3055\u3044>
jshell.console.see.documentation = <\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8868\u793A\u3059\u308B\u306B\u306F\u30BF\u30D6\u3092\u518D\u5EA6\u62BC\u3057\u3066\u304F\u3060\u3055\u3044>
@@ -172,7 +177,7 @@
jshell.fix.wrong.shortcut =[Shift]-[Tab]\u306E\u5F8C\u306E\u6587\u5B57\u304C\u4E88\u671F\u3057\u306A\u3044\u6587\u5B57\u3067\u3059\u3002\n\u81EA\u52D5\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u306F"i"\u3001\u5909\u6570\u306E\u4F5C\u6210\u306B\u306F"v"\u3001\u30E1\u30BD\u30C3\u30C9\u306E\u4F5C\u6210\u306B\u306F"m"\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\u8A73\u7D30\u306F\u6B21\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044:\n/help shortcuts
-help.usage = \u4F7F\u7528\u65B9\u6CD5: jshell <option>... <load-file>...\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059:\n --class-path <path> \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3057\u307E\u3059\n --module-path <path> \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3057\u307E\u3059\n --add-modules <module>(,<module>)*\n \u89E3\u6C7A\u3059\u308B\u30E2\u30B8\u30E5\u30FC\u30EB\u3001\u307E\u305F\u306F<module>\u304CALL-MODULE-PATH\n \u3067\u3042\u308B\u5834\u5408\u306F\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D1\u30B9\u306E\u3059\u3079\u3066\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u6307\u5B9A\u3057\u307E\u3059\n --startup <file> \u8D77\u52D5\u5B9A\u7FA9\u306E\u4EE3\u66FF\u3068\u3057\u3066\u5B9F\u884C\u3055\u308C\u307E\u3059\n --no-startup \u8D77\u52D5\u5B9A\u7FA9\u3092\u5B9F\u884C\u3057\u307E\u305B\u3093\n --feedback <mode> \u521D\u671F\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\u30E2\u30FC\u30C9\u306F\n \u4E8B\u524D\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B(silent\u3001concise\u3001normal\u307E\u305F\u306Fverbose)\u304B\u3001\n \u4E8B\u524D\u306B\u30E6\u30FC\u30B6\u30FC\u304C\u5B9A\u7FA9\u3067\u304D\u307E\u3059\n -q \u7C21\u6F54\u306A\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3002--feedback concise\u3068\u540C\u3058\n -s \u975E\u5E38\u306B\u7C21\u6F54\u306A\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3002--feedback silent\u3068\u540C\u3058\n -v \u8A73\u7D30\u306A\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3002--feedback verbose\u3068\u540C\u3058\n -J<flag> <flag>\u3092\u5B9F\u884C\u6642\u30B7\u30B9\u30C6\u30E0\u306B\u76F4\u63A5\u6E21\u3057\u307E\u3059\u3002\n \u5B9F\u884C\u6642\u30D5\u30E9\u30B0\u307E\u305F\u306F\u30D5\u30E9\u30B0\u5F15\u6570\u3054\u3068\u306B1\u3064\u306E-J\u3092\u4F7F\u7528\u3057\u307E\u3059\n -R<flag> <flag>\u3092\u30EA\u30E2\u30FC\u30C8\u5B9F\u884C\u6642\u30B7\u30B9\u30C6\u30E0\u306B\u6E21\u3057\u307E\u3059\u3002\n \u30EA\u30E2\u30FC\u30C8\u30FB\u30D5\u30E9\u30B0\u307E\u305F\u306F\u30D5\u30E9\u30B0\u5F15\u6570\u3054\u3068\u306B1\u3064\u306E-R\u3092\u4F7F\u7528\u3057\u307E\u3059\n -C<flag> <flag>\u3092\u30B3\u30F3\u30D1\u30A4\u30E9\u306B\u6E21\u3057\u307E\u3059\u3002\n \u30B3\u30F3\u30D1\u30A4\u30E9\u30FB\u30D5\u30E9\u30B0\u307E\u305F\u306F\u30D5\u30E9\u30B0\u5F15\u6570\u3054\u3068\u306B1\u3064\u306E-C\u3092\u4F7F\u7528\u3057\u307E\u3059\n --version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3057\u7D42\u4E86\u3057\u307E\u3059\n --show-version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3057\u7D9A\u884C\u3057\u307E\u3059\n --help \u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u3053\u306E\u6982\u8981\u3092\u51FA\u529B\u3057\u7D42\u4E86\u3057\u307E\u3059\n --help-extra, -X \
+help.usage = \u4F7F\u7528\u65B9\u6CD5: jshell <option>... <load-file>...\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059:\n --class-path <path> \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3057\u307E\u3059\n --module-path <path> \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3057\u307E\u3059\n --add-modules <module>(,<module>)*\n \u89E3\u6C7A\u3059\u308B\u30E2\u30B8\u30E5\u30FC\u30EB\u3001\u307E\u305F\u306F<module>\u304CALL-MODULE-PATH\n \u3067\u3042\u308B\u5834\u5408\u306F\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D1\u30B9\u306E\u3059\u3079\u3066\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u6307\u5B9A\u3057\u307E\u3059\n --enable-preview \u30B3\u30FC\u30C9\u3092\u3053\u306E\u30EA\u30EA\u30FC\u30B9\u306E\u30D7\u30EC\u30D3\u30E5\u30FC\u6A5F\u80FD\u306B\u4F9D\u5B58\u3055\u305B\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\n --startup <file> \u8D77\u52D5\u5B9A\u7FA9\u306E\u4EE3\u66FF\u3068\u3057\u3066\u5B9F\u884C\u3055\u308C\u307E\u3059\n --no-startup \u8D77\u52D5\u5B9A\u7FA9\u3092\u5B9F\u884C\u3057\u307E\u305B\u3093\n --feedback <mode> \u521D\u671F\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\u30E2\u30FC\u30C9\u306F\n \u4E8B\u524D\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B(silent\u3001concise\u3001normal\u307E\u305F\u306Fverbose)\u304B\u3001\n \u4E8B\u524D\u306B\u30E6\u30FC\u30B6\u30FC\u304C\u5B9A\u7FA9\u3067\u304D\u307E\u3059\n -q \u7C21\u6F54\u306A\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3002--feedback concise\u3068\u540C\u3058\n -s \u975E\u5E38\u306B\u7C21\u6F54\u306A\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3002--feedback silent\u3068\u540C\u3058\n -v \u8A73\u7D30\u306A\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3002--feedback verbose\u3068\u540C\u3058\n -J<flag> <flag>\u3092\u5B9F\u884C\u6642\u30B7\u30B9\u30C6\u30E0\u306B\u76F4\u63A5\u6E21\u3057\u307E\u3059\u3002\n \u5B9F\u884C\u6642\u30D5\u30E9\u30B0\u307E\u305F\u306F\u30D5\u30E9\u30B0\u5F15\u6570\u3054\u3068\u306B1\u3064\u306E-J\u3092\u4F7F\u7528\u3057\u307E\u3059\n -R<flag> <flag>\u3092\u30EA\u30E2\u30FC\u30C8\u5B9F\u884C\u6642\u30B7\u30B9\u30C6\u30E0\u306B\u6E21\u3057\u307E\u3059\u3002\n \u30EA\u30E2\u30FC\u30C8\u30FB\u30D5\u30E9\u30B0\u307E\u305F\u306F\u30D5\u30E9\u30B0\u5F15\u6570\u3054\u3068\u306B1\u3064\u306E-R\u3092\u4F7F\u7528\u3057\u307E\u3059\n -C<flag> <flag>\u3092\u30B3\u30F3\u30D1\u30A4\u30E9\u306B\u6E21\u3057\u307E\u3059\u3002\n \u30B3\u30F3\u30D1\u30A4\u30E9\u30FB\u30D5\u30E9\u30B0\u307E\u305F\u306F\u30D5\u30E9\u30B0\u5F15\u6570\u3054\u3068\u306B1\u3064\u306E-C\u3092\u4F7F\u7528\u3057\u307E\u3059\n --version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3057\u7D42\u4E86\u3057\u307E\u3059\n --show-version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3057\u7D9A\u884C\u3057\u307E\u3059\n --help, -?, -h \u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u3053\u306E\u6982\u8981\u3092\u51FA\u529B\u3057\u7D42\u4E86\u3057\u307E\u3059\n --help-extra, -X \
\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30D8\u30EB\u30D7\u3092\u51FA\u529B\u3057\u7D42\u4E86\u3057\u307E\u3059\n\n\u30D5\u30A1\u30A4\u30EB\u5F15\u6570\u306B\u306F\u3001\u30D5\u30A1\u30A4\u30EB\u540D\u304B\u3001\u307E\u305F\u306F\u4E8B\u524D\u5B9A\u7FA9\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u540D(DEFAULT\u3001\nPRINTING\u307E\u305F\u306FJAVASE)\u306E1\u3064\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\nload-file\u3067\u3082\u3001\u5BFE\u8A71\u578BI/O\u3092\u4F7F\u7528\u305B\u305A\u306B\u3001"-"\u3092\u6307\u5B9A\u3057\u3066\u6A19\u6E96\u5165\u529B\u3092\u793A\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\n\n\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3(--class-path\u3001--module-path\u3001--add-modules)\u306E\n\u8A73\u7D30\u306F\u3001\u6B21\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044:\n\t/help context\n\n\u30D1\u30B9\u306B\u306F\u3001\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3068\u30A2\u30FC\u30AB\u30A4\u30D6\u304C\u30EA\u30B9\u30C8\u3055\u308C\u307E\u3059\u3002Windows\u306E\u5834\u5408\u306F\u3001\n\u30BB\u30DF\u30B3\u30ED\u30F3(;)\u3092\u4F7F\u7528\u3057\u3066\u30D1\u30B9\u306E\u9805\u76EE\u3092\u533A\u5207\u308A\u307E\u3059\u3002\u305D\u306E\u4ED6\u306E\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3067\u306F\u3001\n\u30B3\u30ED\u30F3(:)\u3092\u4F7F\u7528\u3057\u3066\u9805\u76EE\u3092\u533A\u5207\u308A\u307E\u3059\u3002\n
help.usage.x = \ --add-exports <module>/<package> \u5B9A\u7FA9\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u3089\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u308B\u3068\n \u307F\u306A\u3055\u308C\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u6307\u5B9A\u3057\u307E\u3059\n --execution <spec> \u4EE3\u66FF\u5B9F\u884C\u30A8\u30F3\u30B8\u30F3\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\n \u3053\u3053\u3067\u3001<spec>\u306FExecutionControl spec\u3067\u3059\u3002\n spec\u306E\u69CB\u6587\u306B\u3064\u3044\u3066\u306F\u3001\u30D1\u30C3\u30B1\u30FC\u30B8jdk.jshell.spi\u306E\n \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\n \n\u3053\u308C\u3089\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n
@@ -229,8 +234,8 @@
help.env =\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4\u3057\u307E\u3059\u3002\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306F\u3001\u30AF\u30E9\u30B9\u30D1\u30B9\u3001\n\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D1\u30B9\u306A\u3069\u3067\u3059\u3002\n\n/env\n\t\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u3057\u3066\u8868\u793A\u3055\u308C\u3066\u3044\u308B\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u793A\u3057\u307E\u3059\n\n/env [-class-path <path>] [-module-path <path>] [-add-modules <modules>] ...\n\t1\u3064\u4EE5\u4E0A\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306B\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002\n\t\u30B9\u30CB\u30DA\u30C3\u30C8\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u5B9F\u884C\u72B6\u614B\u306F\u65B0\u3057\u3044\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306B\u30EA\u30BB\u30C3\u30C8\u3055\u308C\u3001\n\t\u30B9\u30CB\u30DA\u30C3\u30C8\u304C\u30EA\u30D7\u30EC\u30A4\u3055\u308C\u307E\u3059\u3002\u305F\u3060\u3057\u30EA\u30D7\u30EC\u30A4\u306F\u8868\u793A\u3055\u308C\u305A\u3001\n\t\u30A8\u30E9\u30FC\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u3053\u308C\u306F\u6B21\u3068\u540C\u3058\u3067\u3059:\n\n\t\t/reload -quiet ...\n\n\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u8A73\u7D30\u306F\u3001\u6B21\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044:\n\n\t/help context\n\n\t\u4F8B:\n\n\t/env -add-modules com.greetings
help.history.summary = \u5165\u529B\u3057\u305F\u5185\u5BB9\u306E\u5C65\u6B74
-help.history.args =
-help.history =jshell\u30C4\u30FC\u30EB\u306E\u8D77\u52D5\u4EE5\u964D\u5165\u529B\u3055\u308C\u305F\u3001\u30B9\u30CB\u30DA\u30C3\u30C8\u304A\u3088\u3073\u30B3\u30DE\u30F3\u30C9\u306E\u5C65\u6B74\u3092\u8868\u793A\u3057\u307E\u3059\u3002
+help.history.args = [-all]
+help.history =\u5165\u529B\u3055\u308C\u305F\u30B9\u30CB\u30DA\u30C3\u30C8\u304A\u3088\u3073\u30B3\u30DE\u30F3\u30C9\u306E\u5C65\u6B74\u3092\u8868\u793A\u3057\u307E\u3059\u3002\n\n/history\n\tjshell\u30C4\u30FC\u30EB\u306E\u8D77\u52D5\u4EE5\u964D\u5165\u529B\u3055\u308C\u305F\u3001\u30B9\u30CB\u30DA\u30C3\u30C8\u304A\u3088\u3073\u30B3\u30DE\u30F3\u30C9\u306E\u5C65\u6B74\u3092\u8868\u793A\u3057\u307E\u3059\n\n/history -all\n\t\u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3068\u4EE5\u524D\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u5165\u529B\u3055\u308C\u305F\u3001\u30B9\u30CB\u30DA\u30C3\u30C8\u304A\u3088\u3073\u30B3\u30DE\u30F3\u30C9\u306E\u3059\u3079\u3066\u306E\u5C65\u6B74\u3092\u8868\u793A\u3057\u307E\u3059
help.debug.summary = jshell\u30C4\u30FC\u30EB\u306E\u30C7\u30D0\u30C3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059
help.debug.args = [0][r][g][f][c][d][e]
--- a/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 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
@@ -148,6 +148,11 @@
jshell.err.corrupted.stored.startup = \u5B58\u50A8\u7684\u542F\u52A8\u5DF2\u635F\u574F, \u6B63\u5728\u4F7F\u7528\u9ED8\u8BA4\u503C -- {0}
+jshell.err.exception.thrown = \u5F02\u5E38\u9519\u8BEF {0}
+jshell.err.exception.thrown.message = \u5F02\u5E38\u9519\u8BEF {0}\uFF1A{1}
+jshell.err.exception.cause = \u539F\u56E0\uFF1A{0}
+jshell.err.exception.cause.message = \u539F\u56E0: {0}\uFF1A {1}
+
jshell.console.see.synopsis = <\u518D\u6B21\u6309 Tab \u53EF\u67E5\u770B\u63D0\u8981>
jshell.console.see.full.documentation = <\u518D\u6B21\u6309 Tab \u53EF\u67E5\u770B\u5B8C\u6574\u6587\u6863>
jshell.console.see.documentation = <\u518D\u6B21\u6309 Tab \u53EF\u67E5\u770B\u6587\u6863>
@@ -172,7 +177,7 @@
jshell.fix.wrong.shortcut =Shift-Tab \u540E\u51FA\u73B0\u610F\u5916\u7684\u5B57\u7B26\u3002\n\u4F7F\u7528 "i" \u8868\u793A\u81EA\u52A8\u5BFC\u5165, \u4F7F\u7528 "v" \u8868\u793A\u53D8\u91CF\u521B\u5EFA, \u4F7F\u7528 "i" \u8868\u793A\u65B9\u6CD5\u521B\u5EFA\u3002\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605:\n /help \u5FEB\u6377\u65B9\u5F0F
-help.usage = \u7528\u6CD5\uFF1A jshell <\u9009\u9879>... <\u52A0\u8F7D\u6587\u4EF6>...\n\u5176\u4E2D\uFF0C\u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC\uFF1A\n --class-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n --module-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u5E94\u7528\u7A0B\u5E8F\u6A21\u5757\u7684\u4F4D\u7F6E\n --add-modules <\u6A21\u5757>(,<\u6A21\u5757>)*\n \u6307\u5B9A\u8981\u89E3\u6790\u7684\u6A21\u5757\uFF1B\u5982\u679C <\u6A21\u5757> \n \u4E3A ALL-MODULE-PATH\uFF0C\u5219\u4E3A\u6A21\u5757\u8DEF\u5F84\u4E2D\u7684\u6240\u6709\u6A21\u5757\n --startup <\u6587\u4EF6> \u5BF9\u542F\u52A8\u5B9A\u4E49\u6267\u884C\u5355\u6B21\u66FF\u6362\n --no-startup \u4E0D\u8FD0\u884C\u542F\u52A8\u5B9A\u4E49\n --feedback <\u6A21\u5F0F> \u6307\u5B9A\u521D\u59CB\u53CD\u9988\u6A21\u5F0F\u3002\u8BE5\u6A21\u5F0F\u53EF\u4EE5\u662F\n \u9884\u5B9A\u4E49\u7684\uFF08silent\u3001concise\u3001normal \u6216 verbose\uFF09\uFF0C\n \u4E5F\u53EF\u662F\u4EE5\u524D\u7528\u6237\u5B9A\u4E49\u7684\n -q \u65E0\u63D0\u793A\u53CD\u9988\u3002\u7B49\u540C\u4E8E\uFF1A--feedback concise\n -s \u771F\u6B63\u65E0\u63D0\u793A\u53CD\u9988\u3002\u7B49\u540C\u4E8E\uFF1A--feedback silent\n -v \u8BE6\u7EC6\u53CD\u9988\u3002\u7B49\u540C\u4E8E\uFF1A--feedback verbose\n -J<\u6807\u8BB0> \u76F4\u63A5\u5C06 <\u6807\u8BB0> \u4F20\u9012\u5230\u8FD0\u884C\u65F6\u7CFB\u7EDF\u3002\n \u4E3A\u6BCF\u4E2A\u8FD0\u884C\u65F6\u6807\u8BB0\u6216\u6807\u8BB0\u53C2\u6570\u4F7F\u7528\u4E00\u4E2A -J\n -R<\u6807\u8BB0> \u5C06 <\u6807\u8BB0> \u4F20\u9012\u5230\u8FDC\u7A0B\u8FD0\u884C\u65F6\u7CFB\u7EDF\u3002\n \u4E3A\u6BCF\u4E2A\u8FDC\u7A0B\u6807\u8BB0\u6216\u6807\u8BB0\u53C2\u6570\u4F7F\u7528\u4E00\u4E2A -R\n -C<\u6807\u8BB0> \u5C06 <\u6807\u8BB0> \u4F20\u9012\u5230\u7F16\u8BD1\u5668\u3002\n \u4E3A\u6BCF\u4E2A\u7F16\u8BD1\u5668\u6807\u8BB0\u6216\u6807\u8BB0\u53C2\u6570\u4F7F\u7528\u4E00\u4E2A -C\n --version \u8F93\u51FA\u7248\u672C\u4FE1\u606F\u5E76\u9000\u51FA\n --show-version \u8F93\u51FA\u7248\u672C\u4FE1\u606F\u5E76\u7EE7\u7EED\n --help \u8F93\u51FA\u6807\u51C6\u9009\u9879\u7684\u6B64\u63D0\u8981\u5E76\u9000\u51FA\n --help-extra, -X \u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u5E2E\u52A9\u5E76\u9000\u51FA\n\n\u6587\u4EF6\u53C2\u6570\u53EF\u4EE5\u662F\u6587\u4EF6\u540D\uFF0C\u6216\u8005\u662F\u9884\u5B9A\u4E49\u7684\u6587\u4EF6\u540D\u4E4B\u4E00\uFF1ADEFAULT\u3001\nPRINTING \u6216 JAVASE\u3002\n\u52A0\u8F7D\u6587\u4EF6\u4E5F\u53EF\u4EE5\u662F "-"\uFF0C\u7528\u4E8E\u6307\u660E\u6807\u51C6\u8F93\u5165\uFF0C\u6CA1\u6709\u4EA4\u4E92\u5F0F I/O\u3002\n\n\u6709\u5173\u8BC4\u4F30\u4E0A\u4E0B\u6587\u9009\u9879\u7684\u8BE6\u7EC6\u4FE1\u606F\uFF08--class-path\u3001\n--module-path \u548C --add-modules\uFF09\uFF0C\u8BF7\u53C2\u89C1\uFF1A\n\t/help context\n\n\u8DEF\u5F84\u5217\u51FA\u8981\u641C\u7D22\u7684\u76EE\u5F55\u548C\u6863\u6848\u3002\u5BF9\u4E8E Windows\uFF0C\u8BF7\u4F7F\u7528\n\u5206\u53F7 (;) \u6765\u5206\u9694\u8DEF\u5F84\u4E2D\u7684\u9879\u3002\u5728\u5176\u4ED6\u5E73\u53F0\u4E0A\uFF0C\u8BF7\u4F7F\u7528\n\u5192\u53F7 (:) \u6765\u5206\u9694\u5404\u9879\u3002\n
+help.usage = \u7528\u6CD5\uFF1A jshell <\u9009\u9879>... <\u52A0\u8F7D\u6587\u4EF6>...\n\u5176\u4E2D\uFF0C\u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC\uFF1A\n --class-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n --module-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u5E94\u7528\u7A0B\u5E8F\u6A21\u5757\u7684\u4F4D\u7F6E\n --add-modules <\u6A21\u5757>(,<\u6A21\u5757>)*\n \u6307\u5B9A\u8981\u89E3\u6790\u7684\u6A21\u5757\uFF1B\u5982\u679C <\u6A21\u5757> \n \u4E3A ALL-MODULE-PATH\uFF0C\u5219\u4E3A\u6A21\u5757\u8DEF\u5F84\u4E2D\u7684\u6240\u6709\u6A21\u5757\n --enable-preview \u5141\u8BB8\u4EE3\u7801\u4F9D\u8D56\u4E8E\u6B64\u53D1\u884C\u7248\u7684\u9884\u89C8\u529F\u80FD\n --startup <\u6587\u4EF6> \u5BF9\u542F\u52A8\u5B9A\u4E49\u6267\u884C\u5355\u6B21\u66FF\u6362\n --no-startup \u4E0D\u8FD0\u884C\u542F\u52A8\u5B9A\u4E49\n --feedback <\u6A21\u5F0F> \u6307\u5B9A\u521D\u59CB\u53CD\u9988\u6A21\u5F0F\u3002\u8BE5\u6A21\u5F0F\u53EF\u4EE5\u662F\n \u9884\u5B9A\u4E49\u7684\uFF08silent\u3001concise\u3001normal \u6216 verbose\uFF09\uFF0C\n \u4E5F\u53EF\u662F\u4EE5\u524D\u7528\u6237\u5B9A\u4E49\u7684\n -q \u65E0\u63D0\u793A\u53CD\u9988\u3002\u7B49\u540C\u4E8E\uFF1A--feedback concise\n -s \u771F\u6B63\u65E0\u63D0\u793A\u53CD\u9988\u3002\u7B49\u540C\u4E8E\uFF1A--feedback silent\n -v \u8BE6\u7EC6\u53CD\u9988\u3002\u7B49\u540C\u4E8E\uFF1A--feedback verbose\n -J<\u6807\u8BB0> \u76F4\u63A5\u5C06 <\u6807\u8BB0> \u4F20\u9012\u5230\u8FD0\u884C\u65F6\u7CFB\u7EDF\u3002\n \u4E3A\u6BCF\u4E2A\u8FD0\u884C\u65F6\u6807\u8BB0\u6216\u6807\u8BB0\u53C2\u6570\u4F7F\u7528\u4E00\u4E2A -J\n -R<\u6807\u8BB0> \u5C06 <\u6807\u8BB0> \u4F20\u9012\u5230\u8FDC\u7A0B\u8FD0\u884C\u65F6\u7CFB\u7EDF\u3002\n \u4E3A\u6BCF\u4E2A\u8FDC\u7A0B\u6807\u8BB0\u6216\u6807\u8BB0\u53C2\u6570\u4F7F\u7528\u4E00\u4E2A -R\n -C<\u6807\u8BB0> \u5C06 <\u6807\u8BB0> \u4F20\u9012\u5230\u7F16\u8BD1\u5668\u3002\n \u4E3A\u6BCF\u4E2A\u7F16\u8BD1\u5668\u6807\u8BB0\u6216\u6807\u8BB0\u53C2\u6570\u4F7F\u7528\u4E00\u4E2A -C\n --version \u8F93\u51FA\u7248\u672C\u4FE1\u606F\u5E76\u9000\u51FA\n --show-version \u8F93\u51FA\u7248\u672C\u4FE1\u606F\u5E76\u7EE7\u7EED\n --help, -?, -h \u8F93\u51FA\u6807\u51C6\u9009\u9879\u7684\u6B64\u63D0\u8981\u5E76\u9000\u51FA\n --help-extra, -X \u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u5E2E\u52A9\u5E76\u9000\u51FA\n\n\u6587\u4EF6\u53C2\u6570\u53EF\u4EE5\u662F\u6587\u4EF6\u540D\uFF0C\u6216\u8005\u662F\u9884\u5B9A\u4E49\u7684\u6587\u4EF6\u540D\u4E4B\u4E00\uFF1ADEFAULT\u3001\nPRINTING \u6216 JAVASE\u3002\n\u52A0\u8F7D\u6587\u4EF6\u4E5F\u53EF\u4EE5\u662F "-"\uFF0C\u7528\u4E8E\u6307\u660E\u6807\u51C6\u8F93\u5165\uFF0C\u6CA1\u6709\u4EA4\u4E92\u5F0F I/O\u3002\n\n\u6709\u5173\u8BC4\u4F30\u4E0A\u4E0B\u6587\u9009\u9879\uFF08--class-path\u3001\n--module-path \u548C --add-modules\uFF09\u7684\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u53C2\u89C1\uFF1A\n\t/help context\n\n\u8DEF\u5F84\u5217\u51FA\u8981\u641C\u7D22\u7684\u76EE\u5F55\u548C\u6863\u6848\u3002\u5BF9\u4E8E Windows\uFF0C\u8BF7\u4F7F\u7528\n\u5206\u53F7 (;) \u6765\u5206\u9694\u8DEF\u5F84\u4E2D\u7684\u9879\u3002\u5728\u5176\u4ED6\u5E73\u53F0\u4E0A\uFF0C\u8BF7\u4F7F\u7528\n\u5192\u53F7 (:) \u6765\u5206\u9694\u5404\u9879\u3002\n
help.usage.x = \ --add-exports <\u6A21\u5757>/<\u7A0B\u5E8F\u5305> \u6307\u5B9A\u8981\u8003\u8651\u4ECE\u5176\u5B9A\u4E49\u6A21\u5757\u5BFC\u51FA\n \u7684\u7A0B\u5E8F\u5305\n --execution <\u89C4\u8303> \u6307\u5B9A\u66FF\u4EE3\u6267\u884C\u5F15\u64CE\u3002\n \u5176\u4E2D <\u89C4\u8303> \u662F ExecutionControl \u89C4\u8303\u3002\n \u6709\u5173\u89C4\u8303\u7684\u8BED\u6CD5\uFF0C\u8BF7\u53C2\u9605\u7A0B\u5E8F\u5305\n jdk.jshell.spi \u7684\u6587\u6863\n \n\u8FD9\u4E9B\u9009\u9879\u662F\u975E\u6807\u51C6\u9009\u9879\uFF0C\u5982\u6709\u66F4\u6539\uFF0C\u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002\n
help.list.summary = \u5217\u51FA\u60A8\u952E\u5165\u7684\u6E90
@@ -228,8 +233,8 @@
help.env =\u67E5\u770B\u6216\u66F4\u6539\u8BC4\u4F30\u4E0A\u4E0B\u6587\u3002\u8BC4\u4F30\u4E0A\u4E0B\u6587\u662F\u7C7B\u8DEF\u5F84\uFF0C\n\u6A21\u5757\u8DEF\u5F84\u7B49\u7B49\u3002\n\n/env\n\t\u663E\u793A\u4F5C\u4E3A\u4E0A\u4E0B\u6587\u9009\u9879\u663E\u793A\u7684\u8BC4\u4F30\u4E0A\u4E0B\u6587\n\n/env [-class-path <\u8DEF\u5F84>] [-module-path <\u8DEF\u5F84>] [-add-modules <\u6A21\u5757>] ...\n\t\u5728\u81F3\u5C11\u8BBE\u7F6E\u4E00\u4E2A\u9009\u9879\u7684\u60C5\u51B5\u4E0B\uFF0C\u8BBE\u7F6E\u8BC4\u4F30\u4E0A\u4E0B\u6587\u3002\u5982\u679C\n\t\u5DF2\u5B9A\u4E49\u7247\u6BB5\uFF0C\u5219\u5C06\u4F7F\u7528\u65B0\u8BC4\u4F30\u4E0A\u4E0B\u6587\u91CD\u7F6E\n\t\u6267\u884C\u72B6\u6001\uFF0C\u5E76\u4E14\u5C06\u91CD\u653E\u7247\u6BB5 -- \u4E0D\u663E\u793A\n\t\u91CD\u653E\uFF0C\u4F46\u662F\u5C06\u663E\u793A\u6240\u6709\u9519\u8BEF\u3002\u8FD9\u7B49\u540C\u4E8E\uFF1A\n\n\t\t/reload -quiet ...\n\n\t\u6709\u5173\u8BC4\u4F30\u4E0A\u4E0B\u6587\u9009\u9879\u7684\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u53C2\u89C1\uFF1A\n\n\t/help context\n\n\u4F8B\u5982\uFF1A\n\n\t/env -add-modules com.greetings
help.history.summary = \u60A8\u952E\u5165\u7684\u5185\u5BB9\u7684\u5386\u53F2\u8BB0\u5F55
-help.history.args =
-help.history =\u663E\u793A\u81EA\u542F\u52A8\u6B64 jshell \u5DE5\u5177\u4EE5\u6765\u8F93\u5165\u7684\u7247\u6BB5\u548C\u547D\u4EE4\u7684\u5386\u53F2\u8BB0\u5F55\u3002
+help.history.args = [-all]
+help.history =\u663E\u793A\u8F93\u5165\u7684\u7247\u6BB5\u548C\u547D\u4EE4\u7684\u5386\u53F2\u8BB0\u5F55\u3002\n\n/history\n\t\u5217\u51FA\u81EA\u542F\u52A8\u6B64 jshell \u5DE5\u5177\u4EE5\u6765\u8F93\u5165\u7684\u7247\u6BB5\u548C\u547D\u4EE4\u7684\u5386\u53F2\u8BB0\u5F55\n\n/history -all\n\t\u5217\u51FA\u6B64\u4F1A\u8BDD\u548C\u4EE5\u524D\u4F1A\u8BDD\u4E2D\u8F93\u5165\u7684\u7247\u6BB5\u548C\u547D\u4EE4\u7684\u5386\u53F2\u8BB0\u5F55
help.debug.summary = \u5207\u6362 jshell \u5DE5\u5177\u7684\u8C03\u8BD5
help.debug.args = [0][r][g][f][c][d][e]
--- a/src/jdk.rmic/share/classes/sun/rmi/rmic/resources/rmic_ja.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.rmic/share/classes/sun/rmi/rmic/resources/rmic_ja.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 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
@@ -23,7 +23,7 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
-
+
#*****************************************************************************
#* Copyright (c) IBM Corporation 1998 *
@@ -42,7 +42,7 @@
# to invoke it. The value can be a single item or a comma separated
# list.
-generator.args=v1.1,vcompat,v1.2,iiop,idl,xprint
+generator.args=v1.1,vcompat,v1.2,xprint
# For each generator, specify the class to invoke, using the following
# syntax:
@@ -58,8 +58,6 @@
generator.class.v1.1=sun.rmi.rmic.RMIGenerator
generator.class.vcompat=sun.rmi.rmic.RMIGenerator
generator.class.v1.2=sun.rmi.rmic.RMIGenerator
-generator.class.iiop=sun.rmi.rmic.iiop.StubGenerator
-generator.class.idl=sun.rmi.rmic.iiop.IDLGenerator
generator.class.xprint=sun.rmi.rmic.iiop.PrintGenerator
# If a generator needs a BatchEnvironment other than
@@ -71,7 +69,7 @@
generator.env.idl=sun.rmi.rmic.iiop.BatchEnvironment
generator.env.xprint=sun.rmi.rmic.iiop.BatchEnvironment
-rmic.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <class names>\n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -keep \u4E2D\u9593\u751F\u6210\u3055\u308C\u305F\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u306A\u3044\n -keepgenerated("-keep"\u3068\u540C\u3058)\n -v1.1 1.1\u30B9\u30BF\u30D6\u30FB\u30D7\u30ED\u30C8\u30B3\u30EB\u7248\u7528\u306E\u30B9\u30BF\u30D6/\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u4F5C\u6210\u3059\u308B(\u975E\u63A8\u5968)\n -vcompat 1.1\u30681.2\u306E\u30B9\u30BF\u30D6\u30FB\u30D7\u30ED\u30C8\u30B3\u30EB\u7248\u3068\n \u4E92\u63DB\u6027\u306E\u3042\u308B\u30B9\u30BF\u30D6/\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u4F5C\u6210\u3059\u308B(\u975E\u63A8\u5968)\n -v1.2 (\u30C7\u30D5\u30A9\u30EB\u30C8)1.2\u30B9\u30BF\u30D6\u30FB\u30D7\u30ED\u30C8\u30B3\u30EB\u7248\u5C02\u7528\u306E\u30B9\u30BF\u30D6\u3092\u4F5C\u6210\u3059\u308B(\u975E\u63A8\u5968)\n -iiop IIOP\u7528\u306E\u30B9\u30BF\u30D6\u3092\u4F5C\u6210\u3059\u308B\u3002\u6307\u5B9A\u3059\u308B\u3068<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u3082\u542B\u307E\u308C\u307E\u3059\u3002\n\n -always \u6700\u65B0\u306E\u5834\u5408\u3067\u3082\u30B9\u30BF\u30D6\u3092\u4F5C\u6210\u3059\u308B\n -alwaysgenerate ("-always"\u3068\u540C\u3058)\n -nolocalstubs \u540C\u3058\u30D7\u30ED\u30BB\u30B9\u306B\u3064\u3044\u3066\u6700\u9069\u5316\u3055\u308C\u305F\u30B9\u30BF\u30D6\u306F\u4F5C\u6210\u3057\u306A\u3044\n\n -idl IDL\u3092\u4F5C\u6210\u3059\u308B\u3002\u6307\u5B9A\u3059\u308B\u3068<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u3082\u542B\u307E\u308C\u307E\u3059\u3002\n\n -noValueMethods valuetypes\u306B\u5BFE\u3057\u3066\u30E1\u30BD\u30C3\u30C9\u3092\u751F\u6210\u3057\u306A\u3044\n -always \u6700\u65B0\u306E\u5834\u5408\u3067\u3082IDL\u3092\u751F\u6210\u3059\u308B\n -alwaysgenerate ("-always"\u3068\u540C\u3058)\n\n -g \u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\n -nowarn \u8B66\u544A\u3092\u751F\u6210\u3057\u306A\u3044\n -nowrite \u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u305F\u30AF\u30E9\u30B9\u3092\u30D5\u30A1\u30A4\u30EB\u30FB\u30B7\u30B9\u30C6\u30E0\u306B\u66F8\u304D\u8FBC\u307E\u306A\u3044\n -verbose \u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u52D5\u4F5C\u306B\u95A2\u3059\u308B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B\n -classpath <path> \u5165\u529B\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -bootclasspath<path> \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n -d <directory> \u751F\u6210\u3055\u308C\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u683C\u7D0D\u3059\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -J<runtime flag> java\u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u306B\u5F15\u6570\u3092\u6E21\u3059\n
+rmic.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <class names>\n\n<options>\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002\n -keep \u4E2D\u9593\u751F\u6210\u3055\u308C\u305F\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u306A\u3044\n -keepgenerated("-keep"\u3068\u540C\u3058)\n -v1.1 1.1\u30B9\u30BF\u30D6\u30FB\u30D7\u30ED\u30C8\u30B3\u30EB\u7248\u7528\u306E\u30B9\u30BF\u30D6/\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u4F5C\u6210\u3059\u308B(\u975E\u63A8\u5968)\n -vcompat 1.1\u30681.2\u306E\u30B9\u30BF\u30D6\u30FB\u30D7\u30ED\u30C8\u30B3\u30EB\u7248\u3068\n \u4E92\u63DB\u6027\u306E\u3042\u308B\u30B9\u30BF\u30D6/\u30B9\u30B1\u30EB\u30C8\u30F3\u3092\u4F5C\u6210\u3059\u308B(\u975E\u63A8\u5968)\n -v1.2 (\u30C7\u30D5\u30A9\u30EB\u30C8)1.2\u30B9\u30BF\u30D6\u30FB\u30D7\u30ED\u30C8\u30B3\u30EB\u7248\u5C02\u7528\u306E\u30B9\u30BF\u30D6\u3092\u4F5C\u6210\u3059\u308B(\u975E\u63A8\u5968)\n -g \u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\n -nowarn \u8B66\u544A\u3092\u751F\u6210\u3057\u306A\u3044\n -nowrite \u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u305F\u30AF\u30E9\u30B9\u3092\u30D5\u30A1\u30A4\u30EB\u30FB\u30B7\u30B9\u30C6\u30E0\u306B\u66F8\u304D\u8FBC\u307E\u306A\u3044\n -verbose \u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u52D5\u4F5C\u306B\u95A2\u3059\u308B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B\n -classpath <path> \u5165\u529B\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -bootclasspath<path> \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n -d <directory> \u751F\u6210\u3055\u308C\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u683C\u7D0D\u3059\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n -J<runtime flag> java\u30A4\u30F3\u30BF\u30D7\u30EA\u30BF\u306B\u5F15\u6570\u3092\u6E21\u3059\n
#
# Generic Messages
@@ -110,42 +108,4 @@
rmic.must.implement.remote.directly=\u30B9\u30BF\u30D6\u3092\u5FC5\u8981\u3068\u3059\u308B\u306E\u306Fjava.rmi.Remote\u3092\u62E1\u5F35\u3059\u308B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u76F4\u63A5\u5B9F\u88C5\u3059\u308B\u30AF\u30E9\u30B9\u306E\u307F\u3067\u3059\u3002\u30AF\u30E9\u30B9{0}\u306F\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u76F4\u63A5\u306B\u306F\u5B9F\u88C5\u3057\u307E\u305B\u3093\u3002
rmic.must.throw.remoteexception={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9{1}\u306Fjava.rmi.RemoteException\u3092\u30B9\u30ED\u30FC\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
rmic.must.only.throw.exception=\u30E1\u30BD\u30C3\u30C9{0}\u306F{1}\u3092\u30B9\u30ED\u30FC\u3059\u308B\u306E\u3067\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9\u5B9F\u88C5\u3067\u3059\u3002\u30EA\u30E2\u30FC\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9\u306E\u5B9F\u88C5\u304C\u30B9\u30ED\u30FC\u3059\u308B\u306E\u306Fjava.lang.Exception\u304B\u305D\u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u306E\u307F\u3067\u3059\u3002
-warn.rmic.tie.found=IIOP "tie"\u306F\u30AF\u30E9\u30B9{0}\u306E\u305F\u3081\u306B\u3042\u308A\u307E\u3059\u3002\n {1}\nPortableRemoteObject.exportObject\u3092\u4F7F\u7528\u3059\u308B\u5834\u5408\u306F\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u307E\u3059\u3002\u524A\u9664\u3057\u306A\u3044\u3068\u3001\u30B5\u30FC\u30D0\u30FC\u30FB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306FJRMP\u3067\u306A\u304FIIOP\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u307E\u3059\u3002
rmic.jrmp.stubs.deprecated=\u8B66\u544A: JRMP\u306E\u30B9\u30B1\u30EB\u30C8\u30F3\u3068static\u30B9\u30BF\u30D6\u306E\u751F\u6210\u3068\u4F7F\u7528\u306F\n\u975E\u63A8\u5968\u3067\u3059\u3002\u30B9\u30B1\u30EB\u30C8\u30F3\u306F\u4E0D\u8981\u3067\u3001static\u30B9\u30BF\u30D6\u306F\n\u52D5\u7684\u306B\u751F\u6210\u3055\u308C\u308B\u30B9\u30BF\u30D6\u306B\u5DEE\u3057\u66FF\u3048\u3089\u308C\u307E\u3057\u305F\u3002\u30E6\u30FC\u30B6\u30FC\u306F\n\u30B9\u30B1\u30EB\u30C8\u30F3\u3068static\u30B9\u30BF\u30D6\u3092\u751F\u6210\u3059\u308B\u305F\u3081\u306B{0}\u3092\u4F7F\u7528\u305B\u305A\u306B\u79FB\u884C\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\njava.rmi.server.UnicastRemoteObject\u306B\u95A2\u3059\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-
-#
-# RMI-IIOP Messages
-#
-
-rmic.generated=[{1}\u30DF\u30EA\u79D2\u3067{0}\u3092\u751F\u6210]
-rmic.previously.generated=[\u4EE5\u524D\u306B\u751F\u6210\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB{0}\u306F\u6700\u65B0\u3067\u3059]
-warn.rmic.member.not.mapped=\u30AF\u30E9\u30B9{1}\u306E\u30C7\u30FC\u30BF\u30FB\u30E1\u30F3\u30D0\u30FC{0}\u306FIDL\u306B\u30DE\u30C3\u30D7\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-
-rmic.iiop.constraint.1={0}\u306F\u4E0D\u6B63\u306A\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002java.rmi.Remote\u304B\u3089\u306F\u7D99\u627F\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.2=\u30AF\u30E9\u30B9{0}\u306EserialPersistentFields\u914D\u5217\u306F\u4E0D\u6B63\u3067\u3059\u3002\u5B58\u5728\u3057\u306A\u3044\u30E1\u30F3\u30D0\u30FC\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u3059\u3002
-rmic.iiop.constraint.3={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002{1}\u306F\u6B63\u3057\u3044\u30D7\u30EA\u30DF\u30C6\u30A3\u30D6\u307E\u305F\u306FString\u5B9A\u6570\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.4={0}\u306F\u4E0D\u6B63\u306A\u5024\u3067\u3059\u3002serialPersistentFields\u306Fprivate static final\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
-rmic.iiop.constraint.5={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9{1}\u306FRemoteException\u307E\u305F\u306FRemoteException\u306E\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u3092\u30B9\u30ED\u30FC\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
-rmic.iiop.constraint.6={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u7D99\u627F\u3055\u308C\u305F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{1}\u3082\u4E21\u65B9\u30E1\u30BD\u30C3\u30C9{2}\u3092\u5BA3\u8A00\u3057\u3066\u3044\u307E\u3059\u3002
-rmic.iiop.constraint.7={0}\u306F\u4E0D\u6B63\u306A\u578B\u3067\u3059\u3002{1}\u306F\u7279\u5225\u306A\u5834\u5408\u306B\u306E\u307F\u7570\u306A\u308A\u307E\u3059\u3002
-rmic.iiop.constraint.8={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u5B9F\u88C5\u3067\u3059\u3002\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u6301\u3063\u3066\u3044\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.9=\u30AF\u30E9\u30B9{1}\u306EserialPersistentFields\u914D\u5217\u30E1\u30F3\u30D0\u30FC{0}\u306F\u4E0D\u6B63\u3067\u3059\u3002\u578B\u304C\u5BA3\u8A00\u3055\u308C\u305F\u30E1\u30F3\u30D0\u30FC\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.10={0}\u306F\u4E0D\u6B63\u306A\u5024\u3067\u3059\u3002java.rmi.Remote\u3092\u5B9F\u88C5\u3057\u307E\u3059\u3002
-rmic.iiop.constraint.11={0}\u306F\u4E0D\u6B63\u306A\u5024\u3067\u3059\u3002java.io.Serializable\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.12={0}\u306F\u4E0D\u6B63\u306A\u5024\u3067\u3059\u3002\u4E0D\u6B63\u306A\u89AA\u3067\u3059\u3002
-rmic.iiop.constraint.13={0}\u306F\u4E0D\u6B63\u306A\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9{1}\u306Eidl\u540D\u304C\u4ED6\u306E\u30E1\u30BD\u30C3\u30C9\u3068\u7AF6\u5408\u3057\u307E\u3059\u3002
-rmic.iiop.constraint.14={0}\u306F\u4E0D\u6B63\u306Aabstract\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.15={0}\u306F\u4E0D\u6B63\u306Aabstract\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002java.rmi.Remote\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u3059\u3002
-rmic.iiop.constraint.16={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.17={0}\u306F\u4E0D\u6B63\u306A\u30EA\u30E2\u30FC\u30C8\u5B9F\u88C5\u3067\u3059\u3002\u30AF\u30E9\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.18={0}\u306F\u4E0D\u6B63\u306A\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9{1}\u306Forg.omg.CORBA.portable.IDLEntity\u3092\u5B9F\u88C5\u3059\u308B\u4F8B\u5916\u3092\u6E21\u3057\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.19={0}\u306F\u4E0D\u6B63\u306A\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002\u5B9A\u6570{1}\u306Eidl\u540D\u304C\u4ED6\u306E\u5B9A\u6570\u3068\u7AF6\u5408\u3057\u307E\u3059\u3002
-rmic.iiop.constraint.20={0}\u306F\u4E0D\u6B63\u306A\u30AF\u30E9\u30B9\u3067\u3059\u3002\u30E1\u30F3\u30D0\u30FC{1}\u306Eidl\u540D\u304C\u4ED6\u306E\u30E1\u30F3\u30D0\u30FC\u3068\u7AF6\u5408\u3057\u307E\u3059\u3002
-rmic.iiop.constraint.21={0}\u306F\u30EA\u30E2\u30FC\u30C8\u5B9F\u88C5\u30AF\u30E9\u30B9\u3067\u3042\u308A\u3001{1}\u306E\u30E1\u30BD\u30C3\u30C9\u5F15\u6570\u307E\u305F\u306F\u623B\u308A\u5024\u306E\u578B\u3068\u3057\u3066\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.22=\u5185\u90E8\u969C\u5BB3: (\u30E1\u30BD\u30C3\u30C9)\u4F8B\u5916{0}\u306F\u30AF\u30E9\u30B9\u578B\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.23=\u5185\u90E8\u969C\u5BB3: (\u30E1\u30BD\u30C3\u30C9)\u306F{0}\u306Enull\u30DD\u30A4\u30F3\u30BF\u4F8B\u5916\u3092\u6355\u6349\u3057\u307E\u3057\u305F\u3002
-rmic.iiop.constraint.24=\u30AF\u30E9\u30B9{0}\u306F\u4E0D\u6B63\u306A\u623B\u308A\u5024\u306E\u578B\u3092\u542B\u3093\u3067\u3044\u307E\u3059\u3002
-rmic.iiop.constraint.25=\u30AF\u30E9\u30B9{0}\u306F\u30E1\u30BD\u30C3\u30C9{1}\u306B\u4E0D\u6B63\u306A\u5F15\u6570\u578B\u3092\u542B\u3093\u3067\u3044\u307E\u3059\u3002
-rmic.iiop.constraint.26={0}\u3092\u30B3\u30F3\u30D1\u30A4\u30EB\u3067\u304D\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.27=\u30AF\u30E9\u30B9{0}\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3002
-rmic.iiop.constraint.28={0}\u306F\u30EA\u30E2\u30FC\u30C8\u5B9F\u88C5\u30AF\u30E9\u30B9\u3067\u3042\u308A\u3001{1}\u306E\u30C7\u30FC\u30BF\u30FB\u30E1\u30F3\u30D0\u30FC\u3068\u3057\u3066\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
--- a/src/jdk.rmic/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties Thu Jul 26 09:30:58 2018 -0700
+++ b/src/jdk.rmic/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties Thu Jul 26 10:00:40 2018 -0700
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 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
@@ -23,7 +23,7 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
-
+
#*****************************************************************************
#* Copyright (c) IBM Corporation 1998 *
@@ -42,7 +42,7 @@
# to invoke it. The value can be a single item or a comma separated
# list.
-generator.args=v1.1,vcompat,v1.2,iiop,idl,xprint
+generator.args=v1.1,vcompat,v1.2,xprint
# For each generator, specify the class to invoke, using the following
# syntax:
@@ -58,8 +58,6 @@
generator.class.v1.1=sun.rmi.rmic.RMIGenerator
generator.class.vcompat=sun.rmi.rmic.RMIGenerator
generator.class.v1.2=sun.rmi.rmic.RMIGenerator
-generator.class.iiop=sun.rmi.rmic.iiop.StubGenerator
-generator.class.idl=sun.rmi.rmic.iiop.IDLGenerator
generator.class.xprint=sun.rmi.rmic.iiop.PrintGenerator
# If a generator needs a BatchEnvironment other than
@@ -71,7 +69,7 @@
generator.env.idl=sun.rmi.rmic.iiop.BatchEnvironment
generator.env.xprint=sun.rmi.rmic.iiop.BatchEnvironment
-rmic.usage=\u7528\u6CD5: {0} <options> <class names>\n\n\u5176\u4E2D <options> \u5305\u62EC:\n -keep \u4E0D\u5220\u9664\u4E34\u65F6\u751F\u6210\u7684\u6E90\u6587\u4EF6\n -keepgenerated (\u4E0E "-keep" \u76F8\u540C)\n -v1.1 \u521B\u5EFA 1.1 \u5B58\u6839\u534F\u8BAE\u7248\u672C\u7684\u5B58\u6839/\u9AA8\u67B6 (\u5DF2\u8FC7\u65F6)\n -vcompat \u521B\u5EFA\u4E0E 1.1 \u548C 1.2 \u5B58\u6839\u534F\u8BAE\u7248\u672C\n \u90FD\u517C\u5BB9\u7684\u5B58\u6839/\u9AA8\u67B6 (\u5DF2\u8FC7\u65F6)\n -v1.2 (\u9ED8\u8BA4\u503C) \u4EC5\u521B\u5EFA 1.2 \u5B58\u6839\u534F\u8BAE\u7248\u672C\u7684\u5B58\u6839 (\u5DF2\u8FC7\u65F6)\n -iiop \u521B\u5EFA IIOP \u7684\u5B58\u6839\u3002\u5982\u679C\u63D0\u4F9B, <options> \u8FD8\u5305\u62EC:\n\n -always \u521B\u5EFA\u5B58\u6839 (\u5373\u4F7F\u5F53\u524D\u663E\u793A)\n -alwaysgenerate (\u4E0E "-always" \u76F8\u540C)\n -nolocalstubs \u4E0D\u521B\u5EFA\u5BF9\u76F8\u540C\u8FDB\u7A0B\u4F18\u5316\u7684\u5B58\u6839\n\n -idl \u521B\u5EFA IDL\u3002\u5982\u679C\u63D0\u4F9B, <options> \u8FD8\u5305\u62EC:\n\n -noValueMethods \u4E0D\u4E3A\u503C\u7C7B\u578B\u751F\u6210\u65B9\u6CD5\n -always \u521B\u5EFA IDL (\u5373\u4F7F\u5F53\u524D\u663E\u793A)\n -alwaysgenerate (\u4E0E "-always" \u76F8\u540C)\n\n -g \u751F\u6210\u8C03\u8BD5\u4FE1\u606F\n -nowarn \u4E0D\u751F\u6210\u4EFB\u4F55\u8B66\u544A\n -nowrite \u4E0D\u5C06\u7F16\u8BD1\u7684\u7C7B\u5199\u5165\u6587\u4EF6\u7CFB\u7EDF\n -verbose \u8F93\u51FA\u6709\u5173\u7F16\u8BD1\u5668\u6B63\u5728\u6267\u884C\u7684\u64CD\u4F5C\u7684\u6D88\u606F\n -classpath <path> \u6307\u5B9A\u67E5\u627E\u8F93\u5165\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -bootclasspath <path> \u8986\u76D6\u5F15\u5BFC\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -d <directory> \u6307\u5B9A\u653E\u7F6E\u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -J<runtime flag> \u5C06\u53C2\u6570\u4F20\u9012\u7ED9 java \u89E3\u91CA\u5668\n
+rmic.usage=\u7528\u6CD5\uFF1A{0} <\u9009\u9879> <\u7C7B\u540D>\n\n\u5176\u4E2D <\u9009\u9879> \u5305\u62EC\uFF1A\n -keep \u4E0D\u5220\u9664\u4E34\u65F6\u751F\u6210\u7684\u6E90\u6587\u4EF6\n -keepgenerated\uFF08\u4E0E "-keep" \u76F8\u540C\uFF09\n -v1.1 \u521B\u5EFA 1.1 \u5B58\u6839\u534F\u8BAE\u7248\u672C\u7684\u5B58\u6839/\u9AA8\u67B6\uFF08\u5DF2\u8FC7\u65F6\uFF09\n -vcompat \u521B\u5EFA\u4E0E 1.1 \u548C 1.2 \u5B58\u6839\u534F\u8BAE\u7248\u672C\n \u90FD\u517C\u5BB9\u7684\u5B58\u6839/\u9AA8\u67B6\uFF08\u5DF2\u8FC7\u65F6\uFF09\n -v1.2 \uFF08\u9ED8\u8BA4\u503C\uFF09\u4EC5\u521B\u5EFA 1.2 \u5B58\u6839\u534F\u8BAE\u7248\u672C\u7684\u5B58\u6839\uFF08\u5DF2\u8FC7\u65F6\uFF09\n -g \u751F\u6210\u8C03\u8BD5\u4FE1\u606F\n -nowarn \u4E0D\u751F\u6210\u4EFB\u4F55\u8B66\u544A\n -nowrite \u4E0D\u5C06\u7F16\u8BD1\u7684\u7C7B\u5199\u5165\u6587\u4EF6\u7CFB\u7EDF\n -verbose \u8F93\u51FA\u6709\u5173\u7F16\u8BD1\u5668\u6B63\u5728\u6267\u884C\u7684\u64CD\u4F5C\u7684\u6D88\u606F\n -classpath <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u8F93\u5165\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -bootclasspath <\u8DEF\u5F84> \u8986\u76D6\u5F15\u5BFC\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -d <\u76EE\u5F55> \u6307\u5B9A\u653E\u7F6E\u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n -J<\u8FD0\u884C\u65F6\u6807\u8BB0> \u5C06\u53C2\u6570\u4F20\u9012\u7ED9 java \u89E3\u91CA\u5668\n
#
# Generic Messages
@@ -110,42 +108,4 @@
rmic.must.implement.remote.directly=\u4EC5\u76F4\u63A5\u5B9E\u73B0\u6269\u5C55 java.rmi.Remote \u7684\u63A5\u53E3\u7684\u7C7B\u9700\u8981\u5B58\u6839; \u7C7B{0}\u4E0D\u76F4\u63A5\u5B9E\u73B0\u8FDC\u7A0B\u63A5\u53E3\u3002
rmic.must.throw.remoteexception={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3: \u65B9\u6CD5{1}\u5FC5\u987B\u629B\u51FA java.rmi.RemoteException\u3002
rmic.must.only.throw.exception=\u65B9\u6CD5{0}\u4E0D\u662F\u6709\u6548\u7684\u8FDC\u7A0B\u65B9\u6CD5\u5B9E\u73B0, \u56E0\u4E3A\u5B83\u629B\u51FA\u4E86{1}; \u8FDC\u7A0B\u65B9\u6CD5\u5B9E\u73B0\u53EA\u53EF\u80FD\u629B\u51FA java.lang.Exception \u6216\u5176\u5B50\u7C7B\u3002
-warn.rmic.tie.found=\u5BF9\u4E8E\u7C7B{0}, \u5B58\u5728 IIOP "tie":\n {1}\n\u5982\u679C\u4F7F\u7528 PortableRemoteObject.exportObject, \u5219\u5E94\u8BE5\u5220\u9664\u6B64\u6587\u4EF6, \u5426\u5219, \u60A8\u7684\u670D\u52A1\u5668\u5BF9\u8C61\u5C06\u4F1A\u5BFC\u51FA\u5230 IIOP \u800C\u975E JRMP\u3002
rmic.jrmp.stubs.deprecated=\u8B66\u544A: \u4E3A JRMP \u751F\u6210\u548C\u4F7F\u7528\u9AA8\u67B6\u53CA\u9759\u6001\u5B58\u6839\n\u5DF2\u8FC7\u65F6\u3002\u9AA8\u67B6\u4E0D\u518D\u5FC5\u8981, \u800C\u9759\u6001\u5B58\u6839\n\u5DF2\u7531\u52A8\u6001\u751F\u6210\u7684\u5B58\u6839\u53D6\u4EE3\u3002\u5EFA\u8BAE\u7528\u6237\n\u4E0D\u518D\u4F7F\u7528{0}\u6765\u751F\u6210\u9AA8\u67B6\u548C\u9759\u6001\u5B58\u6839\u3002\n\u8BF7\u53C2\u9605 java.rmi.server.UnicastRemoteObject \u7684\u6587\u6863\u3002
-
-#
-# RMI-IIOP Messages
-#
-
-rmic.generated=[\u5728 {1} \u6BEB\u79D2\u5185\u751F\u6210{0}]
-rmic.previously.generated=[\u4EE5\u524D\u751F\u6210\u7684\u6587\u4EF6{0}\u4E3A\u5F53\u524D\u6587\u4EF6]
-warn.rmic.member.not.mapped=\u7C7B{1}\u7684\u6570\u636E\u6210\u5458{0}\u672A\u6620\u5C04\u5230 IDL\u3002
-
-rmic.iiop.constraint.1={0}\u4E0D\u662F\u6709\u6548\u63A5\u53E3: \u6CA1\u6709\u4ECE java.rmi.Remote \u7EE7\u627F\u3002
-rmic.iiop.constraint.2=\u7C7B{0}\u7684 serialPersistentFields \u6570\u7EC4\u65E0\u6548: \u5F15\u7528\u4E86\u4E0D\u5B58\u5728\u7684\u6210\u5458\u3002
-rmic.iiop.constraint.3={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3: {1}\u4E0D\u662F\u6709\u6548\u7684\u57FA\u5143\u6216\u5B57\u7B26\u4E32\u5E38\u91CF\u3002
-rmic.iiop.constraint.4={0}\u4E0D\u662F\u6709\u6548\u503C: serialPersistentFields \u5FC5\u987B\u4E3A\u4E13\u7528\u9759\u6001\u6700\u7EC8\u7C7B\u578B\u3002
-rmic.iiop.constraint.5={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3: \u65B9\u6CD5{1}\u5FC5\u987B\u629B\u51FA RemoteException \u6216 RemoteException \u7684\u8D85\u7C7B\u3002
-rmic.iiop.constraint.6={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3: \u7EE7\u627F\u7684\u63A5\u53E3{1}\u5747\u58F0\u660E\u4E86\u65B9\u6CD5{2}\u3002
-rmic.iiop.constraint.7={0}\u4E0D\u662F\u6709\u6548\u7C7B\u578B: {1}\u4EC5\u5728\u5927\u5C0F\u5199\u4E0A\u4E0D\u540C\u3002
-rmic.iiop.constraint.8={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u5B9E\u73B0: \u4E0D\u5177\u6709\u8FDC\u7A0B\u63A5\u53E3\u3002
-rmic.iiop.constraint.9=\u7C7B{1}\u7684 serialPersistentFields \u6570\u7EC4\u6210\u5458{0}\u65E0\u6548: \u7C7B\u578B\u4E0E\u58F0\u660E\u7684\u6210\u5458\u4E0D\u5339\u914D\u3002
-rmic.iiop.constraint.10={0}\u4E0D\u662F\u6709\u6548\u503C: \u5B9E\u73B0 java.rmi.Remote\u3002
-rmic.iiop.constraint.11={0}\u4E0D\u662F\u6709\u6548\u503C: \u4E0D\u5B9E\u73B0 java.io.Serializable\u3002
-rmic.iiop.constraint.12={0}\u4E0D\u662F\u6709\u6548\u503C: \u7236\u7EA7\u65E0\u6548\u3002
-rmic.iiop.constraint.13={0}\u4E0D\u662F\u6709\u6548\u63A5\u53E3: \u65B9\u6CD5{1}\u7684 idl \u540D\u79F0\u4E0E\u5176\u4ED6\u65B9\u6CD5\u51B2\u7A81\u3002
-rmic.iiop.constraint.14={0}\u4E0D\u662F\u6709\u6548\u62BD\u8C61\u63A5\u53E3: \u4E0D\u662F\u63A5\u53E3\u3002
-rmic.iiop.constraint.15={0}\u4E0D\u662F\u6709\u6548\u62BD\u8C61\u63A5\u53E3: \u5B9E\u73B0 java.rmi.Remote\u3002
-rmic.iiop.constraint.16={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3: \u4E0D\u662F\u63A5\u53E3\u3002
-rmic.iiop.constraint.17={0}\u4E0D\u662F\u6709\u6548\u8FDC\u7A0B\u5B9E\u73B0: \u4E0D\u662F\u7C7B\u3002
-rmic.iiop.constraint.18={0}\u4E0D\u662F\u6709\u6548\u63A5\u53E3: \u65B9\u6CD5{1}\u4E0D\u80FD\u4F20\u9012\u5B9E\u73B0 org.omg.CORBA.portable.IDLEntity \u7684\u5F02\u5E38\u9519\u8BEF\u3002
-rmic.iiop.constraint.19={0}\u4E0D\u662F\u6709\u6548\u63A5\u53E3: \u5E38\u91CF{1}\u7684 idl \u540D\u79F0\u4E0E\u5176\u4ED6\u5E38\u91CF\u51B2\u7A81\u3002
-rmic.iiop.constraint.20={0}\u4E0D\u662F\u6709\u6548\u7C7B: \u6210\u5458{1}\u7684 idl \u540D\u79F0\u4E0E\u5176\u4ED6\u6210\u5458\u51B2\u7A81\u3002
-rmic.iiop.constraint.21={0}\u662F\u8FDC\u7A0B\u5B9E\u73B0\u7C7B\u5E76\u4E14\u4E0D\u80FD\u7528\u4F5C{1}\u4E2D\u7684\u65B9\u6CD5\u53C2\u6570\u6216\u8FD4\u56DE\u7C7B\u578B\u3002
-rmic.iiop.constraint.22=\u5185\u90E8\u5931\u8D25: (\u65B9\u6CD5) \u5F02\u5E38\u9519\u8BEF{0}\u4E0D\u662F\u7C7B\u7C7B\u578B\u3002
-rmic.iiop.constraint.23=\u5185\u90E8\u5931\u8D25: (\u65B9\u6CD5) \u6355\u83B7\u5230{0}\u7684\u7A7A\u503C\u6307\u9488\u5F02\u5E38\u9519\u8BEF\u3002
-rmic.iiop.constraint.24=\u7C7B{0}\u5305\u542B\u65E0\u6548\u8FD4\u56DE\u7C7B\u578B\u3002
-rmic.iiop.constraint.25=\u7C7B{0}\u5305\u542B\u65B9\u6CD5{1}\u4E2D\u7684\u65E0\u6548\u53C2\u6570\u7C7B\u578B\u3002
-rmic.iiop.constraint.26=\u65E0\u6CD5\u7F16\u8BD1{0}\u3002
-rmic.iiop.constraint.27=\u65E0\u6CD5\u52A0\u8F7D\u7C7B{0}\u3002
-rmic.iiop.constraint.28={0}\u662F\u8FDC\u7A0B\u5B9E\u73B0\u7C7B\u5E76\u4E14\u65E0\u6CD5\u7528\u4F5C{1}\u4E2D\u7684\u6570\u636E\u6210\u5458\u3002
--- a/test/hotspot/jtreg/ProblemList.txt Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/ProblemList.txt Thu Jul 26 10:00:40 2018 -0700
@@ -153,7 +153,7 @@
vmTestbase/nsk/jvmti/ClearBreakpoint/clrbrk001/TestDescription.java 8016181 generic-all
vmTestbase/nsk/jvmti/FieldModification/fieldmod001/TestDescription.java 8016181 generic-all
-vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption/TestDescription.java 8202896 linux-x64
+vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption/TestDescription.java 8202896,8206076,8208074 generic-all
vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted001/TestDescription.java 7013634 generic-all
vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003/TestDescription.java 6606767 generic-all
vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted004/TestDescription.java 7013634,6606767 generic-all
--- a/test/hotspot/jtreg/TEST.ROOT Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/TEST.ROOT Thu Jul 26 10:00:40 2018 -0700
@@ -54,6 +54,7 @@
vm.debug \
vm.hasSA \
vm.hasSAandCanAttach \
+ vm.hasJFR \
vm.rtm.cpu \
vm.rtm.os \
vm.aot \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/aot/cli/jaotc/IgnoreErrorsTest.java Thu Jul 26 10:00:40 2018 -0700
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 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
+ * @requires vm.aot
+ * @library / /test/lib /testlibrary
+ * @compile IllegalClass.jasm
+ * @run driver compiler.aot.cli.jaotc.IgnoreErrorsTest
+ */
+
+package compiler.aot.cli.jaotc;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardOpenOption;
+
+import jdk.test.lib.Asserts;
+import jdk.test.lib.process.OutputAnalyzer;
+
+public class IgnoreErrorsTest {
+ public static void main(String[] args) {
+ try {
+ Files.write(Paths.get("Empty.class"), new byte[] { }, StandardOpenOption.CREATE_NEW);
+ } catch (IOException e) {
+ throw new Error("can't create empty class file", e);
+ }
+ File compiledLibrary = new File(JaotcTestHelper.DEFAULT_LIB_PATH);
+ OutputAnalyzer oa;
+
+ System.out.println("Compiling empty class file w/o --ignore-errors");
+ oa = JaotcTestHelper.compileLibrary(
+ "--class-name", "Empty",
+ "--class-name", "java.lang.Object");
+ oa.shouldNotHaveExitValue(0);
+ Asserts.assertTrue(!compiledLibrary.exists(), "Compiled library file exists");
+
+ System.out.println("Compiling empty class file w/ --ignore-errors");
+ oa = JaotcTestHelper.compileLibrary(
+ "--ignore-errors",
+ "--class-name", "Empty",
+ "--class-name", "java.lang.Object");
+ oa.shouldHaveExitValue(0);
+ Asserts.assertTrue(compiledLibrary.exists(), "Compiled library file is missed");
+ JaotcTestHelper.checkLibraryUsage("-version");
+ compiledLibrary.delete();
+
+ System.out.println("Compiling illegal class file w/o --ignore-errors");
+ oa = JaotcTestHelper.compileLibrary(
+ "--class-name", "IllegalClass",
+ "--class-name", "java.lang.Object");
+ oa.shouldNotHaveExitValue(0);
+ Asserts.assertTrue(!compiledLibrary.exists(), "Compiled library file exists");
+
+ System.out.println("Compiling illegal class file w/ --ignore-errors");
+ oa = JaotcTestHelper.compileLibrary(
+ "--ignore-errors",
+ "--class-name", "IllegalClass",
+ "--class-name", "java.lang.Object");
+ oa.shouldHaveExitValue(0);
+ Asserts.assertTrue(compiledLibrary.exists(), "Compiled library file is missed");
+ JaotcTestHelper.checkLibraryUsage("-version");
+ compiledLibrary.delete();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/aot/cli/jaotc/IllegalClass.jasm Thu Jul 26 10:00:40 2018 -0700
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 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.
+ */
+
+super public class IllegalClass
+ extends java/lang/String
+ version 46:0
+{ }
--- a/test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java Thu Jul 26 10:00:40 2018 -0700
@@ -124,9 +124,12 @@
throw new Exception("Failed to find tests, VM crashed with exit code " + exitCode);
}
- System.out.println("INFO: command output: [" + out.getOutput() + "]");
+ String outStr = out.getOutput().trim();
+ System.out.println("INFO: command output: [" + outStr + "]");
- String[] lines = out.getStdout().split(" ");
+ String[] lines = outStr.split(" ");
+ Arrays.sort(lines);
+
if (lines.length > 1) { // first line contains jar file name
for (int i = 1; i < lines.length; i++) {
String className = lines[i];
--- a/test/hotspot/jtreg/runtime/appcds/CDSandJFR.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/runtime/appcds/CDSandJFR.java Thu Jul 26 10:00:40 2018 -0700
@@ -22,10 +22,10 @@
*
*/
-/*
+/**
* @test
* @summary Make sure CDS and JFR work together.
- * @requires vm.cds
+ * @requires vm.hasJFR & vm.cds
* @library /test/lib /test/hotspot/jtreg/runtime/appcds /test/hotspot/jtreg/runtime/appcds/test-classes test-classes
* @modules jdk.jfr
* @build Hello GetFlightRecorder
--- a/test/hotspot/jtreg/runtime/appcds/TestWithProfiler.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/runtime/appcds/TestWithProfiler.java Thu Jul 26 10:00:40 2018 -0700
@@ -22,14 +22,14 @@
*
*/
-/*
+/**
* @test
* @bug 8145221
* @summary After creating an AppCDS archive, run the test with the JFR profiler
* enabled, and keep calling a method in the archive in a tight loop.
* This is to test the safe handling of trampoline functions by the
* profiler.
- * @requires vm.cds
+ * @requires vm.hasJFR & vm.cds
* @library /test/lib /test/hotspot/jtreg/runtime/appcds
* @modules java.base/jdk.internal.misc
* java.management
--- a/test/hotspot/jtreg/runtime/appcds/sharedStrings/FlagCombo.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/runtime/appcds/sharedStrings/FlagCombo.java Thu Jul 26 10:00:40 2018 -0700
@@ -22,10 +22,10 @@
*
*/
-/*
+/**
* @test
* @summary Test relevant combinations of command line flags with shared strings
- * @requires vm.cds.archived.java.heap
+ * @requires vm.cds.archived.java.heap & vm.hasJFR
* @library /test/lib /test/hotspot/jtreg/runtime/appcds
* @modules java.base/jdk.internal.misc
* @modules java.management
@@ -34,7 +34,21 @@
* @run main FlagCombo
*/
+/**
+ * @test
+ * @summary Test relevant combinations of command line flags with shared strings
+ * @comment A special test excluding the case that requires JFR
+ * @requires vm.cds.archived.java.heap & !vm.hasJFR
+ * @library /test/lib /test/hotspot/jtreg/runtime/appcds
+ * @modules java.base/jdk.internal.misc
+ * @modules java.management
+ * jdk.jartool/sun.tools.jar
+ * @build HelloString
+ * @run main FlagCombo noJfr
+ */
+
import jdk.test.lib.BuildHelper;
+import jdk.test.lib.Platform;
public class FlagCombo {
public static void main(String[] args) throws Exception {
@@ -45,8 +59,10 @@
SharedStringsUtils.runWithArchive("HelloString", "-XX:+UseG1GC");
- SharedStringsUtils.runWithArchiveAuto("HelloString",
- "-XX:StartFlightRecording=dumponexit=true");
+ if (args.length == 0) {
+ SharedStringsUtils.runWithArchiveAuto("HelloString",
+ "-XX:StartFlightRecording=dumponexit=true");
+ }
SharedStringsUtils.runWithArchive("HelloString", "-XX:+UnlockDiagnosticVMOptions",
"-XX:NativeMemoryTracking=detail", "-XX:+PrintNMTStatistics");
--- a/test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/StaticReferences.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/StaticReferences.java Thu Jul 26 10:00:40 2018 -0700
@@ -67,7 +67,7 @@
/**
* Test checks that static fields will be initialized in new loaded class. Test performs in loop the following routine:
* 1.) Load class either by regular classloader or by Unsafe.defineAnonymousClass.
- * 2.) Trigger unloading. Class must be alive. Next step will check that static fields would not lost.
+ * 2.) Trigger unloading. Class must be alive. Next step will check that static fields were not lost.
* 3.) Change static fields.
* 4.) Unload class.
* 5.) Load class again as in step 1.
@@ -82,7 +82,7 @@
private static String[] args;
- private static final int LIMIT = 100;
+ private static final int LIMIT = 20;
private List<Object> keepAlive = new LinkedList<Object>();
@@ -103,7 +103,7 @@
@Override
public void run() {
- random = new Random(runParams.getSeed());
+ random = new Random(runParams.getSeed());
ExecutionController stresser = new Stresser(args);
stresser.start(1);
@@ -116,7 +116,7 @@
return;
}
for (int j = 0; j < fieldQuantities.length; j++) {
- fieldQuantities[j] = 1 + random.nextInt(2000);
+ fieldQuantities[j] = 1 + random.nextInt(20);
}
bytecodeList.add(generateAndCompile(fieldQuantities));
}
@@ -209,9 +209,9 @@
}
}
- private byte[] generateAndCompile(int[] filedQuantities) {
+ private byte[] generateAndCompile(int[] fieldQuantities) {
Map<String, CharSequence> sources = new HashMap<String, CharSequence>();
- sources.put("A", generateSource(filedQuantities));
+ sources.put("A", generateSource(fieldQuantities));
return InMemoryJavaCompiler.compile(sources).values().iterator().next();
}
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressDictionary/StressDictionary.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressDictionary/StressDictionary.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,7 +29,7 @@
*
* @library /vmTestbase /test/lib
* @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm metaspace.stressDictionary.StressDictionary
+ * @run main/othervm metaspace.stressDictionary.StressDictionary -stressTime 30
*/
package metaspace.stressDictionary;
@@ -57,15 +57,16 @@
*/
public class StressDictionary extends GCTestBase {
+ private static byte[] bytecode;
+
private class FillingDictionaryWorker implements Callable<Object> {
@Override
public Object call() throws Exception {
while (stresser.continueExecution()) {
try {
- byte[] bytecode = generateAndCompile();
- bytecode[random.nextInt(bytecode.length)] = (byte) 42;
- classloader.define(bytecode);
- changeClassloaderIfRequired();
+ byte[] badBytecode = bytecode.clone();
+ badBytecode[random.nextInt(badBytecode.length)] = (byte) 42;
+ classloader.define(badBytecode);
} catch (Throwable e) {
// We can get ClassFormatError, ClassNotFoundException or anything else here
}
@@ -78,10 +79,8 @@
@Override
public Object call() throws Exception {
while (stresser.continueExecution()) {
- byte[] bytecode = generateAndCompile();
Class<?> c = classloader.define(bytecode);
testClass(c);
- changeClassloaderIfRequired();
}
return null;
}
@@ -89,8 +88,6 @@
private static String[] args;
- private static final int DROP_CLASSLOADER_LIMIT = 50000;
-
private static final String methodName = "myMethod";
private static final int NUMBER_OF_CORRUPTING_THREADS = 10;
@@ -116,6 +113,8 @@
random = new Random(runParams.getSeed());
stresser = new Stresser(args);
stresser.start(1);
+ // Generate some bytecodes.
+ bytecode = generateAndCompile();
List<Callable<Object>> tasks = new LinkedList<Callable<Object>>();
for (int i = 0; i < NUMBER_OF_CORRUPTING_THREADS; i++) {
tasks.add(this.new FillingDictionaryWorker());
@@ -131,13 +130,6 @@
}
}
- private void changeClassloaderIfRequired() {
- if (ManagementFactory.getClassLoadingMXBean().getLoadedClassCount() > DROP_CLASSLOADER_LIMIT) {
- ClassloaderUnderTest newOne = new ClassloaderUnderTest();
- classloader = newOne;
- }
- }
-
private byte[] generateAndCompile() {
Map<String, CharSequence> sources = new HashMap<String, CharSequence>();
String className = "MyClass" + classesCounter.incrementAndGet();
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine.java Thu Jul 26 10:00:40 2018 -0700
@@ -61,7 +61,10 @@
private static ExecutionController stresser;
private static String[] args;
- // This is random generator used for generating seeds for other Randoms. Setting seed from command line sets seed for this random.
+ private static byte[] bytecode;
+
+ // This is random generator used for generating seeds for other Randoms. Setting seed
+ // from command line sets seed for this random.
static Random seedGenerator;
static {
@@ -82,47 +85,53 @@
Tests.runTest(new StressRedefine(), args);
}
- @Override
- public void run() {
- seedGenerator = new Random(runParams.getSeed());
- GenerateSourceHelper.setRandom(new Random(seedGenerator.nextLong()));
+ @Override
+ public void run() {
+ seedGenerator = new Random(runParams.getSeed());
+ GenerateSourceHelper.setRandom(new Random(seedGenerator.nextLong()));
stresser = new Stresser(args);
for (int i = 0; i < args.length; i++ ) {
- if ("-staticMethodCallersNumber".equals(args[i])) {
- staticMethodCallersNumber = Integer.parseInt(args[i + 1]);
- } else if ("-nonstaticMethodCallersNumber".equals(args[i])) {
- nonstaticMethodCallersNumber = Integer.parseInt(args[i + 1]);
- } else if ("-redefiningThreadsNumber".equals(args[i])) {
- redefiningThreadsNumber = Integer.parseInt(args[i + 1]);
- } else if ("-corruptingBytecodeProbability".equals(args[i])) {
- corruptingBytecodeProbability = Double.parseDouble(args[i + 1]);
- }
+ if ("-staticMethodCallersNumber".equals(args[i])) {
+ staticMethodCallersNumber = Integer.parseInt(args[i + 1]);
+ } else if ("-nonstaticMethodCallersNumber".equals(args[i])) {
+ nonstaticMethodCallersNumber = Integer.parseInt(args[i + 1]);
+ } else if ("-redefiningThreadsNumber".equals(args[i])) {
+ redefiningThreadsNumber = Integer.parseInt(args[i + 1]);
+ } else if ("-corruptingBytecodeProbability".equals(args[i])) {
+ corruptingBytecodeProbability = Double.parseDouble(args[i + 1]);
+ }
}
//Dynamic attach if required
nsk.share.jvmti.JVMTITest.commonInit(args);
new StressRedefine().runIt();
+ }
+
+ private static void runMethod(Random random, String name) {
+ while (stresser.continueExecution()) {
+ try {
+ // Just for fun we transfer parameters to method
+ Object res = myClass.getMethod(name, double.class, int.class, Object.class)
+ .invoke(null, random.nextDouble(), random.nextInt(), new Object());
+ } catch (IllegalArgumentException | InvocationTargetException
+ | IllegalAccessException | NoSuchMethodException e) {
+ // It's okay to get exception here since we are corrupting bytecode and can't expect
+ // class to work properly.
+ System.out.println("Got expected exception: " + e.toString());
+ }
}
+ }
private static class StaticMethodCaller implements Runnable {
private Random random;
public StaticMethodCaller() {random = new Random(seedGenerator.nextLong());}
- @Override
- public void run() {
- while (stresser.continueExecution()) {
- try {
- Object res = myClass.getMethod(GenerateSourceHelper.STATIC_METHOD_NAME, double.class, int.class, Object.class).invoke(
- null, random.nextDouble(), random.nextInt(), new Object()); // Just for fun we transfer parameters to method
- } catch (IllegalArgumentException | InvocationTargetException
- | IllegalAccessException | NoSuchMethodException e) {
- //It's okay to get exception here since we are corrupting bytecode and can't expect class to work properly.
- System.out.println("Got expected exception: " + e.toString());
- }
- }
- }
+ @Override
+ public void run() {
+ runMethod(random, GenerateSourceHelper.STATIC_METHOD_NAME);
+ }
}
private static class NonstaticMethodCaller implements Runnable {
@@ -130,59 +139,54 @@
public NonstaticMethodCaller() {random = new Random(seedGenerator.nextLong());}
@Override
- public void run() {
- while (stresser.continueExecution()) {
- try {
- Object res = myClass.getMethod(GenerateSourceHelper.NONSTATIC_METHOD_NAME, double.class, int.class, Object.class).
- invoke(myClass.newInstance(), random.nextDouble(), random.nextInt(), new Object()); // Just for fun we transfer parameters to method
- } catch (IllegalArgumentException | InvocationTargetException | NoSuchMethodException | InstantiationException | IllegalAccessException e) {
- //It's okay to get exception here since we are corrupting bytecode and can't expect class to work properly.
- System.out.println("Got expected exception: " + e.toString());
- }
- }
- }
+ public void run() {
+ runMethod(random, GenerateSourceHelper.NONSTATIC_METHOD_NAME);
+ }
}
private static class Worker implements Runnable {
private Random random;
public Worker() {random = new Random(seedGenerator.nextLong());}
- @Override
- public void run() {
- while (stresser.continueExecution()) {
- byte[] bytecode = generateAndCompile();
- if (random.nextDouble() < corruptingBytecodeProbability) {
- bytecode[random.nextInt(bytecode.length)] = 42;
- }
- makeRedefinition(2, myClass, bytecode);
- }
+ @Override
+ public void run() {
+ while (stresser.continueExecution()) {
+ byte[] badBytecode = bytecode.clone();
+ if (random.nextDouble() < corruptingBytecodeProbability) {
+ badBytecode[random.nextInt(bytecode.length)] = 42;
}
+ makeRedefinition(2, myClass, badBytecode);
+ }
+ }
}
private void runIt() {
myClass = new DefiningClassLoader().defineClass(generateAndCompile());
stresser.start(0);
+ // Generate some bytecode.
+ bytecode = generateAndCompile();
+
List<Thread> threads = new LinkedList<Thread>();
for (int i = 0; i < staticMethodCallersNumber; i++) {
- threads.add(new Thread(new StaticMethodCaller()));
+ threads.add(new Thread(new StaticMethodCaller()));
}
for (int i = 0; i < nonstaticMethodCallersNumber; i++) {
- threads.add(new Thread(new NonstaticMethodCaller()));
+ threads.add(new Thread(new NonstaticMethodCaller()));
}
for (int i = 0; i < redefiningThreadsNumber; i++) {
- threads.add(new Thread(new Worker()));
+ threads.add(new Thread(new Worker()));
}
for (Thread thread : threads) {
- thread.start();
+ thread.start();
}
for (Thread thread : threads) {
- try {
- thread.join();
- } catch (InterruptedException e) {
- throw new TestFailure("Thread " + Thread.currentThread() + " was interrupted:", e);
- }
+ try {
+ thread.join();
+ } catch (InterruptedException e) {
+ throw new TestFailure("Thread " + Thread.currentThread() + " was interrupted:", e);
+ }
}
}
@@ -192,15 +196,14 @@
return InMemoryJavaCompiler.compile(sources).values().iterator().next();
}
- // Auxiliary classloader. Used only once at the beginning.
- private static class DefiningClassLoader extends URLClassLoader {
- public DefiningClassLoader() {
- super(new URL[0]);
- }
-
- Class<?> defineClass(byte[] bytecode) {
- return defineClass(null, bytecode, 0, bytecode.length);
- }
+ // Auxiliary classloader. Used only once at the beginning.
+ private static class DefiningClassLoader extends URLClassLoader {
+ public DefiningClassLoader() {
+ super(new URL[0]);
}
+ Class<?> defineClass(byte[] bytecode) {
+ return defineClass(null, bytecode, 0, bytecode.length);
+ }
+ }
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass028.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass028.java Thu Jul 26 10:00:40 2018 -0700
@@ -129,8 +129,9 @@
status = checkStatus(status);
boolean isRedefinitionStarted = waitForRedefinitionStarted();
+ boolean isRedefinitionCompleted = false;
if (isRedefinitionStarted) {
- waitForRedefinitionCompleted();
+ isRedefinitionCompleted = waitForRedefinitionCompleted();
}
log.display("waiting for auxiliary thread ...\n");
@@ -144,7 +145,7 @@
}
// CR 6604375: check whether class redefinition occurred
- if (isRedefinitionStarted) {
+ if (isRedefinitionCompleted) {
// verify results
checkOuterFields(0, 1);
checkOuterFields(1, 2);
@@ -166,23 +167,26 @@
--iterationsLeft;
safeSleep(SLEEP_MS);
}
- log.complain("Redefinition not started. Maybe running with -Xcomp. Test ignored.");
+ log.complain("Redefinition not started. May need more time for -Xcomp.");
+ status = Consts.TEST_FAILED;
return false;
}
- private void waitForRedefinitionCompleted() {
+ private boolean waitForRedefinitionCompleted() {
final int SLEEP_MS = 20;
int iterationsLeft = 10000 / SLEEP_MS;
while (iterationsLeft >= 0) {
// Check if new code has changed fields.
if (prStOuterFl[1] == 2 && prStOuterFl[2] == 2) {
log.display("Redefinition completed.");
- return;
+ return true;
}
--iterationsLeft;
safeSleep(SLEEP_MS);
}
- log.complain("Redefinition not completed.");
+ log.complain("Redefinition not completed. May need more time for -Xcomp.");
+ status = Consts.TEST_FAILED;
+ return false;
}
private void checkOuterFields(int index, int expValue) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass028/redefclass028.c Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass028/redefclass028.c Thu Jul 26 10:00:40 2018 -0700
@@ -66,6 +66,7 @@
(JNIEnv *jni_env, jclass cls)
{
if (fire == 1) {
+ NSK_DISPLAY0("isRedefinitionOccurred is called: fired!\n");
return JNI_TRUE;
} else {
return JNI_FALSE;
@@ -76,7 +77,10 @@
JNIEXPORT void JNICALL Java_nsk_jvmti_RedefineClasses_redefclass028_notifyNativeAgent
(JNIEnv *jni_env, jclass cls)
{
- enteredHotMethod = 1;
+ if (enteredHotMethod == 0) {
+ NSK_DISPLAY0("notifyNativeAgent is called\n");
+ enteredHotMethod = 1;
+ }
}
/** pass bytecode to native agent for redefinition **/
@@ -103,11 +107,11 @@
nsk_jvmti_setFailStatus();
return;
}
- NSK_DISPLAY5("\tmethod: name=\"%s\" signature=\"%s\"\n\
-\tcompiled code size=%d\n\
-\tstarting native address=0x%p\n\
-\tnumber of address location map entries=%d\n",
- name, sig, code_size, code_addr, map_length);
+ NSK_DISPLAY5("\tmethod: name=\"%s\" signature=\"%s\"\n"
+ "\tcompiled code size=%d\n"
+ "\tstarting native address=0x%p\n"
+ "\tnumber of address location map entries=%d\n",
+ name, sig, code_size, code_addr, map_length);
if ((strcmp(name, expHSMethod) == 0) &&
(strcmp(sig, expHSSignature) == 0)) {
@@ -118,8 +122,7 @@
hsMethodID = method;
fire = 1;
} else {
- NSK_DISPLAY0("Compilation occured before method execution");
- fire = -1;
+ NSK_DISPLAY0("Compilation occured before method execution. Ignoring.\n");
}
}
}
@@ -174,9 +177,9 @@
THREAD_sleep(1);
tries++;
if (tries > MAX_ATTEMPTS) {
- printf("WARNING: CompiledMethodLoad event is still not received for \"%s\" after %d attempts\n\
-\tThe test has no results\n\n",
- expHSMethod, MAX_ATTEMPTS);
+ printf("WARNING: CompiledMethodLoad event is still not received for \"%s\" after %d attempts\n"
+ "\tThe test has no results\n\n",
+ expHSMethod, MAX_ATTEMPTS);
nsk_jvmti_resumeSync();
exit(95 + PASSED);
}
@@ -184,43 +187,37 @@
NSK_DISPLAY0("agentProc: hotspot method compiled\n\n");
- // CR 6604375: check whether it is appropriate to perform redefinition
- if (fire == 1) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass,
- jvmti_env, hsMethodID, &decl_cls))) {
- nsk_jvmti_setFailStatus();
- nsk_jvmti_resumeSync();
- return;
- }
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, decl_cls, &cls_sig, NULL))) {
- nsk_jvmti_setFailStatus();
- nsk_jvmti_resumeSync();
- return;
- }
- else
- NSK_DISPLAY1("agentProc: hotspot method class signature: \"%s\"\n\n",
- cls_sig);
+ if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass,
+ jvmti_env, hsMethodID, &decl_cls))) {
+ nsk_jvmti_setFailStatus();
+ nsk_jvmti_resumeSync();
+ return;
+ }
+ if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
+ jvmti_env, decl_cls, &cls_sig, NULL))) {
+ nsk_jvmti_setFailStatus();
+ nsk_jvmti_resumeSync();
+ return;
+ } else {
+ NSK_DISPLAY1("agentProc: hotspot method class signature: \"%s\"\n\n",
+ cls_sig);
+ }
- /* fill the structure jvmtiClassDefinition */
- classDef.klass = decl_cls;
- classDef.class_byte_count = bytesCount;
- classDef.class_bytes = (unsigned char*) clsBytes;
+ /* fill the structure jvmtiClassDefinition */
+ classDef.klass = decl_cls;
+ classDef.class_byte_count = bytesCount;
+ classDef.class_bytes = (unsigned char*) clsBytes;
- NSK_DISPLAY1("agentProc: >>>>>>>> Invoke RedefineClasses():\n\
- \tnew class byte count=%d\n",
- classDef.class_byte_count);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RedefineClasses,
- jvmti, 1, &classDef))) {
- nsk_jvmti_setFailStatus();
- nsk_jvmti_resumeSync();
- return;
- }
- NSK_DISPLAY0("agentProc: <<<<<<<< RedefineClasses() is successfully done\n");
- } else {
- // fire == -1
- NSK_DISPLAY0("agentProc: \"hot\" method wasn't executed. Don't perform redefinition\n");
+ NSK_DISPLAY1("agentProc: >>>>>>>> Invoke RedefineClasses():\n"
+ "\tnew class byte count=%d\n",
+ classDef.class_byte_count);
+ if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RedefineClasses,
+ jvmti, 1, &classDef))) {
+ nsk_jvmti_setFailStatus();
+ nsk_jvmti_resumeSync();
+ return;
}
+ NSK_DISPLAY0("agentProc: <<<<<<<< RedefineClasses() is successfully done\n");
/* testing sync */
NSK_DISPLAY1("agentProc: waiting for the debuggee finish for %d msecs...\n\n",
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029.java Thu Jul 26 10:00:40 2018 -0700
@@ -126,8 +126,9 @@
status = checkStatus(status);
boolean isRedefinitionStarted = waitForRedefinitionStarted();
+ boolean isRedefinitionCompleted = false;
if (isRedefinitionStarted) {
- waitForRedefinitionCompleted(redefCls);
+ isRedefinitionCompleted = waitForRedefinitionCompleted(redefCls);
}
log.display("waiting for auxiliary thread ...\n");
@@ -141,7 +142,7 @@
}
// CR 6604375: check whether class redefinition occurred
- if (isRedefinitionStarted) {
+ if (isRedefinitionCompleted) {
// verify results
checkOuterFields(0, 1);
checkOuterFields(1, 2);
@@ -163,23 +164,26 @@
--iterationsLeft;
safeSleep(SLEEP_MS);
}
- log.complain("Redefinition not started. Maybe running with -Xcomp. Test ignored.");
+ log.complain("Redefinition not started. May need more time for -Xcomp.");
+ status = Consts.TEST_FAILED;
return false;
}
- private void waitForRedefinitionCompleted(RedefClass redefCls) {
+ private boolean waitForRedefinitionCompleted(RedefClass redefCls) {
final int SLEEP_MS = 20;
int iterationsLeft = 10000 / SLEEP_MS;
while (iterationsLeft >= 0) {
// Check if new code has changed fields.
if (prStOuterFl[1] == 2 && prStOuterFl[2] == 2 && redefCls.prInnerFl == 1) {
log.display("Redefinition completed.");
- return;
+ return true;
}
--iterationsLeft;
safeSleep(SLEEP_MS);
}
- log.complain("Redefinition not completed.");
+ log.complain("Redefinition not completed. May need more time for -Xcomp.");
+ status = Consts.TEST_FAILED;
+ return false;
}
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029/redefclass029.c Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass029/redefclass029.c Thu Jul 26 10:00:40 2018 -0700
@@ -65,9 +65,8 @@
JNIEXPORT jboolean JNICALL Java_nsk_jvmti_RedefineClasses_redefclass029_isRedefinitionOccurred
(JNIEnv *jni_env, jclass cls)
{
- NSK_DISPLAY0("isRedefinitionOccurred is called\n");
-
if (fire == 1) {
+ NSK_DISPLAY0("isRedefinitionOccurred is called: fired!\n");
return JNI_TRUE;
} else {
return JNI_FALSE;
@@ -78,8 +77,10 @@
JNIEXPORT void JNICALL Java_nsk_jvmti_RedefineClasses_redefclass029_notifyNativeAgent
(JNIEnv *jni_env, jclass cls)
{
- NSK_DISPLAY0("notifyNativeAgent is called\n");
- enteredHotMethod = 1;
+ if (enteredHotMethod == 0) {
+ NSK_DISPLAY0("notifyNativeAgent is called\n");
+ enteredHotMethod = 1;
+ }
}
JNIEXPORT void JNICALL Java_nsk_jvmti_RedefineClasses_redefclass029_storeClassBytes
@@ -105,11 +106,11 @@
nsk_jvmti_setFailStatus();
return;
}
- NSK_DISPLAY5("\tmethod: name=\"%s\" signature=\"%s\"\n\
-\tcompiled code size=%d\n\
-\tstarting native address=0x%p\n\
-\tnumber of address location map entries=%d\n",
- name, sig, code_size, code_addr, map_length);
+ NSK_DISPLAY5("\tmethod: name=\"%s\" signature=\"%s\"\n"
+ "\tcompiled code size=%d\n"
+ "\tstarting native address=0x%p\n"
+ "\tnumber of address location map entries=%d\n",
+ name, sig, code_size, code_addr, map_length);
if ((strcmp(name, expHSMethod) == 0) &&
(strcmp(sig, expHSSignature) == 0)) {
@@ -120,8 +121,7 @@
hsMethodID = method;
fire = 1;
} else {
- NSK_DISPLAY0("Compilation occured before method execution");
- fire = -1;
+ NSK_DISPLAY0("Compilation occured before method execution. Ignoring.\n");
}
}
}
@@ -176,9 +176,9 @@
THREAD_sleep(1);
tries++;
if (tries > MAX_ATTEMPTS) {
- printf("WARNING: CompiledMethodLoad event is still not received for \"%s\" after %d attempts\n\
-\tThe test has no results\n\n",
- expHSMethod, MAX_ATTEMPTS);
+ printf("WARNING: CompiledMethodLoad event is still not received for \"%s\" after %d attempts\n"
+ "\tThe test has no results\n\n",
+ expHSMethod, MAX_ATTEMPTS);
nsk_jvmti_resumeSync();
exit(95 + PASSED);
}
@@ -186,43 +186,37 @@
NSK_DISPLAY0("agentProc: hotspot method compiled\n\n");
- // CR 6604375: check whether it is appropriate to perform redefinition
- if (fire == 1) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass,
- jvmti_env, hsMethodID, &decl_cls))) {
- nsk_jvmti_setFailStatus();
- nsk_jvmti_resumeSync();
- return;
- }
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, decl_cls, &cls_sig, NULL))) {
- nsk_jvmti_setFailStatus();
- nsk_jvmti_resumeSync();
- return;
- }
- else
- NSK_DISPLAY1("agentProc: hotspot method class signature: \"%s\"\n\n",
- cls_sig);
+ if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass,
+ jvmti_env, hsMethodID, &decl_cls))) {
+ nsk_jvmti_setFailStatus();
+ nsk_jvmti_resumeSync();
+ return;
+ }
+ if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
+ jvmti_env, decl_cls, &cls_sig, NULL))) {
+ nsk_jvmti_setFailStatus();
+ nsk_jvmti_resumeSync();
+ return;
+ } else {
+ NSK_DISPLAY1("agentProc: hotspot method class signature: \"%s\"\n\n",
+ cls_sig);
+ }
- /* fill the structure jvmtiClassDefinition */
- classDef.klass = decl_cls;
- classDef.class_byte_count = bytesCount;
- classDef.class_bytes = (unsigned char*) clsBytes;
+ /* fill the structure jvmtiClassDefinition */
+ classDef.klass = decl_cls;
+ classDef.class_byte_count = bytesCount;
+ classDef.class_bytes = (unsigned char*) clsBytes;
- NSK_DISPLAY1("agentProc: >>>>>>>> Invoke RedefineClasses():\n\
- \tnew class byte count=%d\n",
- classDef.class_byte_count);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RedefineClasses,
- jvmti, 1, &classDef))) {
- nsk_jvmti_setFailStatus();
- nsk_jvmti_resumeSync();
- return;
- }
- NSK_DISPLAY0("agentProc: <<<<<<<< RedefineClasses() is successfully done\n");
- } else {
- // fire == -1
- NSK_DISPLAY0("agentProc: \"hot\" method wasn't executed. Don't perform redefinition\n");
+ NSK_DISPLAY1("agentProc: >>>>>>>> Invoke RedefineClasses():\n"
+ "\tnew class byte count=%d\n",
+ classDef.class_byte_count);
+ if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RedefineClasses,
+ jvmti, 1, &classDef))) {
+ nsk_jvmti_setFailStatus();
+ nsk_jvmti_resumeSync();
+ return;
}
+ NSK_DISPLAY0("agentProc: <<<<<<<< RedefineClasses() is successfully done\n");
/* testing sync */
NSK_DISPLAY1("agentProc: waiting for the debuggee finish for %d msecs...\n\n",
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass030.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass030.java Thu Jul 26 10:00:40 2018 -0700
@@ -125,8 +125,9 @@
status = checkStatus(status);
boolean isRedefinitionStarted = waitForRedefinitionStarted();
+ boolean isRedefinitionCompleted = false;
if (isRedefinitionStarted) {
- waitForRedefinitionCompleted(redefClsWrapper);
+ isRedefinitionCompleted = waitForRedefinitionCompleted(redefClsWrapper);
}
log.display("waiting for auxiliary thread ...\n");
@@ -140,7 +141,7 @@
}
// CR 6604375: check whether class redefinition occurred
- if (isRedefinitionStarted) {
+ if (isRedefinitionCompleted) {
// verify results
checkOuterOuterFields(0, 2);
checkOuterOuterFields(1, 2);
@@ -162,23 +163,26 @@
--iterationsLeft;
safeSleep(SLEEP_MS);
}
- log.complain("Redefinition not started. Maybe running with -Xcomp. Test ignored.");
+ log.complain("Redefinition not started. May need more time for -Xcomp.");
+ status = Consts.TEST_FAILED;
return false;
}
- private void waitForRedefinitionCompleted(RedefClassWrapper redefClsWrapper) {
+ private boolean waitForRedefinitionCompleted(RedefClassWrapper redefClsWrapper) {
final int SLEEP_MS = 20;
int iterationsLeft = 10000 / SLEEP_MS;
while (iterationsLeft >= 0) {
// Check if new code has changed fields.
if (prStOuterOuterFl[0] == 2 && prStOuterOuterFl[1] == 2 && redefClsWrapper.prOuterFl[1] == 2) {
log.display("Redefinition completed.");
- return;
+ return true;
}
--iterationsLeft;
safeSleep(SLEEP_MS);
}
- log.complain("Redefinition not completed.");
+ log.complain("Redefinition not completed. May need more time for -Xcomp.");
+ status = Consts.TEST_FAILED;
+ return false;
}
private void checkOuterOuterFields(int index, int expValue) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass030/redefclass030.c Thu Jul 26 09:30:58 2018 -0700
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/RedefineClasses/redefclass030/redefclass030.c Thu Jul 26 10:00:40 2018 -0700
@@ -65,9 +65,8 @@
JNIEXPORT jboolean JNICALL Java_nsk_jvmti_RedefineClasses_redefclass030_isRedefinitionOccurred
(JNIEnv *jni_env, jclass cls)
{
- NSK_DISPLAY0("isRedefinitionOccurred is called\n");
-
if (fire == 1) {
+ NSK_DISPLAY0("isRedefinitionOccurred is called: fired!\n");
return JNI_TRUE;
} else {
return JNI_FALSE;
@@ -78,8 +77,10 @@
JNIEXPORT void JNICALL Java_nsk_jvmti_RedefineClasses_redefclass030_notifyNativeAgent
(JNIEnv *jni_env, jclass cls)
{
- NSK_DISPLAY0("notifyNativeAgent is called\n");
- enteredHotMethod = 1;
+ if (enteredHotMethod == 0) {
+ NSK_DISPLAY0("notifyNativeAgent is called\n");
+ enteredHotMethod = 1;
+ }
}
/** pass bytecode to native agent for redefinition **/
@@ -106,11 +107,11 @@
nsk_jvmti_setFailStatus();
return;
}
- NSK_DISPLAY5("\tmethod: name=\"%s\" signature=\"%s\"\n\
-\tcompiled code size=%d\n\
-\tstarting native address=0x%p\n\
-\tnumber of address location map entries=%d\n",
- name, sig, code_size, code_addr, map_length);
+ NSK_DISPLAY5("\tmethod: name=\"%s\" signature=\"%s\"\n"
+ "\tcompiled code size=%d\n"
+ "\tstarting native address=0x%p\n"
+ "\tnumber of address location map entries=%d\n",
+ name, sig, code_size, code_addr, map_length);
if ((strcmp(name, expHSMethod) == 0) &&
(strcmp(sig, expHSSignature) == 0)) {
@@ -121,8 +122,7 @@
hsMethodID = method;
fire = 1;
} else {
- NSK_DISPLAY0("Compilation occured before method execution");
- fire = -1;
+ NSK_DISPLAY0("Compilation occured before method execution. Ignoring.\n");
}
}
}
@@ -177,9 +177,9 @@
THREAD_sleep(1);
tries++;
if (tries > MAX_ATTEMPTS) {
- printf("WARNING: CompiledMethodLoad event is still not received for \"%s\" after %d attempts\n\
-\tThe test has no results\n\n",
- expHSMethod, MAX_ATTEMPTS);
+ printf("WARNING: CompiledMethodLoad event is still not received for \"%s\" after %d attempts\n"
+ "\tThe test has no results\n\n",
+ expHSMethod, MAX_ATTEMPTS);
nsk_jvmti_resumeSync();
exit(95 + PASSED);
}
@@ -187,43 +187,37 @@
NSK_DISPLAY0("agentProc: hotspot method compiled\n\n");
- // CR 6604375: check whether it is appropriate to perform redefinition
- if (fire == 1) {
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass,
- jvmti_env, hsMethodID, &decl_cls))) {
- nsk_jvmti_setFailStatus();
- nsk_jvmti_resumeSync();
- return;
- }
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
- jvmti_env, decl_cls, &cls_sig, NULL))) {
- nsk_jvmti_setFailStatus();
- nsk_jvmti_resumeSync();
- return;
- }
- else
- NSK_DISPLAY1("agentProc: hotspot method class signature: \"%s\"\n\n",
- cls_sig);
+ if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(GetMethodDeclaringClass,
+ jvmti_env, hsMethodID, &decl_cls))) {
+ nsk_jvmti_setFailStatus();
+ nsk_jvmti_resumeSync();
+ return;
+ }
+ if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
+ jvmti_env, decl_cls, &cls_sig, NULL))) {
+ nsk_jvmti_setFailStatus();
+ nsk_jvmti_resumeSync();
+ return;
+ } else {
+ NSK_DISPLAY1("agentProc: hotspot method class signature: \"%s\"\n\n",
+ cls_sig);
+ }
- /* fill the structure jvmtiClassDefinition */
- classDef.klass = decl_cls;
- classDef.class_byte_count = bytesCount;
- classDef.class_bytes = (unsigned char*) clsBytes;
+ /* fill the structure jvmtiClassDefinition */
+ classDef.klass = decl_cls;
+ classDef.class_byte_count = bytesCount;
+ classDef.class_bytes = (unsigned char*) clsBytes;
- NSK_DISPLAY1("agentProc: >>>>>>>> Invoke RedefineClasses():\n\
- \tnew class byte count=%d\n",
- classDef.class_byte_count);
- if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RedefineClasses,
- jvmti, 1, &classDef))) {
- nsk_jvmti_setFailStatus();
- nsk_jvmti_resumeSync();
- return;
- }
- NSK_DISPLAY0("agentProc: <<<<<<<< RedefineClasses() is successfully done\n");
- } else {
- // fire == -1
- NSK_DISPLAY0("agentProc: \"hot\" method wasn't executed. Don't perform redefinition\n");
+ NSK_DISPLAY1("agentProc: >>>>>>>> Invoke RedefineClasses():\n"
+ "\tnew class byte count=%d\n",
+ classDef.class_byte_count);
+ if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(RedefineClasses,
+ jvmti, 1, &classDef))) {
+ nsk_jvmti_setFailStatus();
+ nsk_jvmti_resumeSync();
+ return;
}
+ NSK_DISPLAY0("agentProc: <<<<<<<< RedefineClasses() is successfully done\n");
/* testing sync */
NSK_DISPLAY1("agentProc: waiting for the debuggee finish for %d msecs...\n\n",
--- a/test/jdk/ProblemList.txt Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/ProblemList.txt Thu Jul 26 10:00:40 2018 -0700
@@ -39,15 +39,18 @@
#
# Shell tests are othervm by default.
#
-# List items are testnames followed by labels, all MUST BE commented
+# List items are testnames followed by labels, all MUST BE commented
# as to why they are here and use a label:
# generic-all Problems on all platforms
-# generic-ARCH Where ARCH is one of: sparc, sparcv9, x64, i586, etc.
+# generic-ARCH Where ARCH is one of: sparc, sparcv9, x64, i586, ppc64,
+# ppc64le, s390x etc.
# OSNAME-all Where OSNAME is one of: solaris, linux, windows, macosx, aix
# OSNAME-ARCH Specific on to one OSNAME and ARCH, e.g. solaris-amd64
# OSNAME-REV Specific on to one OSNAME and REV, e.g. solaris-5.8
#
-# More than one label is allowed but must be on the same line.
+# More than one label is allowed but must be on the same line comma seperated,
+# without spaces.
+# If there are several lines mentioning the same test, the last one is used.
#
#############################################################################
#
@@ -80,7 +83,7 @@
# Fixing the tests:
#
# Some tests just may need to be run with "othervm", and that can easily be
-# done my adding a @run line (or modifying any existing @run):
+# done by adding a @run line (or modifying any existing @run):
# @run main/othervm NameOfMainClass
# Make sure this @run follows any use of @library.
# Otherwise, if the test is a samevm possibility, make sure the test is
@@ -550,7 +553,9 @@
java/net/MulticastSocket/NoLoopbackPackets.java 7122846 macosx-all
java/net/MulticastSocket/SetLoopbackMode.java 7122846 macosx-all
-java/net/MulticastSocket/Test.java 7145658 macosx-all
+java/net/MulticastSocket/Test.java 7145658,8207404 macosx-all,aix-all
+java/net/MulticastSocket/JoinLeave.java 8207404 aix-all
+java/net/MulticastSocket/SetGetNetworkInterfaceTest.java 8207404 aix-all
java/net/DatagramSocket/SendDatagramToBadAddress.java 7143960 macosx-all
@@ -563,6 +568,7 @@
java/nio/channels/DatagramChannel/ChangingAddress.java 7141822 macosx-all
java/nio/channels/Selector/Wakeup.java 6963118 windows-all
+java/nio/channels/Selector/RacyDeregister.java 8201765 windows-all
java/nio/file/WatchService/Basic.java 7158947 solaris-all Solaris 11
java/nio/file/WatchService/MayFlies.java 7158947 solaris-all Solaris 11
@@ -587,11 +593,15 @@
java/rmi/registry/readTest/CodebaseTest.java 8173324 windows-all
-java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java 8206865 generic-all
-java/rmi/activation/Activatable/restartService/RestartService.java 8206865 generic-all
-java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java 8206865 generic-all
-java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java 8206865 generic-all
-java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java 8206865 generic-all
+############################################################################
+
+# jdk_sctp
+
+com/sun/nio/sctp/SctpMultiChannel/SendFailed.java 8141694 linux-all
+
+com/sun/nio/sctp/SctpMultiChannel/SocketOptionTests.java 8141694 linux-all
+
+com/sun/nio/sctp/SctpChannel/SocketOptionTests.java 8141694 linux-all
############################################################################
@@ -816,7 +826,6 @@
# core_tools
tools/pack200/CommandLineTests.java 8059906 generic-all
-tools/jimage/JImageListTest.java 8206445 windows-all
############################################################################
--- a/test/jdk/TEST.ROOT Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/TEST.ROOT Thu Jul 26 10:00:40 2018 -0700
@@ -42,6 +42,7 @@
vm.cds \
vm.hasSA \
vm.hasSAandCanAttach \
+ vm.hasJFR \
docker.support \
release.implementor
--- a/test/jdk/build/translations/VerifyTranslations.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/build/translations/VerifyTranslations.java Thu Jul 26 10:00:40 2018 -0700
@@ -45,7 +45,7 @@
* The set of translations we want to see in an Oracle built image
*/
private static final Set<String> VALID_TRANSLATION_SUFFIXES = Set.of(
- "_en", "_en_US", "_en_US_POSIX", "_ja", "_zh_CN", "_zh_TW", "_zh_HK"
+ "_en", "_en_US", "_en_US_POSIX", "_ja", "_zh_CN"
);
/**
--- a/test/jdk/com/sun/jdi/EvalArraysAsList.sh Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/com/sun/jdi/EvalArraysAsList.sh Thu Jul 26 10:00:40 2018 -0700
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 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
@@ -39,7 +39,7 @@
public class $classname {
public static void main(String[] args) {
java.util.List<Object> l = java.util.Arrays.asList(null, "a");
- System.out.println("java.util.Arrays.asList(null, \"a\") returns: " + l);
+ System.out.println("java.util.Arrays.asList(null, \\"a\\") returns: " + l);
return; // @1 breakpoint
}
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/Frames2Test.java Thu Jul 26 10:00:40 2018 -0700
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 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
+ * @bug 8205608
+ * @summary Test that getting the stack trace for a very large stack does
+ * not take too long
+ *
+ * @author Ralf Schmelter
+ *
+ * @run build TestScaffold VMConnection TargetListener TargetAdapter
+ * @run compile -g Frames2Test.java
+ * @run driver Frames2Test -Xss4M
+ */
+import com.sun.jdi.*;
+import com.sun.jdi.event.*;
+import com.sun.jdi.request.*;
+
+import java.util.*;
+import java.util.stream.*;
+
+
+ /********** target program **********/
+
+class Frames2Targ {
+
+ public static void main(String[] args) {
+ recurse(1_000_000);
+ }
+
+ static void notifyRecursionEnded() {
+ // We moved this to a method instead of doing it directly in the
+ // exception handler for the StackOverflowError, since we don't
+ // need to know the line number (which might change later) when
+ // requesting the breakpoint. Additionally this method is
+ // used as a marker method to check for the correct top of stack
+ // in the stack trace queried by JDI.
+ System.out.println("SOE occurred as expected");
+ }
+
+ static int recurse(int depth) {
+ if (depth == 0) {
+ // Should have seen a stack overflow by now.
+ System.out.println("Exited without creating SOE");
+ System.exit(0);
+ }
+
+ try {
+ int newDepth = recurse(depth - 1);
+
+ if (newDepth == -1_000) {
+ // Pop some frames so there is room on the stack for the
+ // call (including println()).
+ notifyRecursionEnded();
+ }
+
+ return newDepth - 1;
+ } catch (StackOverflowError e) {
+ // Use negative depth to indicate the recursion has ended.
+ return -1;
+ }
+ }
+}
+
+ /********** test program **********/
+
+public class Frames2Test extends TestScaffold {
+
+ public Frames2Test(String args[]) {
+ super(args);
+ }
+
+ public static void main(String[] args) throws Exception {
+ new Frames2Test(args).startTests();
+ }
+
+
+ /********** test core **********/
+
+ protected void runTests() throws Exception {
+ BreakpointEvent bpe = startToMain("Frames2Targ");
+ List<Method> frames1 = bpe.thread().frames().stream().map(
+ StackFrame::location).map(Location::method).
+ collect(Collectors.toList());
+
+ bpe = resumeTo("Frames2Targ", "notifyRecursionEnded", "()V");
+ List<Method> frames2 = bpe.thread().frames().stream().map(
+ StackFrame::location).map(Location::method).
+ collect(Collectors.toList());
+ System.out.println("Got stack of " + frames2.size() + " frames");
+
+ // Check that the stack looks as follows:
+ // notifyRecursionEnded()
+ // recurse()
+ // ....
+ // recurse()
+ // main()
+ // <whatever the VM likes to add>
+
+ // Check the bottom of the stack.
+ for (int i = 0; i < frames1.size(); ++i) {
+ int i2 = frames2.size() - frames1.size() + i;
+ if (!frames1.get(i).equals(frames2.get(i2))) {
+ failure("Bottom methods do not match: " +
+ frames1.get(i) + " vs " + frames2.get(i2));
+ }
+ }
+
+ // Check the recurse() calls on the stack.
+ for (int i = 1; i < frames2.size() - frames1.size(); ++i) {
+ if (!frames2.get(i).name().equals("recurse")) {
+ failure("Expected recurse() but got " + frames2.get(i));
+ }
+ }
+
+ // Check the top method of the stack.
+ if (!frames2.get(0).name().equals("notifyRecursionEnded")) {
+ failure("Expected notifyRecursionEnded() but got " + frames2.get(0));
+ }
+
+ listenUntilVMDisconnect();
+
+ if (!testFailed) {
+ println("Frames2Test: passed");
+ } else {
+ throw new Exception("Frames2Test: failed");
+ }
+ }
+}
--- a/test/jdk/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh Thu Jul 26 10:00:40 2018 -0700
@@ -122,7 +122,7 @@
fi
;;
- SunOS | Linux )
+ AIX | Linux | SunOS )
${COMPILEJAVA}/bin/javac ${TESTJAVACOPTS} \
--add-exports java.desktop/sun.awt=ALL-UNNAMED \
--add-exports java.desktop/sun.awt.X11=ALL-UNNAMED ${CP} \
--- a/test/jdk/java/net/Socket/ExceptionText.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/java/net/Socket/ExceptionText.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,18 +25,43 @@
* @test
* @library /test/lib
* @build jdk.test.lib.Utils
- * @bug 8204233
+ * @bug 8204233 8207846
* @summary Add configurable option for enhanced socket IOException messages
- * @run main/othervm ExceptionText
- * @run main/othervm -Djdk.net.includeInExceptions= ExceptionText
- * @run main/othervm -Djdk.net.includeInExceptions=hostInfo ExceptionText
- * @run main/othervm -Djdk.net.includeInExceptions=somethingElse ExceptionText
+ * @run main/othervm
+ * ExceptionText
+ * WITHOUT_Enhanced_Text
+ * @run main/othervm
+ * -Djdk.includeInExceptions=
+ * ExceptionText
+ * WITHOUT_Enhanced_Text
+ * @run main/othervm
+ * -Djdk.includeInExceptions=somethingElse
+ * ExceptionText
+ * WITHOUT_Enhanced_Text
+ * @run main/othervm
+ * -Djdk.includeInExceptions=blah,blah,blah,
+ * ExceptionText
+ * WITHOUT_Enhanced_Text
+ * @run main/othervm
+ * -Djdk.includeInExceptions=hostInfo
+ * ExceptionText
+ * expectEnhancedText
+ * @run main/othervm
+ * -Djdk.includeInExceptions=foo,hostinfo,bar
+ * ExceptionText
+ * expectEnhancedText
+ * @run main/othervm
+ * -Djdk.includeInExceptions=",HOSTINFO,"
+ * ExceptionText
+ * expectEnhancedText
*/
-import java.net.*;
import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.nio.channels.AsynchronousSocketChannel;
import java.nio.channels.ClosedChannelException;
-import java.nio.channels.*;
+import java.nio.channels.SocketChannel;
import java.util.concurrent.ExecutionException;
import jdk.test.lib.Utils;
@@ -44,16 +69,15 @@
enum TestTarget {SOCKET, CHANNEL, ASYNC_CHANNEL};
- static boolean propEnabled() {
- String val = System.getProperty("jdk.net.includeInExceptions");
- if ("hostinfo".equalsIgnoreCase(val))
- return true;
- return false;
- }
-
public static void main(String args[]) throws Exception {
- boolean prop = propEnabled();
- test(prop);
+ String passOrFail = args[0];
+ boolean expectEnhancedText;
+ if (passOrFail.equals("expectEnhancedText")) {
+ expectEnhancedText = true;
+ } else {
+ expectEnhancedText = false;
+ }
+ test(expectEnhancedText);
}
static final InetSocketAddress dest = Utils.refusingEndpoint();
--- a/test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java Thu Jul 26 10:00:40 2018 -0700
@@ -156,7 +156,7 @@
};
private SettingsFrame getServerSettingProperties() {
- SettingsFrame s = SettingsFrame.getDefaultSettings();
+ SettingsFrame s = SettingsFrame.defaultRFCSettings();
if (properties == null)
return s;
for (int i=0; i<propIDs.length; i++) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/whitebox/WindowControllerTestDriver.java Thu Jul 26 10:00:40 2018 -0700
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 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
+ * @bug 8207960
+ * @modules java.net.http/jdk.internal.net.http
+ * @summary Non-negative WINDOW_UPDATE increments may leave the stream window size negative
+ * @run testng/othervm java.net.http/jdk.internal.net.http.WindowControllerTest
+ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/WindowControllerTest.java Thu Jul 26 10:00:40 2018 -0700
@@ -0,0 +1,147 @@
+/*
+ * Copyright (c) 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 jdk.internal.net.http;
+
+import org.testng.annotations.Test;
+import static jdk.internal.net.http.frame.SettingsFrame.DEFAULT_INITIAL_WINDOW_SIZE;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertThrows;
+
+public class WindowControllerTest {
+
+ @Test
+ public void testConnectionWindowOverflow() {
+ WindowController wc = new WindowController();
+ assertEquals(wc.connectionWindowSize(), DEFAULT_INITIAL_WINDOW_SIZE);
+ assertEquals(wc.increaseConnectionWindow(Integer.MAX_VALUE), false);
+ assertEquals(wc.increaseConnectionWindow(Integer.MAX_VALUE), false);
+ assertEquals(wc.increaseConnectionWindow(Integer.MAX_VALUE), false);
+ assertEquals(wc.connectionWindowSize(), DEFAULT_INITIAL_WINDOW_SIZE);
+
+ wc.registerStream(1, DEFAULT_INITIAL_WINDOW_SIZE);
+ wc.tryAcquire(DEFAULT_INITIAL_WINDOW_SIZE - 1, 1, null);
+ assertEquals(wc.connectionWindowSize(), 1);
+ assertEquals(wc.increaseConnectionWindow(Integer.MAX_VALUE), false);
+ assertEquals(wc.increaseConnectionWindow(Integer.MAX_VALUE), false);
+ assertEquals(wc.increaseConnectionWindow(Integer.MAX_VALUE), false);
+ assertEquals(wc.connectionWindowSize(), 1);
+
+ wc.increaseConnectionWindow(Integer.MAX_VALUE - 1 -1);
+ assertEquals(wc.connectionWindowSize(), Integer.MAX_VALUE - 1);
+ assertEquals(wc.increaseConnectionWindow(Integer.MAX_VALUE), false);
+ assertEquals(wc.increaseConnectionWindow(Integer.MAX_VALUE), false);
+ assertEquals(wc.increaseConnectionWindow(Integer.MAX_VALUE), false);
+ assertEquals(wc.connectionWindowSize(), Integer.MAX_VALUE - 1);
+
+ wc.increaseConnectionWindow(1);
+ assertEquals(wc.connectionWindowSize(), Integer.MAX_VALUE);
+ assertEquals(wc.increaseConnectionWindow(1), false);
+ assertEquals(wc.increaseConnectionWindow(100), false);
+ assertEquals(wc.increaseConnectionWindow(Integer.MAX_VALUE), false);
+ assertEquals(wc.connectionWindowSize(), Integer.MAX_VALUE);
+ }
+
+ @Test
+ public void testStreamWindowOverflow() {
+ WindowController wc = new WindowController();
+ wc.registerStream(1, DEFAULT_INITIAL_WINDOW_SIZE);
+ assertEquals(wc.increaseStreamWindow(Integer.MAX_VALUE, 1), false);
+ assertEquals(wc.increaseStreamWindow(Integer.MAX_VALUE, 1), false);
+ assertEquals(wc.increaseStreamWindow(Integer.MAX_VALUE, 1), false);
+
+ wc.registerStream(3, DEFAULT_INITIAL_WINDOW_SIZE);
+ assertEquals(wc.increaseStreamWindow(100, 3), true);
+ assertEquals(wc.increaseStreamWindow(Integer.MAX_VALUE, 3), false);
+ assertEquals(wc.increaseStreamWindow(Integer.MAX_VALUE, 3), false);
+
+ wc.registerStream(5, 0);
+ assertEquals(wc.increaseStreamWindow(Integer.MAX_VALUE, 5), true);
+ assertEquals(wc.increaseStreamWindow(1, 5), false);
+ assertEquals(wc.increaseStreamWindow(1, 5), false);
+ assertEquals(wc.increaseStreamWindow(10, 5), false);
+
+ wc.registerStream(7, -1);
+ assertEquals(wc.increaseStreamWindow(Integer.MAX_VALUE, 7), true);
+ assertEquals(wc.increaseStreamWindow(1, 7), true);
+ assertEquals(wc.increaseStreamWindow(1, 7), false);
+ assertEquals(wc.increaseStreamWindow(10, 7), false);
+
+ wc.registerStream(9, -1);
+ assertEquals(wc.increaseStreamWindow(1, 9), true);
+ assertEquals(wc.increaseStreamWindow(1, 9), true);
+ assertEquals(wc.increaseStreamWindow(1, 9), true);
+ assertEquals(wc.increaseStreamWindow(10, 9), true);
+ assertEquals(wc.increaseStreamWindow(Integer.MAX_VALUE, 9), false);
+
+ wc.registerStream(11, -10);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.increaseStreamWindow(1, 11), true);
+ assertEquals(wc.streamWindowSize(11), 1);
+ assertEquals(wc.increaseStreamWindow(Integer.MAX_VALUE, 11), false);
+ assertEquals(wc.streamWindowSize(11), 1);
+ }
+
+ @Test
+ public void testStreamAdjustment() {
+ WindowController wc = new WindowController();
+ wc.registerStream(1, 100);
+ wc.registerStream(3, 100);
+ wc.registerStream(5, 100);
+
+ // simulate some stream send activity before receiving the server's
+ // SETTINGS frame, and staying within the connection window size
+ wc.tryAcquire(49, 1 , null);
+ wc.tryAcquire(50, 3 , null);
+ wc.tryAcquire(51, 5 , null);
+
+ wc.adjustActiveStreams(-200);
+ assertEquals(wc.streamWindowSize(1), -149);
+ assertEquals(wc.streamWindowSize(3), -150);
+ assertEquals(wc.streamWindowSize(5), -151);
+ }
+
+ static final Class<InternalError> IE = InternalError.class;
+
+ @Test
+ public void testRemoveStream() {
+ WindowController wc = new WindowController();
+ wc.registerStream(1, 999);
+ wc.removeStream(1);
+ assertThrows(IE, () -> wc.tryAcquire(5, 1, null));
+
+ wc.registerStream(3, 999);
+ wc.tryAcquire(998, 3, null);
+ wc.removeStream(3);
+ assertThrows(IE, () -> wc.tryAcquire(5, 1, null));
+ }
+}
--- a/test/jdk/java/nio/channels/Selector/SelectWithConsumer.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/java/nio/channels/Selector/SelectWithConsumer.java Thu Jul 26 10:00:40 2018 -0700
@@ -411,8 +411,6 @@
int n = sel.select(k -> assertTrue(false), 60*1000);
long duration = System.currentTimeMillis() - start;
assertTrue(n == 0);
- assertTrue(duration > 500 && duration < 5000,
- "select took " + duration + " ms");
assertTrue(Thread.currentThread().isInterrupted());
assertTrue(sel.isOpen());
} finally {
@@ -550,12 +548,18 @@
// write to sink to ensure that the source is readable
sink.write(messageBuffer());
+ source.configureBlocking(false);
+ SelectionKey key1 = source.register(sel, SelectionKey.OP_READ);
+ // make sure pipe source is readable before we do following checks.
+ // this is sometime necessary on windows where pipe is implemented
+ // as a pair of connected socket, so there is no guarantee that written
+ // bytes on sink side is immediately available on source side.
+ sel.select();
+
sink.configureBlocking(false);
- source.configureBlocking(false);
- SelectionKey key1 = sink.register(sel, SelectionKey.OP_WRITE);
- SelectionKey key2 = source.register(sel, SelectionKey.OP_READ);
+ SelectionKey key2 = sink.register(sel, SelectionKey.OP_WRITE);
+ sel.selectNow();
- sel.selectNow();
assertTrue(sel.keys().contains(key1));
assertTrue(sel.keys().contains(key2));
assertTrue(sel.selectedKeys().contains(key1));
--- a/test/jdk/java/util/TimeZone/Bug8149452.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/java/util/TimeZone/Bug8149452.java Thu Jul 26 10:00:40 2018 -0700
@@ -20,10 +20,14 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-/*
+ /*
* @test
- * @bug 8149452 8151876 8181157
- * @summary Check the missing time zone names.
+ * @bug 8149452 8151876 8181157 8206965
+ * @modules java.base/sun.util.calendar
+ * @run main/othervm -Duser.language=de -Duser.country=DE Bug8149452
+ * @run main/othervm -Duser.language=ja -Duser.country=JP Bug8149452
+ * @run main/othervm -Duser.language=en -Duser.country=US Bug8149452
+ * @summary Check the missing time zone names for English, German and Japanese locales.
*/
import java.text.DateFormatSymbols;
import java.util.ArrayList;
@@ -34,21 +38,6 @@
public class Bug8149452 {
public static void main(String[] args) {
- // These zone ids are new in tzdb and yet to be reflected in
- // CLDR data. Needs to be excluded from the test.
- // This list is as of CLDR version 29, and should be examined
- // on the CLDR data upgrade.
- List<String> NEW_ZONEIDS = List.of(
- "America/Punta_Arenas",
- "Asia/Atyrau",
- "Asia/Barnaul",
- "Asia/Famagusta",
- "Asia/Tomsk",
- "Europe/Astrakhan",
- "Europe/Kirov",
- "Europe/Saratov",
- "Europe/Ulyanovsk");
-
List<String> listNotFound = new ArrayList<>();
String[][] zoneStrings = DateFormatSymbols.getInstance()
.getZoneStrings();
@@ -57,8 +46,7 @@
.anyMatch(zone -> tzID.equalsIgnoreCase(zone[0]))) {
// to ignore names for Etc/GMT[+-][0-9]+ which are not supported
if (!tzID.startsWith("Etc/GMT")
- && !tzID.startsWith("GMT")
- && !NEW_ZONEIDS.contains(tzID)) {
+ && !tzID.startsWith("GMT")) {
listNotFound.add(tzID);
}
}
@@ -68,7 +56,5 @@
throw new RuntimeException("Test Failed: Time Zone Strings for "
+ listNotFound + " not found");
}
-
}
-
}
--- a/test/jdk/java/util/logging/LocalizedLevelName.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/java/util/logging/LocalizedLevelName.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,8 +37,8 @@
"SEVERE", Locale.ENGLISH, "Severe", Level.SEVERE,
"WARNING", Locale.JAPANESE, "\u8B66\u544A", Level.WARNING,
"INFO", Locale.SIMPLIFIED_CHINESE, "\u4FE1\u606F", Level.INFO,
- "SEVERE", Locale.TRADITIONAL_CHINESE, "\u56B4\u91CD", Level.SEVERE,
- "CONFIG", Locale.forLanguageTag("zh-HK"), "\u7D44\u614B", Level.CONFIG,
+ "SEVERE", Locale.SIMPLIFIED_CHINESE, "\u4E25\u91CD", Level.SEVERE,
+ "CONFIG", Locale.forLanguageTag("zh-CN"), "\u914D\u7F6E", Level.CONFIG,
"ALL", Locale.ROOT, "All", Level.ALL,
"SEVERE", Locale.ROOT, "Severe", Level.SEVERE,
"WARNING", Locale.ROOT, "Warning", Level.WARNING,
--- a/test/jdk/jdk/jfr/api/consumer/TestFieldAccess.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestFieldAccess.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestFieldAccess
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestGetStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestGetStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -42,10 +42,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Verifies that a recorded JFR event has the correct stack trace info
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestGetStackTrace
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestHiddenMethod.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestHiddenMethod.java Thu Jul 26 10:00:40 2018 -0700
@@ -42,9 +42,10 @@
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @library /test/lib
* @modules java.scripting
--- a/test/jdk/jdk/jfr/api/consumer/TestMethodGetModifiers.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestMethodGetModifiers.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,9 +39,10 @@
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -Xint jdk.jfr.api.consumer.TestMethodGetModifiers
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestReadTwice.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestReadTwice.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.test.lib.Utils;
-/*
+/**
* @test
* @summary Reads the recorded file two times and verifies that both reads are the same
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestReadTwice
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordedClassLoader.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedClassLoader.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.TestClassLoader;
-/*
+/**
* @test
* @summary Verifies the methods of the RecordedClassLoader
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordedClassLoader
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordedEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Verifies the methods of the RecordedEvent
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordedEvent
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordedEventGetThread.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedEventGetThread.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Tests that the RecordedEvent.getThread() returns th expected info
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordedEventGetThread
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordedEventGetThreadOther.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedEventGetThreadOther.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.Utils;
-/*
+/**
* @test
* @summary Tests that the RecordedEvent.getThread() returns th expected info
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordedEventGetThreadOther
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordedFrame.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedFrame.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Simple test for RecordedFrame APIs
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -Xint -XX:+UseInterpreter -Dinterpreted=true jdk.jfr.api.consumer.TestRecordedFrame
* @run main/othervm -Xcomp -XX:-UseInterpreter -Dinterpreted=false jdk.jfr.api.consumer.TestRecordedFrame
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordedFullStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedFullStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,9 +40,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.RecurseThread;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordedFullStackTrace
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordedInstantEventTimestamp.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedInstantEventTimestamp.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Tests that an instant event gets recorded with its start time equal to its end time
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordedInstantEventTimestamp
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordedMethodDescriptor.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedMethodDescriptor.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,9 +40,10 @@
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordedMethodDescriptor
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordedObject.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedObject.java Thu Jul 26 10:00:40 2018 -0700
@@ -47,10 +47,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Verifies the methods of the RecordedObject
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordedObject
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordedThreadGroupParent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedThreadGroupParent.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Tests getParent method in RecordedThreadGroup
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordedThreadGroupParent
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordingFile.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordingFile.java Thu Jul 26 10:00:40 2018 -0700
@@ -49,10 +49,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.Utils;
-/*
+/**
* @test
* @summary Verifies that all methods in RecordingFIle are working
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordingFile
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordingFileReadEventEof.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordingFileReadEventEof.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Verifies that RecordingFile.readEvent() throws EOF when past the last record
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordingFileReadEventEof
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestRecordingInternals.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordingInternals.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Tests that chunks are read in order and constant pools from multiple chunks can be read
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestRecordingInternals
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestSingleRecordedEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestSingleRecordedEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Verifies that a single JFR event is recorded as expected
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestSingleRecordedEvent
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestToString.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestToString.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Sanity checks that RecordedEvent#toString returns something valid
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestToString
*/
--- a/test/jdk/jdk/jfr/api/consumer/TestValueDescriptorRecorded.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/consumer/TestValueDescriptorRecorded.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Verifies that the recorded value descriptors are correct
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.consumer.TestValueDescriptorRecorded
*/
--- a/test/jdk/jdk/jfr/api/event/TestAbstractEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestAbstractEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Tests that abstract events are not part of metadata
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestAbstractEvent
*/
--- a/test/jdk/jdk/jfr/api/event/TestBeginEnd.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestBeginEnd.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Test for RecordedEvent.getDuration()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestBeginEnd
*/
--- a/test/jdk/jdk/jfr/api/event/TestClinitRegistration.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestClinitRegistration.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test enable/disable event and verify recording has expected events.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestClinitRegistration
*/
--- a/test/jdk/jdk/jfr/api/event/TestClonedEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestClonedEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Tests that a cloned event can be successfully committed.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestClonedEvent
*/
--- a/test/jdk/jdk/jfr/api/event/TestEnableDisable.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestEnableDisable.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test enable/disable event and verify recording has expected events.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestEnableDisable
*/
--- a/test/jdk/jdk/jfr/api/event/TestEventFactory.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestEventFactory.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary EventFactory simple test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestEventFactory
*/
--- a/test/jdk/jdk/jfr/api/event/TestEventFactoryRegisterTwice.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestEventFactoryRegisterTwice.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Verifies that EventFactory can register the same event twice
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestEventFactoryRegisterTwice
*/
--- a/test/jdk/jdk/jfr/api/event/TestEventFactoryRegistration.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestEventFactoryRegistration.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary EventFactory register/unregister API test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestEventFactoryRegistration
*/
--- a/test/jdk/jdk/jfr/api/event/TestExtends.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestExtends.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test with event class inheritance
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestExtends
*/
--- a/test/jdk/jdk/jfr/api/event/TestGetDuration.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestGetDuration.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Test for RecordedEvent.getDuration()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestGetDuration
*/
--- a/test/jdk/jdk/jfr/api/event/TestIsEnabled.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestIsEnabled.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Test Event.isEnabled()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestIsEnabled
*/
--- a/test/jdk/jdk/jfr/api/event/TestIsEnabledMultiple.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestIsEnabledMultiple.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test Event.isEnabled() with multiple recordings
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestIsEnabledMultiple
*/
--- a/test/jdk/jdk/jfr/api/event/TestOwnCommit.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestOwnCommit.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Use custom event that reuse method names begin, end and commit.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestOwnCommit
*/
--- a/test/jdk/jdk/jfr/api/event/TestShouldCommit.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestShouldCommit.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test enable/disable event and verify recording has expected events.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -Xlog:jfr+event+setting=trace jdk.jfr.api.event.TestShouldCommit
*/
--- a/test/jdk/jdk/jfr/api/event/TestStaticEnable.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/TestStaticEnable.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.jfr.consumer.RecordedEvent;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Enable an event from a static function in the event.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.TestStaticEnable
*/
--- a/test/jdk/jdk/jfr/api/event/dynamic/TestDynamicAnnotations.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/dynamic/TestDynamicAnnotations.java Thu Jul 26 10:00:40 2018 -0700
@@ -51,9 +51,10 @@
import jdk.jfr.consumer.RecordedEvent;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.dynamic.TestDynamicAnnotations
*/
--- a/test/jdk/jdk/jfr/api/event/dynamic/TestEventFactory.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/event/dynamic/TestEventFactory.java Thu Jul 26 10:00:40 2018 -0700
@@ -53,9 +53,10 @@
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.event.dynamic.TestEventFactory
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestAddListenerTwice.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestAddListenerTwice.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.jfr.Recording;
import jdk.jfr.RecordingState;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.flightrecorder.TestAddListenerTwice
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestAddPeriodicEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestAddPeriodicEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.jfr.FlightRecorder;
import jdk.jfr.Recording;
-/*
+/**
* @test
* @summary
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestAddPeriodicEvent
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestFlightRecorderListenerRecorderInitialized.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestFlightRecorderListenerRecorderInitialized.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.jfr.FlightRecorder;
import jdk.jfr.FlightRecorderListener;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestFlightRecorderListenerRecorderInitialized
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestGetEventTypes.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestGetEventTypes.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.jfr.consumer.RecordedEvent;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm/timeout=600 jdk.jfr.api.flightrecorder.TestGetEventTypes
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestGetPlatformRecorder.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestGetPlatformRecorder.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.jfr.FlightRecorder;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestGetPlatformRecorder
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestGetRecordings.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestGetRecordings.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.jfr.FlightRecorder;
import jdk.jfr.Recording;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestGetRecordings
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestGetSettings.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestGetSettings.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.jfr.EventType;
import jdk.jfr.Recording;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestGetSettings
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestIsAvailable.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestIsAvailable.java Thu Jul 26 10:00:40 2018 -0700
@@ -28,9 +28,10 @@
import jdk.jfr.FlightRecorder;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -XX:+FlightRecorder jdk.jfr.api.flightrecorder.TestIsAvailable true
* @run main/othervm -XX:-FlightRecorder jdk.jfr.api.flightrecorder.TestIsAvailable false
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestIsInitialized.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestIsInitialized.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.jfr.FlightRecorderListener;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestIsInitialized
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestListener.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestListener.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.jfr.Recording;
import jdk.jfr.RecordingState;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.flightrecorder.TestListener
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestListenerNull.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestListenerNull.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.jfr.FlightRecorder;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestListenerNull
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestPeriodicEventsSameHook.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestPeriodicEventsSameHook.java Thu Jul 26 10:00:40 2018 -0700
@@ -28,10 +28,11 @@
import jdk.jfr.Event;
import jdk.jfr.FlightRecorder;
-/*
+/**
* @test
* @summary Check that an IllegalArgumentException is thrown if event is added twice
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestPeriodicEventsSameHook
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestRecorderInitializationCallback.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestRecorderInitializationCallback.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.jfr.FlightRecorder;
import jdk.jfr.FlightRecorderListener;
-/*
+/**
* @test
* @summary Test Flight Recorder initialization callback is only called once
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestRecorderInitializationCallback
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestRegisterUnregisterEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestRegisterUnregisterEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.jfr.EventType;
import jdk.jfr.FlightRecorder;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestRegisterUnregisterEvent
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestSettingsControl.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestSettingsControl.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.jfr.SettingControl;
import jdk.jfr.SettingDefinition;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestSettingsControl
*/
--- a/test/jdk/jdk/jfr/api/flightrecorder/TestSnapshot.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/flightrecorder/TestSnapshot.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,8 +40,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/* @test
+/**
+ * @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.flightrecorder.TestSnapshot
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestCategory.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestCategory.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.jfr.EventType;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestCategory
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestContentType.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestContentType.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,9 +39,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestContentType
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestDescription.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestDescription.java Thu Jul 26 10:00:40 2018 -0700
@@ -41,9 +41,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleSetting;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestDescription
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestDynamicAnnotation.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestDynamicAnnotation.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.jfr.AnnotationElement;
import jdk.jfr.MetadataDefinition;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestDynamicAnnotation
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestEnabled.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestEnabled.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.jfr.Recording;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestEnabled
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestExperimental.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestExperimental.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestExperimental
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestFieldAnnotations.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestFieldAnnotations.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,9 +39,10 @@
import jdk.jfr.ValueDescriptor;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestFieldAnnotations
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestHasValue.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestHasValue.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.jfr.Timestamp;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestHasValue
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestInheritedAnnotations.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestInheritedAnnotations.java Thu Jul 26 10:00:40 2018 -0700
@@ -48,9 +48,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestInheritedAnnotations
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestLabel.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestLabel.java Thu Jul 26 10:00:40 2018 -0700
@@ -42,9 +42,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleSetting;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestLabel
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestMetadata.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestMetadata.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestMetadata
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestName.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestName.java Thu Jul 26 10:00:40 2018 -0700
@@ -42,9 +42,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleSetting;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestName
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestPeriod.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestPeriod.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestLabel
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestRegistered.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestRegistered.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.jfr.EventType;
import jdk.jfr.FlightRecorder;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestRegistered
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestRegisteredFalseAndRunning.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestRegisteredFalseAndRunning.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.jfr.Recording;
import jdk.jfr.Registered;
-/*
+/**
* @test Tests that commit doesn't throw exception when an event has not been registered.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestRegisteredFalseAndRunning
* @run main/othervm -XX:FlightRecorderOptions=retransform=false jdk.jfr.api.metadata.annotations.TestRegisteredFalseAndRunning
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestRelational.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestRelational.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,9 +40,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestRelational
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestSimpleMetadataEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestSimpleMetadataEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.jfr.EventType;
import jdk.jfr.MetadataDefinition;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestSimpleMetadataEvent
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestStackTrace
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestThreshold.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestThreshold.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestThreshold
*/
--- a/test/jdk/jdk/jfr/api/metadata/annotations/TestTypesIdentical.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/annotations/TestTypesIdentical.java Thu Jul 26 10:00:40 2018 -0700
@@ -51,9 +51,10 @@
import jdk.jfr.Unsigned;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.annotations.TestTypesIdentical
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetAnnotation.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetAnnotation.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.jfr.Label;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test getAnnotations()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetAnnotation
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetAnnotationElements.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetAnnotationElements.java Thu Jul 26 10:00:40 2018 -0700
@@ -62,10 +62,11 @@
import jdk.jfr.ValueDescriptor;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test for AnnotationElement.getAnnotationElements()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetAnnotationElements
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetAnnotations.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetAnnotations.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.jfr.Period;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test getAnnotations()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetAnnotations
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetCategory.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetCategory.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.jfr.EventType;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test setName().
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetCategory
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetDefaultValues.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetDefaultValues.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test getDefaultValues()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetDefaultValues
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetDescription.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetDescription.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.jfr.Label;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test descriptive annotations for EventType
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetDescription
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetEventType.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetEventType.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,10 +29,11 @@
import jdk.jfr.EventType;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test getEventType()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetEventType
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetField.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetField.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.jfr.ValueDescriptor;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test getField()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetField
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetFields.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetFields.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.jfr.ValueDescriptor;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test getFields()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetFields
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetSettings.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestGetSettings.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.jfr.SettingDescriptor;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test getSettings()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetSettings
*/
--- a/test/jdk/jdk/jfr/api/metadata/eventtype/TestUnloadingEventClass.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/eventtype/TestUnloadingEventClass.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.jfr.internal.JVM;
import jdk.test.lib.Utils;
-/*
+/**
* @test
* @key jfr
* @summary Test that verifies event metadata is removed when an event class is unloaded.
+ * @requires vm.hasJFR
*
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
--- a/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestDefaultValue.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestDefaultValue.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,10 +29,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test SettingDescriptor.getName()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestDefaultValue
*/
--- a/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotation.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotation.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test SettingDescriptor.getAnnotation();
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetAnnotation
*/
--- a/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotationElement.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotationElement.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test SettingDescriptor.getAnnotationElements()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetAnnotationElement
*/
--- a/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetContentType.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetContentType.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test SettingDescriptor.getContentType()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetDescription
*/
--- a/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetDescription.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetDescription.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test SettingDescriptor.getDescription()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetDescription
*/
--- a/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetLabel.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetLabel.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test SettingDescriptor.getLabel()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetLabel
*/
--- a/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetName.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetName.java Thu Jul 26 10:00:40 2018 -0700
@@ -28,10 +28,11 @@
import jdk.jfr.SettingDescriptor;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test SettingDescriptor.getName()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetName
*/
--- a/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeId.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeId.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,10 +29,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test SettingDescriptor.getTypeId()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetTypeId
*/
--- a/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeName.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeName.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,10 +29,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test SettingDescriptor.getTypeName();
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetTypeName
*/
--- a/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestClasses.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestClasses.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary Test ValueDescriptor.getAnnotations()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestClasses
*/
--- a/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestConstructor.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestConstructor.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.jfr.ValueDescriptor;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test ValueDescriptor.getAnnotations()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestConstructor
*/
--- a/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestGetAnnotations.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestGetAnnotations.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.jfr.ValueDescriptor;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test ValueDescriptor.getAnnotations()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestGetAnnotations
*/
--- a/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestGetFields.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestGetFields.java Thu Jul 26 10:00:40 2018 -0700
@@ -28,10 +28,11 @@
import jdk.jfr.ValueDescriptor;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test ValueDescriptor.getAnnotations()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestGetFields
*/
--- a/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestIsArray.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestIsArray.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.jfr.ValueDescriptor;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test ValueDescriptor.isArray().
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestIsArray
*/
--- a/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestSimpleTypes.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestSimpleTypes.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.jfr.ValueDescriptor;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test all basic types in ValueDescriptor.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestSimpleTypes
*/
--- a/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestValueDescriptorContentType.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/metadata/valuedescriptor/TestValueDescriptorContentType.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.jfr.ValueDescriptor;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Test ValueDescriptor.getContentType()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestValueDescriptorContentType
*/
--- a/test/jdk/jdk/jfr/api/recorder/TestRecorderInitialized.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recorder/TestRecorderInitialized.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.jfr.FlightRecorderListener;
import jdk.test.lib.Asserts;
-/*
+/**
* @test TestRecorderListener
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
*
* @run main/othervm jdk.jfr.api.recorder.TestRecorderInitialized
--- a/test/jdk/jdk/jfr/api/recorder/TestRecorderListener.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recorder/TestRecorderListener.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.jfr.Recording;
import jdk.jfr.RecordingState;
-/*
+/**
* @test TestRecorderListener
*
* @key jfr
+ * @requires vm.hasJFR
* @run main/othervm jdk.jfr.api.recorder.TestRecorderListener
*/
public class TestRecorderListener {
--- a/test/jdk/jdk/jfr/api/recorder/TestStartStopRecording.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recorder/TestStartStopRecording.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.Utils;
-/*
+/**
* @test TestStartStopRecording
*
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recorder.TestStartStopRecording
*/
--- a/test/jdk/jdk/jfr/api/recording/destination/TestDestFileExist.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/destination/TestDestFileExist.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @summary Set destination to an existing file. File should be overwritten.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.destination.TestDestFileExist
*/
--- a/test/jdk/jdk/jfr/api/recording/destination/TestDestFileReadOnly.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/destination/TestDestFileReadOnly.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.FileHelper;
-/*
+/**
* @test
* @summary Set destination to a read-only file. Expects exception.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.destination.TestDestFileReadOnly
*/
--- a/test/jdk/jdk/jfr/api/recording/destination/TestDestInvalid.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/destination/TestDestInvalid.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,10 +39,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary Test setDestination to invalid paths
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.destination.TestDestInvalid
*/
--- a/test/jdk/jdk/jfr/api/recording/destination/TestDestLongPath.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/destination/TestDestLongPath.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.FileHelper;
-/*
+/**
* @test
* @summary Set destination to a long path
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.destination.TestDestLongPath
*/
--- a/test/jdk/jdk/jfr/api/recording/destination/TestDestMultiple.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/destination/TestDestMultiple.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @summary Test setDestination with concurrent recordings
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -Xlog:jfr=trace jdk.jfr.api.recording.destination.TestDestMultiple
*/
--- a/test/jdk/jdk/jfr/api/recording/destination/TestDestReadOnly.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/destination/TestDestReadOnly.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,10 +40,11 @@
import jdk.test.lib.jfr.FileHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary Test setDestination to read-only dir
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.destination.TestDestReadOnly
*/
--- a/test/jdk/jdk/jfr/api/recording/destination/TestDestState.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/destination/TestDestState.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @summary Call setDestination() when recording in different states
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.destination.TestDestState
*/
--- a/test/jdk/jdk/jfr/api/recording/destination/TestDestToDiskFalse.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/destination/TestDestToDiskFalse.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,10 +39,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @summary Basic test for setDestination with disk=false
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.destination.TestDestToDiskFalse
*/
--- a/test/jdk/jdk/jfr/api/recording/destination/TestDestToDiskTrue.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/destination/TestDestToDiskTrue.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @summary Basic test for setDestination with disk=true
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.destination.TestDestToDiskTrue
*/
--- a/test/jdk/jdk/jfr/api/recording/destination/TestDestWithDuration.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/destination/TestDestWithDuration.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,10 +39,11 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @summary Test that recording is auto closed after duration
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.destination.TestDestWithDuration
*/
--- a/test/jdk/jdk/jfr/api/recording/dump/TestDump.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/dump/TestDump.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @summary Test copyTo and parse file
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.dump.TestDump
*/
--- a/test/jdk/jdk/jfr/api/recording/dump/TestDumpInvalid.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/dump/TestDumpInvalid.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary Test copyTo and parse file
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.dump.TestDumpInvalid
*/
--- a/test/jdk/jdk/jfr/api/recording/dump/TestDumpLongPath.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/dump/TestDumpLongPath.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.FileHelper;
-/*
+/**
* @test
* @summary Test copyTo and parse file
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.dump.TestDumpLongPath
*/
--- a/test/jdk/jdk/jfr/api/recording/dump/TestDumpMultiple.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/dump/TestDumpMultiple.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @summary Test copyTo and parse file
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.dump.TestDumpMultiple
*/
--- a/test/jdk/jdk/jfr/api/recording/dump/TestDumpReadOnly.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/dump/TestDumpReadOnly.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.test.lib.jfr.FileHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary Test copyTo and parse file
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.dump.TestDumpReadOnly
*/
--- a/test/jdk/jdk/jfr/api/recording/dump/TestDumpState.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/dump/TestDumpState.java Thu Jul 26 10:00:40 2018 -0700
@@ -42,10 +42,11 @@
import jdk.test.lib.jfr.SimpleEventHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary call copyTo() with recording in all states.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.dump.TestDumpState
*/
--- a/test/jdk/jdk/jfr/api/recording/event/TestChunkPeriod.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestChunkPeriod.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary Test periodic setting that involves chunks.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.event.TestChunkPeriod
*/
--- a/test/jdk/jdk/jfr/api/recording/event/TestEnableClass.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestEnableClass.java Thu Jul 26 10:00:40 2018 -0700
@@ -28,10 +28,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @summary Simple enable Event class.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.event.TestEnableClass
*/
--- a/test/jdk/jdk/jfr/api/recording/event/TestEnableName.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestEnableName.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Simple enable Event class.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.event.TestEnableName
*/
--- a/test/jdk/jdk/jfr/api/recording/event/TestEventTime.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestEventTime.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test getStartTime() and getEndTime(). Verify startTime <= endTime
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.event.TestEventTime
*/
--- a/test/jdk/jdk/jfr/api/recording/event/TestLoadEventAfterStart.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestLoadEventAfterStart.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Load event class after recording started.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @build jdk.test.lib.jfr.SimpleEvent
* @run main/othervm jdk.jfr.api.recording.event.TestLoadEventAfterStart
--- a/test/jdk/jdk/jfr/api/recording/event/TestPeriod.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestPeriod.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test event period.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.event.TestPeriod
*/
--- a/test/jdk/jdk/jfr/api/recording/event/TestReEnableClass.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestReEnableClass.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @summary Enable, disable, enable event during recording.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.event.TestReEnableClass
*/
--- a/test/jdk/jdk/jfr/api/recording/event/TestReEnableMultiple.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestReEnableMultiple.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,10 +39,11 @@
import jdk.test.lib.jfr.SimpleEvent;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @summary Enable, disable, enable event during recording.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.event.TestReEnableMultiple
*/
--- a/test/jdk/jdk/jfr/api/recording/event/TestReEnableName.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestReEnableName.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Enable/disable event by name during recording.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.event.TestReEnableName
*/
--- a/test/jdk/jdk/jfr/api/recording/event/TestRecordingEnableDisable.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestRecordingEnableDisable.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.jfr.SimpleEvent;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @summary Enable, disable, enable event during recording.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.event.TestRecordingEnableDisable
*/
--- a/test/jdk/jdk/jfr/api/recording/event/TestThreshold.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/event/TestThreshold.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test event threshold.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.event.TestThreshold
*/
--- a/test/jdk/jdk/jfr/api/recording/misc/TestGetId.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/misc/TestGetId.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Verify that each recording get unique a id
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.misc.TestGetId
*/
--- a/test/jdk/jdk/jfr/api/recording/misc/TestGetSize.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/misc/TestGetSize.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @summary Test recording file size with Recording.getSize()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.misc.TestGetSize
*/
--- a/test/jdk/jdk/jfr/api/recording/misc/TestGetSizeToMem.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/misc/TestGetSizeToMem.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @summary Test recording file size with Recording.getSize()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.misc.TestGetSizeToMem
*/
--- a/test/jdk/jdk/jfr/api/recording/misc/TestGetStream.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/misc/TestGetStream.java Thu Jul 26 10:00:40 2018 -0700
@@ -43,10 +43,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @summary A simple test for Recording.getStream()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.misc.TestGetStream
*/
--- a/test/jdk/jdk/jfr/api/recording/misc/TestRecordingBase.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/misc/TestRecordingBase.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,10 +40,11 @@
import jdk.jfr.Recording;
import jdk.jfr.RecordingState;
-/*
+/**
* @test
* @summary Basic tests for Recording
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.misc.TestRecordingBase
*/
--- a/test/jdk/jdk/jfr/api/recording/misc/TestRecordingCopy.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/misc/TestRecordingCopy.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import java.util.List;
-/*
+/**
* @test
* @summary A simple test for Recording.copy()
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.misc.TestRecordingCopy
*/
--- a/test/jdk/jdk/jfr/api/recording/options/TestDuration.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/options/TestDuration.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.CommonHelper;
-/*
+/**
* @test
* @summary Test setDuration(). Verify recording is stopped automatically.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.options.TestDuration
*/
--- a/test/jdk/jdk/jfr/api/recording/options/TestName.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/options/TestName.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary Test setName().
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.options.TestName
*/
--- a/test/jdk/jdk/jfr/api/recording/settings/TestConfigurationGetContents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/settings/TestConfigurationGetContents.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.jfr.Configuration;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Verifies Configuration.getContents() for every configuration
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.settings.TestConfigurationGetContents
*/
--- a/test/jdk/jdk/jfr/api/recording/settings/TestCreateConfigFromPath.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/settings/TestCreateConfigFromPath.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @summary Test setName().
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.settings.TestCreateConfigFromPath
*/
--- a/test/jdk/jdk/jfr/api/recording/settings/TestCreateConfigFromReader.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/settings/TestCreateConfigFromReader.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @summary Test setName().
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.settings.TestCreateConfigFromReader
*/
--- a/test/jdk/jdk/jfr/api/recording/settings/TestGetConfigurations.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/settings/TestGetConfigurations.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,11 +29,12 @@
import jdk.jfr.Configuration;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Verifies that there is the default config and that it has
* the expected parameters
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.settings.TestGetConfigurations
*/
--- a/test/jdk/jdk/jfr/api/recording/settings/TestSettingsAvailability.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/settings/TestSettingsAvailability.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,10 +39,11 @@
import jdk.jfr.consumer.RecordingFile;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @summary Verifies that event types has the correct type of settings
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.settings.TestSettingsAvailability
*/
--- a/test/jdk/jdk/jfr/api/recording/state/TestOptionState.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/state/TestOptionState.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
* @summary Test options in different states
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.state.TestOptionState
*/
--- a/test/jdk/jdk/jfr/api/recording/state/TestState.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/state/TestState.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.jfr.RecordingState;
import jdk.test.lib.jfr.CommonHelper;
-/*
+/**
* @test
* @summary Test Recording state
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.state.TestState
*/
--- a/test/jdk/jdk/jfr/api/recording/state/TestStateDuration.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/state/TestStateDuration.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary Test Recording state
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.state.TestStateDuration
*/
--- a/test/jdk/jdk/jfr/api/recording/state/TestStateIdenticalListeners.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/state/TestStateIdenticalListeners.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.jfr.FlightRecorderListener;
import jdk.jfr.Recording;
-/*
+/**
* @test
* @summary Test Recording state with concurrent recordings
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.state.TestStateIdenticalListeners
*/
--- a/test/jdk/jdk/jfr/api/recording/state/TestStateInvalid.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/state/TestStateInvalid.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary Test start/stop/close recording from different recording states.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.state.TestStateInvalid
*/
--- a/test/jdk/jdk/jfr/api/recording/state/TestStateMultiple.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/state/TestStateMultiple.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary Test Recording state with concurrent recordings
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.state.TestStateMultiple
*/
--- a/test/jdk/jdk/jfr/api/recording/state/TestStateScheduleStart.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/state/TestStateScheduleStart.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @summary Test Recording state
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.state.TestStateScheduleStart
*/
--- a/test/jdk/jdk/jfr/api/recording/time/TestTime.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/time/TestTime.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
* @summary Test Recording.get*Time()
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.time.TestTime
*/
--- a/test/jdk/jdk/jfr/api/recording/time/TestTimeDuration.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/time/TestTimeDuration.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
* @summary Test Recording.setDuration() and Recording.get*Time()
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.time.TestTimeDuration
*/
--- a/test/jdk/jdk/jfr/api/recording/time/TestTimeMultiple.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/time/TestTimeMultiple.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.jfr.Recording;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
* @summary Test recording times with concurrent recordings
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.time.TestTimeMultiple
*/
--- a/test/jdk/jdk/jfr/api/recording/time/TestTimeScheduleStart.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/recording/time/TestTimeScheduleStart.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.CommonHelper;
-/*
+/**
* @test
* @key jfr
* @summary Test Recording.scheduleStart() and Recording.get*Time()
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.api.recording.time.TestTimeScheduleStart
*/
--- a/test/jdk/jdk/jfr/api/settings/TestFilterEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/api/settings/TestFilterEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import static jdk.test.lib.Asserts.assertEquals;
-/*
+/**
* @test
* @summary The test uses SettingControl
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.api.settings.TestFilterEvents
*/
--- a/test/jdk/jdk/jfr/cmd/TestHelp.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/cmd/TestHelp.java Thu Jul 26 10:00:40 2018 -0700
@@ -27,10 +27,11 @@
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Test help
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.cmd.TestHelp
*/
--- a/test/jdk/jdk/jfr/cmd/TestPrint.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/cmd/TestPrint.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.test.lib.Utils;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Test jfr print
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.cmd.TestPrint
*/
--- a/test/jdk/jdk/jfr/cmd/TestPrintDefault.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/cmd/TestPrintDefault.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,10 +29,11 @@
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @key jfr
* @summary Tests print --json
+ * @requires vm.hasJFR
*
* @library /test/lib /test/jdk
* @modules java.scripting
--- a/test/jdk/jdk/jfr/cmd/TestPrintJSON.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/cmd/TestPrintJSON.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @key jfr
* @summary Tests print --json
+ * @requires vm.hasJFR
*
* @library /test/lib /test/jdk
* @modules jdk.scripting.nashorn
--- a/test/jdk/jdk/jfr/cmd/TestPrintXML.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/cmd/TestPrintXML.java Thu Jul 26 10:00:40 2018 -0700
@@ -52,10 +52,11 @@
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
-/*
+/**
* @test
* @key jfr
* @summary Tests print --xml
+ * @requires vm.hasJFR
*
* @library /test/lib /test/jdk
* @modules java.scripting
--- a/test/jdk/jdk/jfr/cmd/TestReconstruct.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/cmd/TestReconstruct.java Thu Jul 26 10:00:40 2018 -0700
@@ -41,10 +41,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Test jfr reconstruct
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.cmd.TestReconstruct
--- a/test/jdk/jdk/jfr/cmd/TestSplit.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/cmd/TestSplit.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.jfr.consumer.RecordingFile;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Test jfr split
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.cmd.TestSplit
*/
--- a/test/jdk/jdk/jfr/cmd/TestSummary.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/cmd/TestSummary.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.jfr.consumer.RecordingFile;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Test jfr info
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.cmd.TestSummary
*/
--- a/test/jdk/jdk/jfr/event/compiler/TestAllocInNewTLAB.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestAllocInNewTLAB.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test that event is triggered when an object is allocated in a new TLAB.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -XX:+UseTLAB -XX:TLABSize=100k -XX:-ResizeTLAB -XX:TLABRefillWasteFraction=1 jdk.jfr.event.compiler.TestAllocInNewTLAB
* @run main/othervm -XX:+UseTLAB -XX:TLABSize=100k -XX:-ResizeTLAB -XX:TLABRefillWasteFraction=1 -XX:-FastTLABRefill jdk.jfr.event.compiler.TestAllocInNewTLAB
--- a/test/jdk/jdk/jfr/event/compiler/TestAllocOutsideTLAB.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestAllocOutsideTLAB.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test that when an object is allocated outside a TLAB an event will be triggered.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -XX:+UseTLAB -XX:-FastTLABRefill -XX:TLABSize=90k -XX:-ResizeTLAB -XX:TLABRefillWasteFraction=256 jdk.jfr.event.compiler.TestAllocOutsideTLAB
* @run main/othervm -XX:+UseTLAB -XX:-FastTLABRefill -XX:TLABSize=90k -XX:-ResizeTLAB -XX:TLABRefillWasteFraction=256 jdk.jfr.event.compiler.TestAllocOutsideTLAB
--- a/test/jdk/jdk/jfr/event/compiler/TestCodeCacheConfig.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCodeCacheConfig.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.Events;
import sun.hotspot.WhiteBox;
-/*
+/**
* @test TestCodeCacheConfig
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @build sun.hotspot.WhiteBox
* @run main ClassFileInstaller sun.hotspot.WhiteBox
--- a/test/jdk/jdk/jfr/event/compiler/TestCodeCacheFull.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCodeCacheFull.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,8 +35,9 @@
import sun.hotspot.WhiteBox;
import sun.hotspot.code.BlobType;
-/*
+/**
* @test TestCodeCacheFull
+ * @requires vm.hasJFR
*
* @library /test/lib
* @modules jdk.jfr
--- a/test/jdk/jdk/jfr/event/compiler/TestCodeCacheStats.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCodeCacheStats.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.compiler.TestCodeCacheStats
*/
--- a/test/jdk/jdk/jfr/event/compiler/TestCodeSweeper.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCodeSweeper.java Thu Jul 26 10:00:40 2018 -0700
@@ -51,9 +51,10 @@
* event is received, the event is verified. If an event is missing, we do NOT
* fail.
*/
-/*
+/**
* @test TestCodeSweeper
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @build sun.hotspot.WhiteBox
* @run driver ClassFileInstaller sun.hotspot.WhiteBox
--- a/test/jdk/jdk/jfr/event/compiler/TestCodeSweeperConfig.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCodeSweeperConfig.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -XX:+UseCodeCacheFlushing -XX:-SegmentedCodeCache jdk.jfr.event.compiler.TestCodeSweeperConfig
* @run main/othervm -XX:+UseCodeCacheFlushing -XX:+SegmentedCodeCache jdk.jfr.event.compiler.TestCodeSweeperConfig
--- a/test/jdk/jdk/jfr/event/compiler/TestCodeSweeperStats.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCodeSweeperStats.java Thu Jul 26 10:00:40 2018 -0700
@@ -41,9 +41,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.Utils;
-/*
+/**
* @test TestCodeSweeperStats
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @requires vm.compMode!="Xint"
* @build sun.hotspot.WhiteBox
--- a/test/jdk/jdk/jfr/event/compiler/TestCompilerCompile.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCompilerCompile.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,9 +39,10 @@
import jdk.test.lib.jfr.Events;
import sun.hotspot.WhiteBox;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.compMode!="Xint"
* @library /test/lib
* @build sun.hotspot.WhiteBox
--- a/test/jdk/jdk/jfr/event/compiler/TestCompilerConfig.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCompilerConfig.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.compiler.TestCompilerConfig
*/
--- a/test/jdk/jdk/jfr/event/compiler/TestCompilerInlining.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCompilerInlining.java Thu Jul 26 10:00:40 2018 -0700
@@ -43,11 +43,12 @@
import java.util.*;
import java.util.stream.IntStream;
-/*
+/**
* @test CompilerInliningTest
* @bug 8073607
* @key jfr
* @summary Verifies that corresponding JFR events are emitted in case of inlining.
+ * @requires vm.hasJFR
*
* @requires vm.opt.Inline == true | vm.opt.Inline == null
* @library /test/lib
--- a/test/jdk/jdk/jfr/event/compiler/TestCompilerPhase.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCompilerPhase.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.Events;
import sun.hotspot.WhiteBox;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.compMode!="Xint" & vm.flavor == "server" & (vm.opt.TieredStopAtLevel == 4 | vm.opt.TieredStopAtLevel == null)
* @library /test/lib
* @build sun.hotspot.WhiteBox
--- a/test/jdk/jdk/jfr/event/compiler/TestCompilerStats.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/compiler/TestCompilerStats.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.compiler.TestCompilerStats
*/
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithCMSConcurrent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithCMSConcurrent.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.collection;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* @requires vm.opt.ExplicitGCInvokesConcurrent != false
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithCMSMarkSweep.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithCMSMarkSweep.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.collection;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* @requires vm.opt.ExplicitGCInvokesConcurrent != true
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithG1ConcurrentMark.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithG1ConcurrentMark.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.collection;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "G1" | vm.gc == null
* @requires vm.opt.ExplicitGCInvokesConcurrent != false
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithG1FullCollection.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithG1FullCollection.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.collection;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "G1" | vm.gc == null
* @requires vm.opt.ExplicitGCInvokesConcurrent != true
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithPSMarkSweep.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithPSMarkSweep.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.collection;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.collection;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.collection;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "Serial" | vm.gc == null
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSConcurrent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSConcurrent.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* & vm.opt.ExplicitGCInvokesConcurrent != false
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSMarkSweep.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSMarkSweep.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* & vm.opt.ExplicitGCInvokesConcurrent != true
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1ConcurrentMark.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1ConcurrentMark.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "G1" | vm.gc == null)
* & vm.opt.ExplicitGCInvokesConcurrent != false
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1FullCollection.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1FullCollection.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "G1" | vm.gc == null)
* & vm.opt.ExplicitGCInvokesConcurrent != true
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithPSMarkSweep.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithPSMarkSweep.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithParNew.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithParNew.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithParallelOld.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithParallelOld.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithSerial.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithSerial.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "Serial" | vm.gc == null
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCGarbageCollectionEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCGarbageCollectionEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -Xlog:gc*=debug -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.event.gc.collection.TestGCGarbageCollectionEvent
*/
--- a/test/jdk/jdk/jfr/event/gc/collection/TestGCWithFasttime.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestGCWithFasttime.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseParallelGC -XX:+UseParallelOldGC jdk.jfr.event.gc.collection.TestGCWithFasttime
--- a/test/jdk/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithDefNew.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithDefNew.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Serial" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -Xmx50m -Xmn2m -XX:+UseSerialGC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xlog:gc+heap=trace,gc*=debug jdk.jfr.event.gc.collection.TestYoungGarbageCollectionEventWithDefNew
--- a/test/jdk/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithG1New.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithG1New.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "G1" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -Xmx50m -Xmn2m -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xlog:gc+heap=trace,gc*=debug jdk.jfr.event.gc.collection.TestYoungGarbageCollectionEventWithG1New
--- a/test/jdk/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParNew.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParNew.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* @library /test/lib /test/jdk
* @run main/othervm -Xmx50m -Xmn2m -XX:+UseConcMarkSweepGC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xlog:gc+heap=trace,gc*=debug jdk.jfr.event.gc.collection.TestYoungGarbageCollectionEventWithParNew
--- a/test/jdk/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParallelScavenge.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParallelScavenge.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.collection;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -Xmx50m -Xmn2m -XX:+UseParallelGC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:-UseAdaptiveSizePolicy -Xlog:gc+heap=trace,gc*=debug jdk.jfr.event.gc.collection.TestYoungGarbageCollectionEventWithParallelScavenge
--- a/test/jdk/jdk/jfr/event/gc/configuration/TestGCConfigurationEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/configuration/TestGCConfigurationEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.EventVerifier;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "Parallel" | vm.gc == null)
* & vm.opt.ExplicitGCInvokesConcurrent != true
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/configuration/TestGCConfigurationEventWithDefaultPauseTarget.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/configuration/TestGCConfigurationEventWithDefaultPauseTarget.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.EventVerifier;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.event.gc.configuration.TestGCConfigurationEventWithDefaultPauseTarget
*/
--- a/test/jdk/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWith32BitOops.sh Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWith32BitOops.sh Thu Jul 26 10:00:40 2018 -0700
@@ -22,6 +22,7 @@
#
# @test TestGCHeapConfigurationEventWith32BitOops
# @key jfr
+# @requires vm.hasJFR
# @requires vm.gc == "Parallel" | vm.gc == null
# @library /test/lib /test/jdk
# @build jdk.jfr.event.gc.configuration.TestGCHeapConfigurationEventWith32BitOops sun.hotspot.WhiteBox
--- a/test/jdk/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithHeapBasedOops.sh Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithHeapBasedOops.sh Thu Jul 26 10:00:40 2018 -0700
@@ -22,6 +22,7 @@
#
# @test TestGCHeapConfigurationEventWithHeapBasedOops
# @key jfr
+# @requires vm.hasJFR
# @requires vm.gc == "Parallel" | vm.gc == null
# @library /test/lib /test/jdk
# @build jdk.jfr.event.gc.configuration.TestGCHeapConfigurationEventWithHeapBasedOops
--- a/test/jdk/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithZeroBasedOops.sh Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithZeroBasedOops.sh Thu Jul 26 10:00:40 2018 -0700
@@ -22,6 +22,7 @@
#
# @test TestGCHeapConfigurationEventWithZeroBasedOops
# @key jfr
+# @requires vm.hasJFR
# @requires vm.gc == "Parallel" | vm.gc == null
# @library /test/lib /test/jdk
# @build jdk.jfr.event.gc.configuration.TestGCHeapConfigurationEventWithZeroBasedOops
--- a/test/jdk/jdk/jfr/event/gc/configuration/TestGCSurvivorConfigurationEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/configuration/TestGCSurvivorConfigurationEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.EventVerifier;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:MaxTenuringThreshold=13 -XX:InitialTenuringThreshold=9 jdk.jfr.event.gc.configuration.TestGCSurvivorConfigurationEvent
--- a/test/jdk/jdk/jfr/event/gc/configuration/TestGCTLABConfigurationEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/configuration/TestGCTLABConfigurationEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.EventVerifier;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseTLAB -XX:MinTLABSize=3k -XX:TLABRefillWasteFraction=96 jdk.jfr.event.gc.configuration.TestGCTLABConfigurationEvent
--- a/test/jdk/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithMinAndMaxSize.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithMinAndMaxSize.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,9 +30,10 @@
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run driver jdk.jfr.event.gc.configuration.TestGCYoungGenerationConfigurationEventWithMinAndMaxSize
*/
--- a/test/jdk/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithNewRatio.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithNewRatio.java Thu Jul 26 10:00:40 2018 -0700
@@ -28,9 +28,10 @@
import jdk.jfr.consumer.RecordedEvent;
import jdk.test.lib.jfr.EventVerifier;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:NewRatio=4 jdk.jfr.event.gc.configuration.TestGCYoungGenerationConfigurationEventWithNewRatio
*/
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestCMSConcurrentModeFailureEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestCMSConcurrentModeFailureEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @library /test/lib /test/jdk
* @requires vm.gc == "G1" | vm.gc == null
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestEvacuationInfoEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestEvacuationInfoEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,9 +36,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "G1" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:G1HeapRegionSize=1m -Xmx64m -Xmn16m -XX:+UseG1GC jdk.jfr.event.gc.detailed.TestEvacuationInfoEvent
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestG1AIHOPEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestG1AIHOPEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "G1" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:NewSize=2m -XX:MaxNewSize=2m -Xmx32m -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+G1UseAdaptiveIHOP jdk.jfr.event.gc.detailed.TestG1AIHOPEvent
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestG1ConcurrentModeFailureEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestG1ConcurrentModeFailureEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "G1" | vm.gc == null
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestG1EvacMemoryStatsEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestG1EvacMemoryStatsEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "G1" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:NewSize=2m -XX:MaxNewSize=2m -Xmx32m -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.event.gc.detailed.TestG1EvacMemoryStatsEvent
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestG1HeapRegionTypeChangeEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestG1HeapRegionTypeChangeEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @bug 8149650
+ * @requires vm.hasJFR
* @requires vm.gc == "G1" | vm.gc == null
* @key jfr
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestG1IHOPEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestG1IHOPEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "G1" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:NewSize=2m -XX:MaxNewSize=2m -Xmx32m -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:-G1UseAdaptiveIHOP jdk.jfr.event.gc.detailed.TestG1IHOPEvent
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestG1MMUEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestG1MMUEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "G1" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:NewSize=2m -XX:MaxNewSize=2m -Xmx32m -XX:+UseG1GC -XX:MaxGCPauseMillis=75 -XX:GCPauseIntervalMillis=150 -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.event.gc.detailed.TestG1MMUEvent
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,10 +24,11 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
* @key jfr
* @summary Test that events are created when an object is aged or promoted during a GC and the copying of the object requires a new PLAB or direct heap allocation
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "G1" | vm.gc == null)
* & vm.opt.ExplicitGCInvokesConcurrent != true
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionEventWithParallelScavenge.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionEventWithParallelScavenge.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,10 +24,11 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
* @key jfr
* @summary Test that events are created when an object is aged or promoted during a GC and the copying of the object requires a new PLAB or direct heap allocation
+ * @requires vm.hasJFR
*
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithDefNew.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithDefNew.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "Serial" | vm.gc == null
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParNew.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParNew.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.event.gc.detailed.TestPromotionFailedEventWithParNew
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParallelScavenge.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParallelScavenge.java Thu Jul 26 10:00:40 2018 -0700
@@ -25,9 +25,10 @@
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithCMS.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithCMS.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,8 +24,9 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
+ * @requires vm.hasJFR
* @requires (vm.gc == "null" | vm.gc == "ConcMarkSweep") & !vm.graal.enabled
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseConcMarkSweepGC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithCMS
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithDefNew.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithDefNew.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,8 +24,9 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
+ * @requires vm.hasJFR
* @requires vm.gc == "null" | vm.gc == "Serial"
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseSerialGC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithDefNew
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithG1.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithG1.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,8 +24,9 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
+ * @requires vm.hasJFR
* @requires vm.gc == "null" | vm.gc == "G1"
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseG1GC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithG1
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParNew.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParNew.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,8 +24,9 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
+ * @requires vm.hasJFR
* @requires vm.gc == "null" & !vm.graal.enabled
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseConcMarkSweepGC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithParNew
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParallel.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParallel.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,8 +24,9 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
+ * @requires vm.hasJFR
* @requires vm.gc == "null" | vm.gc == "Parallel"
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseParallelGC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithParallel
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithCMS.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithCMS.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,8 +24,9 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
+ * @requires vm.hasJFR
* @requires (vm.gc == "null" | vm.gc == "ConcMarkSweep") & !vm.graal.enabled
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseConcMarkSweepGC -Xmx256m jdk.jfr.event.gc.detailed.TestStressBigAllocationGCEventsWithCMS 1048576
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithDefNew.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithDefNew.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,8 +24,9 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
+ * @requires vm.hasJFR
* @requires vm.gc == "null" | vm.gc == "Serial"
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseSerialGC -Xmx256m jdk.jfr.event.gc.detailed.TestStressBigAllocationGCEventsWithDefNew 1048576
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithG1.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithG1.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,6 +32,7 @@
* fits exactly to one region, if not - G1 will allocate another almost empty
* region as a continue of humongous. Thus we will exhaust memory very fast and
* test will fail with OOME.
+ * @requires vm.hasJFR
* @requires vm.gc == "null" | vm.gc == "G1"
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseG1GC -XX:MaxNewSize=5m -Xmx256m -XX:G1HeapRegionSize=1048576 jdk.jfr.event.gc.detailed.TestStressBigAllocationGCEventsWithG1 1048544
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParNew.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParNew.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,8 +24,9 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
+ * @requires vm.hasJFR
* @requires vm.gc == "null" & !vm.graal.enabled
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseConcMarkSweepGC -Xmx256m jdk.jfr.event.gc.detailed.TestStressBigAllocationGCEventsWithParNew 1048576
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParallel.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParallel.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,8 +24,9 @@
*/
package jdk.jfr.event.gc.detailed;
-/*
+/**
* @test
+ * @requires vm.hasJFR
* @requires vm.gc == "null" | vm.gc == "Parallel"
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseParallelGC -Xmx256m jdk.jfr.event.gc.detailed.TestStressBigAllocationGCEventsWithParallel 1048576
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestTenuringDistributionEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestTenuringDistributionEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @bug 8009538
+ * @requires vm.hasJFR
* @requires vm.gc == "G1" | vm.gc == null
* @key jfr
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryCommittedSize.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryCommittedSize.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,9 +36,10 @@
import jdk.test.lib.jfr.GCHelper;
import sun.hotspot.WhiteBox;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @build sun.hotspot.WhiteBox
--- a/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventConcurrentCMS.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventConcurrentCMS.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* & vm.opt.ExplicitGCInvokesConcurrent != false
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventDefNewSerial.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventDefNewSerial.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.heapsummary;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Serial" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseSerialGC jdk.jfr.event.gc.heapsummary.TestHeapSummaryEventDefNewSerial
--- a/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventG1.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventG1.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.heapsummary;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "G1" | vm.gc == null)
* & vm.opt.ExplicitGCInvokesConcurrent != true
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSParOld.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSParOld.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.heapsummary;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseParallelGC jdk.jfr.event.gc.heapsummary.TestHeapSummaryEventPSParOld
--- a/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSSerial.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSSerial.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.heapsummary;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:-UseParallelOldGC -XX:+UseParallelGC jdk.jfr.event.gc.heapsummary.TestHeapSummaryEventPSSerial
--- a/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventParNewCMS.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventParNewCMS.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.heapsummary;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* & vm.opt.ExplicitGCInvokesConcurrent != true
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSConcurrent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSConcurrent.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.objectcount;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* & vm.opt.ExplicitGCInvokesConcurrent != false
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSMarkSweep.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSMarkSweep.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.objectcount;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* & vm.opt.ExplicitGCInvokesConcurrent != true
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.objectcount;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "G1" | vm.gc == null)
* & vm.opt.ExplicitGCInvokesConcurrent != false
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1FullCollection.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1FullCollection.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.objectcount;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "G1" | vm.gc == null)
* & vm.opt.ExplicitGCInvokesConcurrent != true
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithPSMarkSweep.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithPSMarkSweep.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.objectcount;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UseParallelGC -XX:-UseParallelOldGC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithPSMarkSweep
--- a/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithParallelOld.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithParallelOld.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.objectcount;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithParallelOld
--- a/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithSerial.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithSerial.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.objectcount;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Serial" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseSerialGC -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithSerial
--- a/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Serial" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseSerialGC -XX:-UseCompressedOops -XX:MarkSweepDeadRatio=0 -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountEvent
--- a/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSConcurrent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSConcurrent.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.refstat;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* & vm.opt.ExplicitGCInvokesConcurrent != false
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSMarkSweep.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSMarkSweep.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.refstat;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "ConcMarkSweep" | vm.gc == null) & !vm.graal.enabled
* & vm.opt.ExplicitGCInvokesConcurrent != true
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithDefNew.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithDefNew.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.refstat;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Serial" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xlog:gc+heap=trace,gc*=debug -Xmx50m -Xmn2m -XX:+UseSerialGC jdk.jfr.event.gc.refstat.TestRefStatEventWithDefNew
--- a/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1ConcurrentMark.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1ConcurrentMark.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.refstat;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "G1" | vm.gc == null)
* & vm.opt.ExplicitGCInvokesConcurrent != false
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1FullCollection.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1FullCollection.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.refstat;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires (vm.gc == "G1" | vm.gc == null)
* & vm.opt.ExplicitGCInvokesConcurrent != true
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1New.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1New.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.refstat;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "G1" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xlog:gc+heap=trace,gc*=debug -Xmx50m -Xmn2m -XX:+UseG1GC jdk.jfr.event.gc.refstat.TestRefStatEventWithG1New
--- a/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithPSMarkSweep.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithPSMarkSweep.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.refstat;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xlog:gc+heap=trace,gc*=debug -XX:+UseParallelGC -XX:-UseParallelOldGC jdk.jfr.event.gc.refstat.TestRefStatEventWithPSMarkSweep
--- a/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelOld.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelOld.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.refstat;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xlog:gc+heap=trace,gc*=debug -XX:+UseParallelGC -XX:+UseParallelOldGC jdk.jfr.event.gc.refstat.TestRefStatEventWithParallelOld
--- a/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelScavenge.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelScavenge.java Thu Jul 26 10:00:40 2018 -0700
@@ -26,9 +26,10 @@
package jdk.jfr.event.gc.refstat;
import jdk.test.lib.jfr.GCHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xlog:gc+heap=trace,gc*=debug -Xmx50m -Xmn2m -XX:-UseLargePages -XX:+UseParallelGC -XX:-UseAdaptiveSizePolicy jdk.jfr.event.gc.refstat.TestRefStatEventWithParallelScavenge
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestConcMarkSweepAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestConcMarkSweepAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "null" | vm.gc == "ConcMarkSweep") & !vm.graal.enabled
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestDefNewAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestDefNewAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "null" | vm.gc == "Serial"
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestG1HumongousAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestG1HumongousAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "null" | vm.gc == "G1"
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestG1OldAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestG1OldAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "null" | vm.gc == "G1"
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestG1YoungAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestG1YoungAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "null" | vm.gc == "G1"
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestMarkSweepCompactAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestMarkSweepCompactAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "null" | vm.gc == "Serial"
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceConcMarkSweepGCAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceConcMarkSweepGCAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "null" | vm.gc == "ConcMarkSweep") & !vm.graal.enabled
* @requires !(vm.compMode == "Xcomp" & os.arch == "aarch64")
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceG1GCAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceG1GCAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -23,9 +23,10 @@
* questions.
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "null" | vm.gc == "G1"
* @requires !(vm.compMode == "Xcomp" & os.arch == "aarch64")
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceParallelGCAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceParallelGCAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "null" | vm.gc == "Parallel"
* @requires !(vm.compMode == "Xcomp" & os.arch == "aarch64")
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceSerialGCAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestMetaspaceSerialGCAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "null" | vm.gc == "Serial"
* @requires !(vm.compMode == "Xcomp" & os.arch == "aarch64")
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestParNewAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestParNewAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires (vm.gc == "null" | vm.gc == "ConcMarkSweep") & !vm.graal.enabled
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "null" | vm.gc == "Parallel"
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/gc/stacktrace/TestParallelScavengeAllocationPendingStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/gc/stacktrace/TestParallelScavengeAllocationPendingStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -24,9 +24,10 @@
*/
package jdk.jfr.event.gc.stacktrace;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @requires vm.gc == "null" | vm.gc == "Parallel"
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/io/EvilInstrument.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/io/EvilInstrument.java Thu Jul 26 10:00:40 2018 -0700
@@ -46,6 +46,7 @@
* @summary This test runs JFR with a javaagent that reads/writes files and
* sockets during every class definition. This is to verify that the i/o
* instrumentation in JFR does not interfere with javaagents.
+ * @requires vm.hasJFR
*
* @library /test/lib /test/jdk
* @modules java.instrument
--- a/test/jdk/jdk/jfr/event/io/TestDisabledEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/io/TestDisabledEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,10 +39,11 @@
import jdk.jfr.consumer.RecordedEvent;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test with FlightRecorder enabled but with the events disabled.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.event.io.TestDisabledEvents
*/
--- a/test/jdk/jdk/jfr/event/io/TestFileChannelEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/io/TestFileChannelEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,9 +39,10 @@
import jdk.jfr.consumer.RecordedEvent;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.event.io.TestFileChannelEvents
*/
--- a/test/jdk/jdk/jfr/event/io/TestFileReadOnly.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/io/TestFileReadOnly.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,9 +40,10 @@
import jdk.jfr.consumer.RecordedEvent;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.event.io.TestFileReadOnly
*/
--- a/test/jdk/jdk/jfr/event/io/TestFileStreamEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/io/TestFileStreamEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.jfr.consumer.RecordedEvent;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test TestFileStreamEvents
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.event.io.TestFileStreamEvents
*/
--- a/test/jdk/jdk/jfr/event/io/TestInstrumentation.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/io/TestInstrumentation.java Thu Jul 26 10:00:40 2018 -0700
@@ -47,6 +47,7 @@
* @test
* @summary Test that will instrument the same classes that JFR will also instrument.
* @key jfr
+ * @requires vm.hasJFR
*
* @library /test/lib /test/jdk
* @modules java.base/jdk.internal.org.objectweb.asm
--- a/test/jdk/jdk/jfr/event/io/TestRandomAccessFileEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/io/TestRandomAccessFileEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,9 +37,10 @@
import jdk.jfr.consumer.RecordedEvent;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.event.io.TestRandomAccessFileEvents
*/
--- a/test/jdk/jdk/jfr/event/io/TestRandomAccessFileThread.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/io/TestRandomAccessFileThread.java Thu Jul 26 10:00:40 2018 -0700
@@ -42,10 +42,11 @@
import jdk.test.lib.thread.XRun;
-/*
+/**
* @test
* @summary Verify the event time stamp and thread name
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.event.io.TestRandomAccessFileThread
*/
--- a/test/jdk/jdk/jfr/event/io/TestSocketChannelEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/io/TestSocketChannelEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -41,9 +41,10 @@
import jdk.test.lib.thread.TestThread;
import jdk.test.lib.thread.XRun;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.event.io.TestSocketChannelEvents
*/
--- a/test/jdk/jdk/jfr/event/io/TestSocketEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/io/TestSocketEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -42,9 +42,10 @@
import jdk.test.lib.thread.TestThread;
import jdk.test.lib.thread.XRun;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.event.io.TestSocketEvents
*/
--- a/test/jdk/jdk/jfr/event/metadata/TestDefaultConfigurations.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/metadata/TestDefaultConfigurations.java Thu Jul 26 10:00:40 2018 -0700
@@ -53,9 +53,10 @@
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @library /test/lib
* @modules java.xml
--- a/test/jdk/jdk/jfr/event/metadata/TestEventMetadata.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/metadata/TestEventMetadata.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.metadata.TestEventMetadata
*/
--- a/test/jdk/jdk/jfr/event/oldobject/TestAllocationTime.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestAllocationTime.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,9 +37,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestArrayInformation.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestArrayInformation.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,9 +36,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestCMS.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestCMS.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null" & !vm.graal.enabled
* @summary Test leak profiler with CMS GC
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/oldobject/TestCircularReference.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestCircularReference.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestClassLoaderLeak.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestClassLoaderLeak.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestFieldInformation.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestFieldInformation.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestG1.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestG1.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @summary Test leak profiler with G1 GC
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/oldobject/TestHeapDeep.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestHeapDeep.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestHeapShallow.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestHeapShallow.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.jfr.internal.test.WhiteBox;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestLargeRootSet.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestLargeRootSet.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestLastKnownHeapUsage.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestLastKnownHeapUsage.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,9 +37,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestListenerLeak.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestListenerLeak.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestMetadataRetention.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestMetadataRetention.java Thu Jul 26 10:00:40 2018 -0700
@@ -41,9 +41,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.TestClassLoader;
-/*
+/**
* @test
* @summary The test verifies that an old object sample maintains references to "stale" metadata
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @key jfr
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestObjectDescription.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestObjectDescription.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,9 +39,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestParallel.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestParallel.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @summary Test leak profiler with Parallel GC
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/oldobject/TestParallelOld.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestParallelOld.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @summary Test leak profiler with Parallel Old GC
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/oldobject/TestReferenceChainLimit.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestReferenceChainLimit.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
--- a/test/jdk/jdk/jfr/event/oldobject/TestSanityDefault.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestSanityDefault.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @library /test/lib /test/jdk
* @summary Purpose of this test is to run leak profiler without command line tweaks or WhiteBox hacks until we succeed
--- a/test/jdk/jdk/jfr/event/oldobject/TestSerial.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestSerial.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @requires vm.gc == "null"
* @summary Test leak profiler with Serial GC
* @library /test/lib /test/jdk
--- a/test/jdk/jdk/jfr/event/oldobject/TestThreadLocalLeak.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/oldobject/TestThreadLocalLeak.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal.test
* @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestThreadLocalLeak
--- a/test/jdk/jdk/jfr/event/os/TestCPUInformation.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/os/TestCPUInformation.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.os.TestCPUInformation
*/
--- a/test/jdk/jdk/jfr/event/os/TestCPULoad.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/os/TestCPULoad.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.os.TestCPULoad
*/
--- a/test/jdk/jdk/jfr/event/os/TestCPUTimeStampCounter.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/os/TestCPUTimeStampCounter.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.os.TestCPUTimeStampCounter
*/
--- a/test/jdk/jdk/jfr/event/os/TestInitialEnvironmentVariable.sh Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/os/TestInitialEnvironmentVariable.sh Thu Jul 26 10:00:40 2018 -0700
@@ -22,9 +22,11 @@
#
# @test
# @key jfr
+# @requires vm.hasJFR
# @library /test/lib
# @build jdk.jfr.event.os.TestInitialEnvironmentVariable
# @run shell TestInitialEnvironmentVariable.sh
+
echo -------------------------------------------------------------
echo "TESTCLASSES='$TESTCLASSES'"
echo "TESTSRC='$TESTSRC'"
--- a/test/jdk/jdk/jfr/event/os/TestOSInfo.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/os/TestOSInfo.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.os.TestOSInfo
*/
--- a/test/jdk/jdk/jfr/event/os/TestPhysicalMemoryEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/os/TestPhysicalMemoryEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.os.TestPhysicalMemoryEvent
*/
--- a/test/jdk/jdk/jfr/event/os/TestSystemProcess.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/os/TestSystemProcess.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.os.TestSystemProcess
*/
--- a/test/jdk/jdk/jfr/event/os/TestThreadContextSwitches.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/os/TestThreadContextSwitches.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.os.TestThreadContextSwitches
*/
--- a/test/jdk/jdk/jfr/event/profiling/TestFullStackTrace.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/profiling/TestFullStackTrace.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.RecurseThread;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.profiling.TestFullStackTrace
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestActiveRecordingEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestActiveRecordingEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -43,10 +43,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Tests that the recording properties are properly reflected in the ActiveRecording event
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestActiveRecordingEvent
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,10 +40,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Tests that active setting are available in the ActiveSettingevent
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestActiveSettingEvent
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestBiasedLockRevocationEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestBiasedLockRevocationEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,9 +37,10 @@
import java.util.concurrent.FutureTask;
import java.util.stream.Collectors;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
*
* @run main/othervm jdk.jfr.event.runtime.TestBiasedLockRevocationEvents
--- a/test/jdk/jdk/jfr/event/runtime/TestClassDefineEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestClassDefineEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,9 +36,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.TestClassLoader;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @build jdk.jfr.event.runtime.TestClasses
* @run main/othervm jdk.jfr.event.runtime.TestClassDefineEvent
--- a/test/jdk/jdk/jfr/event/runtime/TestClassLoadEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestClassLoadEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,9 +37,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.TestClassLoader;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @build jdk.jfr.event.runtime.TestClasses
* @run main/othervm jdk.jfr.event.runtime.TestClassLoadEvent
--- a/test/jdk/jdk/jfr/event/runtime/TestClassLoaderStatsEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestClassLoaderStatsEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,9 +39,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @build jdk.jfr.event.runtime.TestClasses
* @run main/othervm jdk.jfr.event.runtime.TestClassLoaderStatsEvent
--- a/test/jdk/jdk/jfr/event/runtime/TestClassLoadingStatisticsEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestClassLoadingStatisticsEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.TestClassLoader;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @build jdk.jfr.event.runtime.TestClasses
* @run main/othervm jdk.jfr.event.runtime.TestClassLoadingStatisticsEvent
--- a/test/jdk/jdk/jfr/event/runtime/TestClassUnloadEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestClassUnloadEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.TestClassLoader;
-/*
+/**
* @test
* @summary The test verifies that a class unload event is created when class is unloaded
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @build jdk.jfr.event.runtime.TestClasses
* @run main/othervm -Xlog:class+unload -Xlog:gc -Xmx16m jdk.jfr.event.runtime.TestClassUnloadEvent
--- a/test/jdk/jdk/jfr/event/runtime/TestExceptionEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestExceptionEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestExceptionEvents
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestExceptionSubclass.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestExceptionSubclass.java Thu Jul 26 10:00:40 2018 -0700
@@ -27,10 +27,11 @@
import java.util.concurrent.TimeUnit;
-/*
+/**
* @test
* @key jfr
* @bug 8013122
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestExceptionSubclass
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestJavaBlockedEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestJavaBlockedEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,9 +40,10 @@
import jdk.test.lib.thread.TestThread;
import jdk.test.lib.thread.XRun;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
*
* @run main/othervm jdk.jfr.event.runtime.TestJavaBlockedEvent
--- a/test/jdk/jdk/jfr/event/runtime/TestJavaMonitorInflateEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestJavaMonitorInflateEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.thread.TestThread;
import jdk.test.lib.thread.XRun;
-/*
+/**
* @test TestJavaMonitorInflateEvent
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestJavaMonitorInflateEvent
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestJavaMonitorWaitEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestJavaMonitorWaitEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.thread.TestThread;
import jdk.test.lib.thread.XRun;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestJavaMonitorWaitEvent
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestJavaMonitorWaitTimeOut.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestJavaMonitorWaitTimeOut.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestJavaMonitorWaitTimeOut
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestJavaThreadStatisticsEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestJavaThreadStatisticsEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,9 +37,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestJavaThreadStatisticsEvent
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestJavaThreadStatisticsEventBean.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestJavaThreadStatisticsEventBean.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,9 +37,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
*
* @run main/othervm jdk.jfr.event.runtime.TestJavaThreadStatisticsEventBean
--- a/test/jdk/jdk/jfr/event/runtime/TestModuleEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestModuleEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Tests the JFR events related to modules
* @key jfr
+ * @requires vm.hasJFR
* @requires !vm.graal.enabled
* @library /test/lib
* @run main/othervm --limit-modules java.base,jdk.jfr jdk.jfr.event.runtime.TestModuleEvents
--- a/test/jdk/jdk/jfr/event/runtime/TestNativeLibrariesEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestNativeLibrariesEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,9 +37,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestNativeLibrariesEvent
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestNetworkUtilizationEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestNetworkUtilizationEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -43,9 +43,10 @@
import static java.util.stream.Collectors.averagingLong;
import static java.util.stream.Collectors.groupingBy;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
*
* @run main/othervm jdk.jfr.event.runtime.TestNetworkUtilizationEvent
--- a/test/jdk/jdk/jfr/event/runtime/TestSafepointEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestSafepointEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.jfr.Events;
import sun.hotspot.WhiteBox;
-/*
+/**
* @test TestSafepointEvents
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @build sun.hotspot.WhiteBox
* @run main ClassFileInstaller sun.hotspot.WhiteBox
--- a/test/jdk/jdk/jfr/event/runtime/TestSizeTFlags.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestSizeTFlags.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @bug 8058552
+ * @requires vm.hasJFR
* @requires vm.gc == "G1" | vm.gc == null
* @key jfr
* @summary Test checks that flags of type size_t are being sent to the jfr
--- a/test/jdk/jdk/jfr/event/runtime/TestSystemPropertyEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestSystemPropertyEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestSystemPropertyEvent
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestThreadAllocationEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestThreadAllocationEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -43,9 +43,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr
* jdk.management
--- a/test/jdk/jdk/jfr/event/runtime/TestThreadCpuTimeEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestThreadCpuTimeEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -43,9 +43,10 @@
import java.util.concurrent.CyclicBarrier;
import java.util.stream.Collectors;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr
* jdk.management
--- a/test/jdk/jdk/jfr/event/runtime/TestThreadDumpEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestThreadDumpEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestThreadDumpEvent
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestThreadParkEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestThreadParkEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -41,9 +41,10 @@
import jdk.test.lib.thread.TestThread;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
*
* @run main/othervm jdk.jfr.event.runtime.TestThreadParkEvent
--- a/test/jdk/jdk/jfr/event/runtime/TestThreadSleepEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestThreadSleepEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestThreadSleepEvent
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestThreadStartEndEvents.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestThreadStartEndEvents.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.event.runtime.TestThreadStartEndEvents
*/
--- a/test/jdk/jdk/jfr/event/runtime/TestThrowableInstrumentation.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestThrowableInstrumentation.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,10 +29,11 @@
import java.util.Objects;
import jdk.test.lib.Platform;
-/*
+/**
* @test
* @bug 8153324
* @summary Verify instrumented Throwable bytecode by compiling it with C1.
+ * @requires vm.hasJFR
* @library /test/lib
* @modules java.base/jdk.internal.misc
* java.management
--- a/test/jdk/jdk/jfr/event/runtime/TestVMInfoEvent.sh Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestVMInfoEvent.sh Thu Jul 26 10:00:40 2018 -0700
@@ -22,6 +22,7 @@
#
# @test
# @key jfr
+# @requires vm.hasJFR
# @library /test/lib /test/jdk
# @build jdk.jfr.event.runtime.TestVMInfoEvent
# @run shell TestVMInfoEvent.sh
--- a/test/jdk/jdk/jfr/event/runtime/TestVMOperation.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestVMOperation.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,8 +34,9 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
+ * @requires vm.hasJFR
* @requires vm.gc == "Parallel" | vm.gc == null
* @key jfr
* @library /test/lib
--- a/test/jdk/jdk/jfr/event/runtime/TestVmFlagChangedEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/runtime/TestVmFlagChangedEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,9 +37,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test TestVmFlagChangedEvent
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr
* jdk.management
--- a/test/jdk/jdk/jfr/event/sampling/TestNative.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/event/sampling/TestNative.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,6 +40,7 @@
/*
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules java.base/jdk.internal.misc
* @run main/native jdk.jfr.event.sampling.TestNative
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdChangeLogLevel.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdChangeLogLevel.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.test.lib.dcmd.JcmdExecutor;
import jdk.test.lib.dcmd.PidJcmdExecutor;
-/*
+/**
* @test TestJcmdLogLevelChange
* @key jfr
* @summary Test changing log level
+ * @requires vm.hasJFR
*
* @library /test/lib /test/jdk
*
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdConfigure.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdConfigure.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.jfr.internal.Options;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary The test verifies JFR.configure command
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.jcmd.TestJcmdConfigure
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdDump.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdDump.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary The test verifies JFR.dump command
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:FlightRecorderOptions:maxchunksize=1M jdk.jfr.jcmd.TestJcmdDump
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdDumpGeneratedFilename.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdDumpGeneratedFilename.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.test.lib.jfr.FileHelper;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary The test verifies JFR.dump command
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jcmd.TestJcmdDumpGeneratedFilename
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdDumpLimited.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdDumpLimited.java Thu Jul 26 10:00:40 2018 -0700
@@ -43,10 +43,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary The test verifies JFR.dump command
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jcmd.TestJcmdDumpLimited
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java Thu Jul 26 10:00:40 2018 -0700
@@ -41,9 +41,10 @@
import jdk.jfr.internal.test.WhiteBox;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @summary Start a recording with or without path-to-gc-roots
+ * @requires vm.hasJFR
* @modules jdk.jfr/jdk.jfr.internal.test
* @library /test/lib /test/jdk
* @key jfr
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdLegacy.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdLegacy.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,9 +38,10 @@
import jdk.test.lib.jfr.FileHelper;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test TestClassId
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.jcmd.TestJcmdLegacy
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdSaveToFile.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdSaveToFile.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.test.lib.jfr.FileHelper;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary The test verifies that recording can be written to a file both with JFR.start and JFR.stop
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jcmd.TestJcmdSaveToFile
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdStartDirNotExist.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdStartDirNotExist.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Verify error when starting with a dir that does not exist.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jcmd.TestJcmdStartDirNotExist
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdStartInvaldFile.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdStartInvaldFile.java Thu Jul 26 10:00:40 2018 -0700
@@ -27,10 +27,11 @@
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Verify error when starting with invalid file.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jcmd.TestJcmdStartInvaldFile
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdStartPathToGCRoots.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdStartPathToGCRoots.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @summary Start a recording with or without path-to-gc-roots
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @key jfr
*
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdStartReadOnlyFile.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdStartReadOnlyFile.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.test.lib.jfr.FileHelper;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Verify error when starting with read-only file.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jcmd.TestJcmdStartReadOnlyFile
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdStartStopDefault.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdStartStopDefault.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.jfr.FileHelper;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Start a recording without name.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jcmd.TestJcmdStartStopDefault
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdStartWithOptions.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdStartWithOptions.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.jfr.RecordingState;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary The test verifies that recording can be started with options delay|duration|maxage|maxsize
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:+FlightRecorder -XX:FlightRecorderOptions=maxchunksize=2097152 jdk.jfr.jcmd.TestJcmdStartWithOptions
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdStartWithSettings.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdStartWithSettings.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary The test verifies that recording can be started with setting file(s)
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jcmd.TestJcmdStartWithSettings
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdStopInvalidFile.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdStopInvalidFile.java Thu Jul 26 10:00:40 2018 -0700
@@ -27,10 +27,11 @@
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Verify error when stopping with invalid file.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jcmd.TestJcmdStopInvalidFile
*/
--- a/test/jdk/jdk/jfr/jcmd/TestJcmdStopReadOnlyFile.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jcmd/TestJcmdStopReadOnlyFile.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.test.lib.jfr.FileHelper;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Verify error when stopping with read-only file.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jcmd.TestJcmdStopReadOnlyFile
*/
--- a/test/jdk/jdk/jfr/jmx/TestClone.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestClone.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,9 +40,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestClone
*/
--- a/test/jdk/jdk/jfr/jmx/TestCloneRepeat.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestCloneRepeat.java Thu Jul 26 10:00:40 2018 -0700
@@ -39,9 +39,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestCloneRepeat
*/
--- a/test/jdk/jdk/jfr/jmx/TestConfigurationInfo.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestConfigurationInfo.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.management.jfr.ConfigurationInfo;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestConfigurationInfo
*/
--- a/test/jdk/jdk/jfr/jmx/TestCopyTo.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestCopyTo.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestCopyTo
*/
--- a/test/jdk/jdk/jfr/jmx/TestCopyToInvalidPath.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestCopyToInvalidPath.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestCopyToInvalidPath
*/
--- a/test/jdk/jdk/jfr/jmx/TestCopyToReadOnlyDir.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestCopyToReadOnlyDir.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.FileHelper;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestCopyToReadOnlyDir
*/
--- a/test/jdk/jdk/jfr/jmx/TestCopyToRunning.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestCopyToRunning.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @key jfr
* @summary Copy a recording to file while it is running.
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestCopyToRunning
*/
--- a/test/jdk/jdk/jfr/jmx/TestEventTypes.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestEventTypes.java Thu Jul 26 10:00:40 2018 -0700
@@ -42,10 +42,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @key jfr
* @summary Verifies that EventTypes from jmx and FlightRecorder are the same.
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestEventTypes
*/
--- a/test/jdk/jdk/jfr/jmx/TestGetRecordings.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestGetRecordings.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,9 +30,10 @@
import jdk.management.jfr.FlightRecorderMXBean;
import jdk.management.jfr.RecordingInfo;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestGetRecordings
*/
--- a/test/jdk/jdk/jfr/jmx/TestGetRecordingsMultiple.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestGetRecordingsMultiple.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.management.jfr.RecordingInfo;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestGetRecordingsMultiple
*/
--- a/test/jdk/jdk/jfr/jmx/TestMultipleRecordings.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestMultipleRecordings.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.management.jfr.FlightRecorderMXBean;
import jdk.management.jfr.RecordingInfo;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestMultipleRecordings
*/
--- a/test/jdk/jdk/jfr/jmx/TestNotificationListener.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestNotificationListener.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.management.jfr.FlightRecorderMXBean;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestNotificationListener
*/
--- a/test/jdk/jdk/jfr/jmx/TestPredefinedConfiguration.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestPredefinedConfiguration.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.management.jfr.RecordingInfo;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestPredefinedConfiguration
*/
--- a/test/jdk/jdk/jfr/jmx/TestPredefinedConfigurationInvalid.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestPredefinedConfigurationInvalid.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestPredefinedConfigurationInvalid
*/
--- a/test/jdk/jdk/jfr/jmx/TestRecordingOptions.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestRecordingOptions.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.management.jfr.FlightRecorderMXBean;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestRecordingOptions
*/
--- a/test/jdk/jdk/jfr/jmx/TestRecordingSettings.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestRecordingSettings.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.management.jfr.FlightRecorderMXBean;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestRecordingSettings
*/
--- a/test/jdk/jdk/jfr/jmx/TestRecordingSettingsInvalid.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestRecordingSettingsInvalid.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.management.jfr.FlightRecorderMXBean;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
* @summary Verify exception when setting invalid settings.
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestRecordingSettingsInvalid
*/
--- a/test/jdk/jdk/jfr/jmx/TestRecordingSettingsMultiple.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestRecordingSettingsMultiple.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,9 +30,10 @@
import jdk.management.jfr.FlightRecorderMXBean;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestRecordingSettingsMultiple
*/
--- a/test/jdk/jdk/jfr/jmx/TestRecordingState.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestRecordingState.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.management.jfr.FlightRecorderMXBean;
import jdk.management.jfr.RecordingInfo;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestRecordingState
*/
--- a/test/jdk/jdk/jfr/jmx/TestRecordingStateInvalid.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestRecordingStateInvalid.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestRecordingStateInvalid
*/
--- a/test/jdk/jdk/jfr/jmx/TestSetConfiguration.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestSetConfiguration.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestSetConfiguration
*/
--- a/test/jdk/jdk/jfr/jmx/TestSetConfigurationInvalid.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestSetConfigurationInvalid.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.EventNames;
-/*
+/**
* @test
* @key jfr
* @summary Verify Exception when setting invalid config.
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestSetConfigurationInvalid
*/
--- a/test/jdk/jdk/jfr/jmx/TestSnapshot.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestSnapshot.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,8 +34,10 @@
import jdk.management.jfr.RecordingInfo;
import jdk.test.lib.jfr.SimpleEvent;
-/* @test
+/**
+ * @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestSnapshot
*/
--- a/test/jdk/jdk/jfr/jmx/TestStartRecording.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestStartRecording.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.management.jfr.EventTypeInfo;
import jdk.management.jfr.FlightRecorderMXBean;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestStartRecording
*/
--- a/test/jdk/jdk/jfr/jmx/TestStream.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestStream.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,9 +35,10 @@
import jdk.management.jfr.FlightRecorderMXBean;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestStream
*/
--- a/test/jdk/jdk/jfr/jmx/TestStreamClosed.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestStreamClosed.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @key jfr
* @summary Call readStream() after closeStream()
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestStreamClosed
*/
--- a/test/jdk/jdk/jfr/jmx/TestStreamMultiple.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestStreamMultiple.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.SimpleEventHelper;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestStreamMultiple
*/
--- a/test/jdk/jdk/jfr/jmx/TestWrongId.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/TestWrongId.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @key jfr
* @summary Call functions with invalid argument id. Verify Exception.
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.TestWrongId
*/
--- a/test/jdk/jdk/jfr/jmx/info/TestConfigurationInfo.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/info/TestConfigurationInfo.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.management.jfr.ConfigurationInfo;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
* @summary Test for ConfigurationInfo. Compare infos from java API and jmx API.
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.info.TestConfigurationInfo
*/
--- a/test/jdk/jdk/jfr/jmx/info/TestEventTypeInfo.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/info/TestEventTypeInfo.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.management.jfr.FlightRecorderMXBean;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
* @summary Test for EventTypeInfo
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.info.TestEventTypeInfo
*/
--- a/test/jdk/jdk/jfr/jmx/info/TestRecordingInfo.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/info/TestRecordingInfo.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.management.jfr.RecordingInfo;
import jdk.test.lib.jfr.CommonHelper;
-/*
+/**
* @test
* @key jfr
* @summary Test for RecordingInfo
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.info.TestRecordingInfo
*/
--- a/test/jdk/jdk/jfr/jmx/info/TestSettingDescriptorInfo.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/info/TestSettingDescriptorInfo.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.management.jfr.EventTypeInfo;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
* @summary Test for SettingDescriptorInfo. Compare infos from java API and jmx API.
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm jdk.jfr.jmx.info.TestSettingDescriptorInfo
*/
--- a/test/jdk/jdk/jfr/jmx/security/TestEnoughPermission.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/security/TestEnoughPermission.java Thu Jul 26 10:00:40 2018 -0700
@@ -35,10 +35,11 @@
import jdk.management.jfr.FlightRecorderMXBean;
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @key jfr
* @summary Test with minimal needed permissions. All functions should work.
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm/secure=java.lang.SecurityManager/java.security.policy=enough.policy jdk.jfr.jmx.security.TestEnoughPermission
*/
--- a/test/jdk/jdk/jfr/jmx/security/TestNoControlPermission.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/security/TestNoControlPermission.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @key jfr
* @summary Verify we get SecurityExceptions when missing management permission "control".
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm/secure=java.lang.SecurityManager/java.security.policy=nocontrol.policy jdk.jfr.jmx.security.TestNoControlPermission
*/
--- a/test/jdk/jdk/jfr/jmx/security/TestNoMonitorPermission.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/security/TestNoMonitorPermission.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.test.lib.jfr.CommonHelper;
import jdk.test.lib.jfr.VoidFunction;
-/*
+/**
* @test
* @key jfr
* @summary Verify we get SecurityExceptions when missing management permission "monitor".
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm/secure=java.lang.SecurityManager/java.security.policy=nomonitor.policy jdk.jfr.jmx.security.TestNoMonitorPermission
*/
--- a/test/jdk/jdk/jfr/jmx/security/TestNotificationListenerPermission.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jmx/security/TestNotificationListenerPermission.java Thu Jul 26 10:00:40 2018 -0700
@@ -37,10 +37,11 @@
import jdk.jfr.jmx.JmxHelper;
-/*
+/**
* @test
* @key jfr
* @summary Test with minimal needed permissions. All functions should work.
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm/secure=java.lang.SecurityManager/java.security.policy=listener.policy jdk.jfr.jmx.security.TestNotificationListenerPermission
*/
--- a/test/jdk/jdk/jfr/jvm/TestBeginAndEnd.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestBeginAndEnd.java Thu Jul 26 10:00:40 2018 -0700
@@ -27,9 +27,10 @@
import jdk.jfr.internal.JVM;
-/*
+/**
* @test TestBeginAndEnd
* @key jfr
+ * @requires vm.hasJFR
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.jvm.TestBeginAndEnd
*/
--- a/test/jdk/jdk/jfr/jvm/TestClassId.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestClassId.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,9 +31,10 @@
import jdk.jfr.internal.JVM;
import jdk.jfr.internal.Type;
-/*
+/**
* @test TestClassId
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.jvm.TestClassId
--- a/test/jdk/jdk/jfr/jvm/TestCounterTime.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestCounterTime.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.jfr.internal.JVM;
-/*
+/**
* @test TestCounterTime
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.jvm.TestCounterTime
--- a/test/jdk/jdk/jfr/jvm/TestCreateNative.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestCreateNative.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,10 +30,11 @@
import jdk.jfr.Recording;
import jdk.jfr.internal.JVM;
-/*
+/**
* @test
* @summary Checks that the JVM can rollback on native initialization failures.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.jvm.TestCreateNative
--- a/test/jdk/jdk/jfr/jvm/TestDumpOnCrash.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestDumpOnCrash.java Thu Jul 26 10:00:40 2018 -0700
@@ -36,10 +36,11 @@
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
-/*
+/**
* @test
* @key jfr
* @summary Verifies that data associated with a running recording can be evacuated to an hs_err_pidXXX.jfr when the VM crashes
+ * @requires vm.hasJFR
*
* @library /test/lib
* @modules java.base/jdk.internal.misc
--- a/test/jdk/jdk/jfr/jvm/TestGetAllEventClasses.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestGetAllEventClasses.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,9 +30,10 @@
import java.util.List;
-/*
+/**
* @test TestGetAllEventClasses
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @modules jdk.jfr/jdk.jfr.internal
*
--- a/test/jdk/jdk/jfr/jvm/TestGetEventWriter.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestGetEventWriter.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,9 +30,10 @@
import jdk.jfr.internal.EventWriter;
import jdk.jfr.internal.JVM;
-/*
+/**
* @test TestGetEventWriter
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
*
--- a/test/jdk/jdk/jfr/jvm/TestGetStackTraceId.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestGetStackTraceId.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.jfr.internal.JVM;
import jdk.test.lib.Asserts;
-/*
+/**
* @test TestGetStackTraceId
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.jvm.TestGetStackTraceId
--- a/test/jdk/jdk/jfr/jvm/TestJFRIntrinsic.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestJFRIntrinsic.java Thu Jul 26 10:00:40 2018 -0700
@@ -23,10 +23,11 @@
* questions.
*/
-/*
+/**
* @test
* @summary Intrinsic for JFR
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
*
* @modules jdk.jfr/jdk.jfr.internal
--- a/test/jdk/jdk/jfr/jvm/TestJavaEvent.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestJavaEvent.java Thu Jul 26 10:00:40 2018 -0700
@@ -40,9 +40,10 @@
import jdk.jfr.consumer.RecordedEvent;
import jdk.jfr.consumer.RecordingFile;
-/*
+/**
* @test TestGetThreadId
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.jvm.TestJavaEvent
--- a/test/jdk/jdk/jfr/jvm/TestJfrJavaBase.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestJfrJavaBase.java Thu Jul 26 10:00:40 2018 -0700
@@ -23,11 +23,12 @@
* questions.
*/
-/*
+/**
* @test
* @bug 8157032
* @key jfr
* @summary verify that jfr can not be used when JVM is executed only with java.base
+ * @requires vm.hasJFR
* @library /test/lib
* @modules java.base/jdk.internal.misc
* @run driver jdk.jfr.jvm.TestJfrJavaBase
--- a/test/jdk/jdk/jfr/jvm/TestLargeJavaEvent512k.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestLargeJavaEvent512k.java Thu Jul 26 10:00:40 2018 -0700
@@ -43,9 +43,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.Stressor;
-/*
+/**
* @test TestLargeJavaEvent512k
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
* java.base/jdk.internal.org.objectweb.asm
--- a/test/jdk/jdk/jfr/jvm/TestLargeJavaEvent64k.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestLargeJavaEvent64k.java Thu Jul 26 10:00:40 2018 -0700
@@ -43,9 +43,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.Stressor;
-/*
+/**
* @test TestLargeJavaEvent64k
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
* java.base/jdk.internal.org.objectweb.asm
--- a/test/jdk/jdk/jfr/jvm/TestLogImplementation.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestLogImplementation.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,9 +30,10 @@
import jdk.jfr.internal.LogTag;
import jdk.jfr.internal.LogLevel;
-/*
+/**
* @test TestLogImplementation
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.jvm.TestLogImplementation
--- a/test/jdk/jdk/jfr/jvm/TestLogOutput.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestLogOutput.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import java.util.ArrayList;
import java.util.List;
-/*
+/**
* @test TestLogOutput
* @key jfr
* @summary Sanity test jfr logging output
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -Xlog:disable -Xlog:jfr*=trace:file=jfr_trace.txt -XX:StartFlightRecording=duration=1s,filename=recording.jfr jdk.jfr.jvm.TestLogOutput
*/
--- a/test/jdk/jdk/jfr/jvm/TestPid.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestPid.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.jfr.internal.JVM;
-/*
+/**
* @test TestPid
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
* @run main/othervm jdk.jfr.jvm.TestPid
--- a/test/jdk/jdk/jfr/jvm/TestUnloadEventClassCount.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestUnloadEventClassCount.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.jfr.FlightRecorder;
import jdk.jfr.internal.JVM;
-/*
+/**
* @test
* @key jfr
* @summary Unit test for JVM#getUnloadedEventClassCount
+ * @requires vm.hasJFR
*
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
--- a/test/jdk/jdk/jfr/jvm/TestUnsupportedVM.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/jvm/TestUnsupportedVM.java Thu Jul 26 10:00:40 2018 -0700
@@ -64,9 +64,10 @@
import jdk.management.jfr.SettingDescriptorInfo;
import jdk.test.lib.Utils;
-/*
+/**
* @test TestUnsupportedVM
* @key jfr
+ * @requires vm.hasJFR
*
* @modules jdk.jfr
* jdk.management.jfr
--- a/test/jdk/jdk/jfr/startupargs/TestBadOptionValues.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestBadOptionValues.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @library /test/lib
* @modules java.base/jdk.internal.misc
--- a/test/jdk/jdk/jfr/startupargs/TestDumpOnExit.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestDumpOnExit.java Thu Jul 26 10:00:40 2018 -0700
@@ -38,10 +38,11 @@
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
-/*
+/**
* @test
* @summary Start a FlightRecording with dumponexit. Verify dump exists.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.startupargs.TestDumpOnExit
*/
--- a/test/jdk/jdk/jfr/startupargs/TestMemoryOptions.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestMemoryOptions.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,9 +33,10 @@
import jdk.test.lib.process.ProcessTools;
import jdk.internal.misc.Unsafe;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @modules jdk.jfr/jdk.jfr.internal
* java.base/jdk.internal.misc
--- a/test/jdk/jdk/jfr/startupargs/TestMultipleStartupRecordings.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestMultipleStartupRecordings.java Thu Jul 26 10:00:40 2018 -0700
@@ -29,9 +29,10 @@
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
*
* @library /test/lib
*
--- a/test/jdk/jdk/jfr/startupargs/TestOldObjectQueueSize.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestOldObjectQueueSize.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.jfr.EventNames;
import jdk.test.lib.jfr.Events;
-/*
+/**
* @test
* @summary Test -XX:FlightRecorderOptions=old-object-queue-size
+ * @requires vm.hasJFR
* @modules jdk.jfr/jdk.jfr.internal.test
* @library /test/lib
* @key jfr
--- a/test/jdk/jdk/jfr/startupargs/TestRepositoryPath.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestRepositoryPath.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Set repository path. Verify recording created in repo.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:StartFlightRecording=name=TestStartRecording,settings=profile -XX:FlightRecorderOptions=repository=./repo jdk.jfr.startupargs.TestRepositoryPath
*/
--- a/test/jdk/jdk/jfr/startupargs/TestRepositoryPathLong.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestRepositoryPathLong.java Thu Jul 26 10:00:40 2018 -0700
@@ -31,10 +31,11 @@
import jdk.test.lib.Asserts;
-/*
+/**
* @test
* @summary Set repository path. Verify recording created in repo.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:StartFlightRecording=name=myrec,settings=profile -XX:FlightRecorderOptions=repository=./subdirectory/subdirectory1/subdirectory2/subdirectory3/subdirectory4/subdirectory5/subdirectory6/subdirectory7/subdirectory8/subdirectory9/subdirectory10/subdirectory11/subdirectory12/subdirectory13/subdirectory14/subdirectory15 jdk.jfr.startupargs.TestRepositoryPathLong
*/
--- a/test/jdk/jdk/jfr/startupargs/TestRetransform.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestRetransform.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,9 +32,10 @@
import jdk.test.lib.jfr.Events;
import jdk.test.lib.jfr.SimpleEvent;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm -XX:FlightRecorderOptions=retransform=false jdk.jfr.startupargs.TestRetransform
* @run main/othervm -XX:FlightRecorderOptions=retransform=true jdk.jfr.startupargs.TestRetransform
--- a/test/jdk/jdk/jfr/startupargs/TestRetransformUsingLog.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestRetransformUsingLog.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,9 +34,10 @@
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib
* @run main/othervm jdk.jfr.startupargs.TestRetransformUsingLog
*/
--- a/test/jdk/jdk/jfr/startupargs/TestStartDelay.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestStartDelay.java Thu Jul 26 10:00:40 2018 -0700
@@ -33,10 +33,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.CommonHelper;
-/*
+/**
* @test
* @summary Start a recording with delay. Verify recording starts later.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:StartFlightRecording=name=TestStartDelay,delay=5000s jdk.jfr.startupargs.TestStartDelay
*/
--- a/test/jdk/jdk/jfr/startupargs/TestStartDelayRunning.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestStartDelayRunning.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.CommonHelper;
-/*
+/**
* @test
* @summary Verify that a recopding with a delay is started.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:StartFlightRecording=name=TestStartDelay,delay=1s jdk.jfr.startupargs.TestStartDelayRunning
*/
--- a/test/jdk/jdk/jfr/startupargs/TestStartDuration.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestStartDuration.java Thu Jul 26 10:00:40 2018 -0700
@@ -34,10 +34,11 @@
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
-/*
+/**
* @test
* @summary Start a recording with duration. Verify recording stops.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main jdk.jfr.startupargs.TestStartDuration
*/
--- a/test/jdk/jdk/jfr/startupargs/TestStartMaxAgeSize.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestStartMaxAgeSize.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.jfr.CommonHelper;
-/*
+/**
* @test
* @summary Start a recording with delay. Verify recording starts later.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:StartFlightRecording=name=TestStartMaxAgeSize,maxage=10s,maxsize=1000000 jdk.jfr.startupargs.TestStartMaxAgeSize
*/
--- a/test/jdk/jdk/jfr/startupargs/TestStartName.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestStartName.java Thu Jul 26 10:00:40 2018 -0700
@@ -30,9 +30,10 @@
import jdk.test.lib.process.OutputAnalyzer;
import jdk.test.lib.process.ProcessTools;
-/*
+/**
* @test
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main jdk.jfr.startupargs.TestStartName
*/
--- a/test/jdk/jdk/jfr/startupargs/TestStartRecording.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/jdk/jfr/startupargs/TestStartRecording.java Thu Jul 26 10:00:40 2018 -0700
@@ -32,10 +32,11 @@
import jdk.test.lib.Asserts;
import jdk.test.lib.process.OutputAnalyzer;
-/*
+/**
* @test
* @summary Start a recording with -XX:StartFlightRecording. Dump recording with jcmd.
* @key jfr
+ * @requires vm.hasJFR
* @library /test/lib /test/jdk
* @run main/othervm -XX:StartFlightRecording=name=TestStartRecording,settings=profile jdk.jfr.startupargs.TestStartRecording
*/
--- a/test/jdk/sun/security/pkcs11/PKCS11Test.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/sun/security/pkcs11/PKCS11Test.java Thu Jul 26 10:00:40 2018 -0700
@@ -154,7 +154,15 @@
public abstract void main(Provider p) throws Exception;
+ protected boolean skipTest(Provider p) {
+ return false;
+ }
+
private void premain(Provider p) throws Exception {
+ if (skipTest(p)) {
+ return;
+ }
+
// set a security manager and policy before a test case runs,
// and disable them after the test case finished
try {
@@ -327,9 +335,10 @@
}
static boolean isBadNSSVersion(Provider p) {
- if (isNSS(p) && badNSSVersion) {
+ double nssVersion = getNSSVersion();
+ if (isNSS(p) && nssVersion >= 3.11 && nssVersion < 3.12) {
System.out.println("NSS 3.11 has a DER issue that recent " +
- "version do not.");
+ "version do not, skipping");
return true;
}
return false;
@@ -409,7 +418,11 @@
return nss3_version;
try {
- libfile = getNSSLibDir() + System.mapLibraryName(library);
+ String libdir = getNSSLibDir();
+ if (libdir == null) {
+ return 0.0;
+ }
+ libfile = libdir + System.mapLibraryName(library);
try (FileInputStream is = new FileInputStream(libfile)) {
byte[] data = new byte[1000];
int read = 0;
@@ -663,9 +676,6 @@
private final static char[] hexDigits = "0123456789abcdef".toCharArray();
- static final boolean badNSSVersion =
- getNSSVersion() >= 3.11 && getNSSVersion() < 3.12;
-
private static final String distro = distro();
static final boolean badSolarisSparc =
--- a/test/jdk/sun/security/pkcs11/Secmod/TestNssDbSqlite.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/sun/security/pkcs11/Secmod/TestNssDbSqlite.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Red Hat, Inc. and/or its affiliates.
+ * Copyright (c) 2017, 2018, Red Hat, Inc. and/or its affiliates.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -26,6 +26,8 @@
* @test
* @bug 8165996
* @summary Test NSS DB Sqlite
+ * @comment There is no NSS on Aix.
+ * @requires os.family != "aix"
* @library ../
* @modules java.base/sun.security.rsa
* java.base/sun.security.provider
@@ -64,7 +66,9 @@
public static void main(String[] args) throws Exception {
- initialize();
+ if (!initialize()) {
+ return;
+ }
if (enableDebug) {
System.out.println("SunPKCS11 provider: " +
@@ -106,14 +110,15 @@
}
}
- private static void initialize() throws Exception {
- initializeProvider();
+ private static boolean initialize() throws Exception {
+ return initializeProvider();
}
- private static void initializeProvider () throws Exception {
+ private static boolean initializeProvider() throws Exception {
useSqlite(true);
if (!initSecmod()) {
- return;
+ System.out.println("Cannot init security module database, skipping");
+ return false;
}
sunPKCS11NSSProvider = getSunPKCS11(BASE + SEP + "nss-sqlite.cfg");
@@ -130,5 +135,7 @@
gen.generate(2048);
privateKey = gen.getPrivateKey();
certificate = gen.getSelfCertificate(new X500Name("CN=Me"), 365);
+
+ return true;
}
}
--- a/test/jdk/sun/security/pkcs11/Signature/TestDSAKeyLength.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/sun/security/pkcs11/Signature/TestDSAKeyLength.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -47,12 +47,17 @@
}
@Override
- public void main(Provider provider) throws Exception {
+ protected boolean skipTest(Provider provider) {
if (isNSS(provider) && getNSSVersion() >= 3.14) {
System.out.println("Skip testing NSS " + getNSSVersion());
- return;
+ return true;
}
+ return false;
+ }
+
+ @Override
+ public void main(Provider provider) throws Exception {
/*
* Use Solaris SPARC 11.2 or later to avoid an intermittent failure
* when running SunPKCS11-Solaris (8044554)
--- a/test/jdk/sun/security/pkcs11/ec/TestCurves.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/sun/security/pkcs11/ec/TestCurves.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 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
@@ -51,20 +51,21 @@
}
@Override
- public void main(Provider p) throws Exception {
+ protected boolean skipTest(Provider p) {
if (p.getService("KeyAgreement", "ECDH") == null) {
System.out.println("Not supported by provider, skipping");
- return;
+ return true;
}
- if (isBadNSSVersion(p)) {
- return;
+ if (isBadNSSVersion(p) || isBadSolarisSparc(p)) {
+ return true;
}
- if (isBadSolarisSparc(p)) {
- return;
- }
+ return false;
+ }
+ @Override
+ public void main(Provider p) throws Exception {
// Check if this is sparc for later failure avoidance.
boolean sparc = false;
if (props.getProperty("os.arch").equals("sparcv9")) {
--- a/test/jdk/sun/security/pkcs11/ec/TestECDH.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/sun/security/pkcs11/ec/TestECDH.java Thu Jul 26 10:00:40 2018 -0700
@@ -91,17 +91,22 @@
private final static String privBrainpoolP512r1b = "3062020100301406072a8648ce3d020106092b240303020801010d044730450201010440230e18e1bcc88a362fa54e4ea3902009292f7f8033624fd471b5d8ace49d12cfabbc19963dab8e2f1eba00bffb29e4d72d13f2224562f405cb80503666b25429";
private final static String secretBrainpoolP512r1 = "a7927098655f1f9976fa50a9d566865dc530331846381c87256baf3226244b76d36403c024d7bbf0aa0803eaff405d3d24f11a9b5c0bef679fe1454b21c4cd1f";
- @Override public void main(Provider p) throws Exception {
+ @Override
+ protected boolean skipTest(Provider p) {
if (p.getService("KeyAgreement", "ECDH") == null) {
System.out.println("Provider does not support ECDH, skipping");
- return;
+ return true;
}
if (isNSS(p) && getNSSECC() == ECCState.Basic) {
- System.out.println("NSS only supports Basic ECC. Skipping..");
- return;
+ System.out.println("NSS only supports Basic ECC, skipping");
+ return true;
}
+ return false;
+ }
+
+ @Override public void main(Provider p) throws Exception {
/*
* PKCS11Test.main will remove this provider if needed
*/
--- a/test/jdk/sun/security/pkcs11/ec/TestECDH2.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/sun/security/pkcs11/ec/TestECDH2.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 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
@@ -111,16 +111,21 @@
}
@Override
- public void main(Provider provider) throws Exception {
+ protected boolean skipTest(Provider provider) {
if (provider.getService("KeyAgreement", "ECDH") == null) {
System.out.println("ECDH not supported, skipping");
- return;
+ return true;
}
if (isBadNSSVersion(provider)) {
- return;
+ return true;
}
+ return false;
+ }
+
+ @Override
+ public void main(Provider provider) throws Exception {
kf = KeyFactory.getInstance("EC", provider);
kpg = KeyPairGenerator.getInstance("EC", provider);
--- a/test/jdk/sun/security/pkcs11/ec/TestECDSA.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/sun/security/pkcs11/ec/TestECDSA.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 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
@@ -120,21 +120,22 @@
}
@Override
- public void main(Provider provider) throws Exception {
- long start = System.currentTimeMillis();
-
+ protected boolean skipTest(Provider provider) {
if (provider.getService("Signature", "SHA1withECDSA") == null) {
System.out.println("ECDSA not supported, skipping");
- return;
+ return true;
}
- if (isBadNSSVersion(provider)) {
- return;
+ if (isBadNSSVersion(provider) || isBadSolarisSparc(provider)) {
+ return true;
}
- if (isBadSolarisSparc(provider)) {
- return;
- }
+ return false;
+ }
+
+ @Override
+ public void main(Provider provider) throws Exception {
+ long start = System.currentTimeMillis();
/*
* PKCS11Test.main will remove this provider if needed
--- a/test/jdk/sun/security/pkcs11/ec/TestECDSA2.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/sun/security/pkcs11/ec/TestECDSA2.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 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
@@ -102,6 +102,26 @@
}
@Override
+ protected boolean skipTest(Provider provider) {
+ boolean testP256 =
+ provider.getService("Signature", "SHA256withECDSA") != null;
+
+ boolean testP384 =
+ provider.getService("Signature", "SHA384withECDSA") != null;
+
+ if (!testP256 && !testP384) {
+ System.out.println("ECDSA not supported, skipping");
+ return true;
+ }
+
+ if (isBadNSSVersion(provider)) {
+ return true;
+ }
+
+ return false;
+ }
+
+ @Override
public void main(Provider provider) throws Exception {
boolean testP256 =
(provider.getService("Signature", "SHA256withECDSA") != null);
@@ -109,15 +129,6 @@
boolean testP384 =
(provider.getService("Signature", "SHA384withECDSA") != null);
- if (!testP256 && !testP384) {
- System.out.println("ECDSA not supported, skipping");
- return;
- }
-
- if (isBadNSSVersion(provider)) {
- return;
- }
-
kf = KeyFactory.getInstance("EC", provider);
long start = System.currentTimeMillis();
--- a/test/jdk/sun/security/pkcs11/ec/TestECGenSpec.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/sun/security/pkcs11/ec/TestECGenSpec.java Thu Jul 26 10:00:40 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 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
@@ -47,16 +47,21 @@
}
@Override
- public void main(Provider p) throws Exception {
+ protected boolean skipTest(Provider p) {
if (p.getService("Signature", "SHA1withECDSA") == null) {
System.out.println("Provider does not support ECDSA, skipping...");
- return;
+ return true;
}
if (isBadNSSVersion(p)) {
- return;
+ return true;
}
+ return false;
+ }
+
+ @Override
+ public void main(Provider p) throws Exception {
String[] names = { "secp256r1", "NIST P-192", "sect163k1", "1.3.132.0.26",
"X9.62 c2tnb239v1"};
int curves = 1;
--- a/test/jdk/tools/jimage/JImageListTest.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/tools/jimage/JImageListTest.java Thu Jul 26 10:00:40 2018 -0700
@@ -224,6 +224,8 @@
public static void main(String[] args) throws Throwable {
new JImageListTest().runTests();
+ // Just to ensure that jimage files will be unmapped
+ System.gc();
}
}
--- a/test/jdk/tools/launcher/SourceMode.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jdk/tools/launcher/SourceMode.java Thu Jul 26 10:00:40 2018 -0700
@@ -21,7 +21,7 @@
* questions.
*/
-/*
+/**
* @test
* @bug 8192920 8204588
* @summary Test source mode
@@ -298,11 +298,11 @@
@Test
void testTerminalOptionInShebang() throws IOException {
starting("testTerminalOptionInShebang");
- if (skipShebangTest || isMacOSX || isSolaris) {
+ if (skipShebangTest || isAIX || isMacOSX || isSolaris) {
// On MacOSX, we cannot distinguish between terminal options on the
// shebang line and those on the command line.
// On Solaris, all options after the first on the shebang line are
- // ignored.
+ // ignored. Similar on AIX.
log.println("SKIPPED");
return;
}
@@ -322,11 +322,11 @@
@Test
void testTerminalOptionInShebangAtFile() throws IOException {
starting("testTerminalOptionInShebangAtFile");
- if (skipShebangTest || isMacOSX || isSolaris) {
+ if (skipShebangTest || isAIX || isMacOSX || isSolaris) {
// On MacOSX, we cannot distinguish between terminal options in a
// shebang @-file and those on the command line.
// On Solaris, all options after the first on the shebang line are
- // ignored.
+ // ignored. Similar on AIX.
log.println("SKIPPED");
return;
}
@@ -349,11 +349,11 @@
@Test
void testMainClassInShebang() throws IOException {
starting("testMainClassInShebang");
- if (skipShebangTest || isMacOSX || isSolaris) {
+ if (skipShebangTest || isAIX || isMacOSX || isSolaris) {
// On MacOSX, we cannot distinguish between a main class on the
// shebang line and one on the command line.
// On Solaris, all options after the first on the shebang line are
- // ignored.
+ // ignored. Similar on AIX.
log.println("SKIPPED");
return;
}
--- a/test/jtreg-ext/requires/VMProps.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/jtreg-ext/requires/VMProps.java Thu Jul 26 10:00:40 2018 -0700
@@ -79,6 +79,9 @@
// vm.hasSAandCanAttach is "true" if the VM contains the serviceability agent
// and jhsdb and it can attach to the VM.
map.put("vm.hasSAandCanAttach", vmHasSAandCanAttach());
+ // vm.hasJFR is "true" if JFR is included in the build of the VM and
+ // so tests can be executed.
+ map.put("vm.hasJFR", vmHasJFR());
map.put("vm.cpu.features", cpuFeatures());
map.put("vm.rtm.cpu", vmRTMCPU());
map.put("vm.rtm.os", vmRTMOS());
@@ -288,6 +291,14 @@
}
/**
+ * @return "true" if the VM is compiled with Java Flight Recorder (JFR)
+ * support.
+ */
+ protected String vmHasJFR() {
+ return "" + WB.isJFRIncludedInVmBuild();
+ }
+
+ /**
* @return true if VM runs RTM supported OS and false otherwise.
*/
protected String vmRTMOS() {
--- a/test/lib/sun/hotspot/WhiteBox.java Thu Jul 26 09:30:58 2018 -0700
+++ b/test/lib/sun/hotspot/WhiteBox.java Thu Jul 26 10:00:40 2018 -0700
@@ -515,6 +515,7 @@
public native boolean isSharedClass(Class<?> c);
public native boolean areSharedStringsIgnored();
public native boolean isCDSIncludedInVmBuild();
+ public native boolean isJFRIncludedInVmBuild();
public native boolean isJavaHeapArchiveSupported();
public native Object getResolvedReferences(Class<?> c);
public native boolean areOpenArchiveHeapObjectsMapped();