8294618: Update openjdk.java.net => openjdk.org
Reviewed-by: mikael, iris, joehw, prr, ihse
This commit is contained in:
Родитель
f531dae4a0
Коммит
536c9a512e
|
@ -1,11 +1,11 @@
|
|||
# Welcome to the JDK!
|
||||
|
||||
For build instructions please see the
|
||||
[online documentation](https://openjdk.java.net/groups/build/doc/building.html),
|
||||
[online documentation](https://openjdk.org/groups/build/doc/building.html),
|
||||
or either of these files:
|
||||
|
||||
- [doc/building.html](doc/building.html) (html version)
|
||||
- [doc/building.md](doc/building.md) (markdown version)
|
||||
|
||||
See <https://openjdk.java.net/> for more information about
|
||||
See <https://openjdk.org/> for more information about
|
||||
the OpenJDK Community and the JDK.
|
||||
|
|
|
@ -122,7 +122,7 @@
|
|||
<p>If you are eager to try out building the JDK, these simple steps works most of the time. They assume that you have installed Git (and Cygwin if running on Windows) and cloned the top-level JDK repository that you want to build.</p>
|
||||
<ol type="1">
|
||||
<li><p><a href="#getting-the-source-code">Get the complete source code</a>:<br />
|
||||
<code>git clone https://git.openjdk.java.net/jdk/</code></p></li>
|
||||
<code>git clone https://git.openjdk.org/jdk/</code></p></li>
|
||||
<li><p><a href="#running-configure">Run configure</a>:<br />
|
||||
<code>bash configure</code></p>
|
||||
<p>If <code>configure</code> fails due to missing dependencies (to either the <a href="#native-compiler-toolchain-requirements">toolchain</a>, <a href="#build-tools-requirements">build tools</a>, <a href="#external-library-requirements">external libraries</a> or the <a href="#boot-jdk-requirements">boot JDK</a>), most of the time it prints a suggestion on how to resolve the situation on your platform. Follow the instructions, and try running <code>bash configure</code> again.</p></li>
|
||||
|
@ -136,9 +136,9 @@
|
|||
<p>If any of these steps failed, or if you want to know more about build requirements or build functionality, please continue reading this document.</p>
|
||||
<h2 id="introduction">Introduction</h2>
|
||||
<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>
|
||||
<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.org/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="https://git.openjdk.java.net/">OpenJDK Git site</a> you can see a list of all available repositories. If you want to build an older version, e.g. JDK 11, it is recommended that you get the <code>jdk11u</code> repo, which contains incremental updates, instead of the <code>jdk11</code> repo, which was frozen at JDK 11 GA.</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="https://git.openjdk.org/">OpenJDK Git site</a> you can see a list of all available repositories. If you want to build an older version, e.g. JDK 11, it is recommended that you get the <code>jdk11u</code> repo, which contains incremental updates, instead of the <code>jdk11</code> repo, which was frozen at JDK 11 GA.</p>
|
||||
<p>If you are new to Git, a good place to start is the book <a href="https://git-scm.com/book/en/v2">Pro Git</a>. The rest of this document assumes a working knowledge of Git.</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>
|
||||
|
@ -152,7 +152,7 @@
|
|||
<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>You need to install a git client. You have two choices, Cygwin git or Git for Windows. Unfortunately there are pros and cons with each choice.</p>
|
||||
<ul>
|
||||
<li><p>The Cygwin <code>git</code> client has no line ending issues and understands Cygwin paths (which are used throughout the JDK build system). However, it does not currently work well with the Skara CLI tooling. Please see the <a href="https://wiki.openjdk.java.net/display/SKARA/Skara#Skara-Git">Skara wiki on Git clients</a> for up-to-date information about the Skara git client support.</p></li>
|
||||
<li><p>The Cygwin <code>git</code> client has no line ending issues and understands Cygwin paths (which are used throughout the JDK build system). However, it does not currently work well with the Skara CLI tooling. Please see the <a href="https://wiki.openjdk.org/display/SKARA/Skara#Skara-Git">Skara wiki on Git clients</a> for up-to-date information about the Skara git client support.</p></li>
|
||||
<li><p>The <a href="https://gitforwindows.org">Git for Windows</a> client has issues with line endings, and do not understand Cygwin paths. It does work well with the Skara CLI tooling, however. To alleviate the line ending problems, make sure you set <code>core.autocrlf</code> to <code>false</code> (this is asked during installation).</p></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
|
@ -198,7 +198,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<p>The double version numbers for Linux are due to the hybrid model used at Oracle, where header files and external libraries from an older version are used when building on a more modern version of the OS.</p>
|
||||
<p>The Build Group has a wiki page with <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a>. From time to time, this is updated by contributors to list successes or failures of building on different platforms.</p>
|
||||
<p>The Build Group has a wiki page with <a href="https://wiki.openjdk.org/display/Build/Supported+Build+Platforms">Supported Build Platforms</a>. From time to time, this is updated by contributors to list successes or failures of building on different platforms.</p>
|
||||
<h3 id="windows">Windows</h3>
|
||||
<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>
|
||||
|
@ -237,7 +237,7 @@
|
|||
<p>For Alpine Linux, aside from basic tooling, install the GNU versions of some programs:</p>
|
||||
<pre><code>sudo apk add build-base bash grep zip</code></pre>
|
||||
<h3 id="aix">AIX</h3>
|
||||
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of AIX are supported.</p>
|
||||
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.org/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of AIX are supported.</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>
|
||||
<table>
|
||||
|
@ -308,7 +308,7 @@
|
|||
<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=2022</code>.</p>
|
||||
<p>If you have Visual Studio installed but <code>configure</code> fails to detect it, it may be because of <a href="#spaces-in-path">spaces in path</a>.</p>
|
||||
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
|
||||
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of XLC are supported.</p>
|
||||
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.org/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of XLC are supported.</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>
|
||||
|
@ -512,8 +512,8 @@
|
|||
<li><code>SPEC_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>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">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>Most of the JDK tests are using the <a href="http://openjdk.org/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.org/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">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>Building of Hotspot Gtest suite requires the source code of Google Test framework. The top directory, which contains both <code>googletest</code> and <code>googlemock</code> directories, should be specified via <code>--with-gtest</code>. The supported version of Google Test is 1.8.1, whose source code can be obtained:</p>
|
||||
<ul>
|
||||
<li>by downloading and unpacking the source bundle from <a href="https://github.com/google/googletest/releases/tag/release-1.8.1">here</a></li>
|
||||
|
@ -896,7 +896,7 @@ spawn failed</code></pre>
|
|||
<h4 id="spaces-in-path">Spaces in Path</h4>
|
||||
<p>On Windows, when configuring, <code>fixpath.sh</code> may report that some directory names have spaces. Usually, it assumes those directories have <a href="https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-8dot3name">short paths</a>. You can run <code>fsutil file setshortname</code> in <code>cmd</code> on certain directories, such as <code>Microsoft Visual Studio</code> or <code>Windows Kits</code>, to assign arbitrary short paths so <code>configure</code> can access them.</p>
|
||||
<h3 id="getting-help">Getting Help</h3>
|
||||
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
|
||||
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.org">build-dev@openjdk.org</a>. Please include the relevant parts of the configure and/or build log.</p>
|
||||
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
|
||||
<h2 id="reproducible-builds">Reproducible Builds</h2>
|
||||
<p>Build reproducibility is the property of getting exactly the same bits out when building, every time, independent on who builds the product, or where. This is for many reasons a harder goal than it initially appears, but it is an important goal, for security reasons and others. Please see <a href="https://reproducible-builds.org">Reproducible Builds</a> for more information about the background and reasons for reproducible builds.</p>
|
||||
|
@ -1037,12 +1037,12 @@ test-support/</code></pre>
|
|||
<pre><code>make COMPARE_BUILD=CONF=--enable-new-hotspot-feature:MAKE=hotspot</code></pre>
|
||||
<p>See <code>make/InitSupport.gmk</code> for details on how to use <code>COMPARE_BUILD</code>.</p>
|
||||
<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>
|
||||
<p>Please check that you adhere to the <a href="http://openjdk.org/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>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.org/contribute/">'How to contribute' page</a>. There is also an official (but somewhat outdated and skimpy on details) <a href="http://openjdk.org/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.org/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.org/mailman/listinfo/adoption-discuss">mail</a> or <a href="http://openjdk.org/irc/">IRC</a>.</p>
|
||||
<h2 id="editing-this-document">Editing this document</h2>
|
||||
<p>If you want to contribute changes to this document, edit <code>doc/building.md</code> and then run <code>make update-build-docs</code> to generate the same changes in <code>doc/building.html</code>.</p>
|
||||
</body>
|
||||
|
|
|
@ -7,7 +7,7 @@ the time. They assume that you have installed Git (and Cygwin if running
|
|||
on Windows) and cloned the top-level JDK repository that you want to build.
|
||||
|
||||
1. [Get the complete source code](#getting-the-source-code): \
|
||||
`git clone https://git.openjdk.java.net/jdk/`
|
||||
`git clone https://git.openjdk.org/jdk/`
|
||||
|
||||
2. [Run configure](#running-configure): \
|
||||
`bash configure`
|
||||
|
@ -40,14 +40,14 @@ reasonably powerful hardware.
|
|||
|
||||
If you just want to use the JDK and not build it yourself, this document is not
|
||||
for you. See for instance [OpenJDK installation](
|
||||
http://openjdk.java.net/install) for some methods of installing a prebuilt
|
||||
http://openjdk.org/install) for some methods of installing a prebuilt
|
||||
JDK.
|
||||
|
||||
## Getting the Source Code
|
||||
|
||||
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 [OpenJDK Git site](https://git.openjdk.java.net/) you
|
||||
repository. At the [OpenJDK Git site](https://git.openjdk.org/) you
|
||||
can see a list of all available repositories. If you want to build an older version,
|
||||
e.g. JDK 11, it is recommended that you get the `jdk11u` repo, which contains
|
||||
incremental updates, instead of the `jdk11` repo, which was frozen at JDK 11 GA.
|
||||
|
@ -96,7 +96,7 @@ on where and how to check out the source code.
|
|||
Cygwin paths (which are used throughout the JDK build system).
|
||||
However, it does not currently work well with the Skara CLI tooling.
|
||||
Please see the [Skara wiki on Git clients](
|
||||
https://wiki.openjdk.java.net/display/SKARA/Skara#Skara-Git) for
|
||||
https://wiki.openjdk.org/display/SKARA/Skara#Skara-Git) for
|
||||
up-to-date information about the Skara git client support.
|
||||
|
||||
* The [Git for Windows](https://gitforwindows.org) client has issues
|
||||
|
@ -173,7 +173,7 @@ used at Oracle, where header files and external libraries from an older version
|
|||
are used when building on a more modern version of the OS.
|
||||
|
||||
The Build Group has a wiki page with [Supported Build Platforms](
|
||||
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms). From
|
||||
https://wiki.openjdk.org/display/Build/Supported+Build+Platforms). From
|
||||
time to time, this is updated by contributors to list successes or failures of
|
||||
building on different platforms.
|
||||
|
||||
|
@ -303,7 +303,7 @@ sudo apk add build-base bash grep zip
|
|||
### AIX
|
||||
|
||||
Please consult the AIX section of the [Supported Build Platforms](
|
||||
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms) OpenJDK
|
||||
https://wiki.openjdk.org/display/Build/Supported+Build+Platforms) OpenJDK
|
||||
Build Wiki page for details about which versions of AIX are supported.
|
||||
|
||||
## Native Compiler (Toolchain) Requirements
|
||||
|
@ -397,7 +397,7 @@ be because of [spaces in path](#spaces-in-path).
|
|||
### IBM XL C/C++
|
||||
|
||||
Please consult the AIX section of the [Supported Build Platforms](
|
||||
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms) OpenJDK
|
||||
https://wiki.openjdk.org/display/Build/Supported+Build+Platforms) OpenJDK
|
||||
Build Wiki page for details about which versions of XLC are supported.
|
||||
|
||||
|
||||
|
@ -848,14 +848,14 @@ Suggestions for Advanced Users](#hints-and-suggestions-for-advanced-users) and
|
|||
|
||||
## Running Tests
|
||||
|
||||
Most of the JDK tests are using the [JTReg](http://openjdk.java.net/jtreg)
|
||||
Most of the JDK tests are using the [JTReg](http://openjdk.org/jtreg)
|
||||
test framework. Make sure that your configuration knows where to find your
|
||||
installation of JTReg. If this is not picked up automatically, use the
|
||||
`--with-jtreg=<path to jtreg home>` option to point to the JTReg framework.
|
||||
Note that this option should point to the JTReg home, i.e. the top directory,
|
||||
containing `lib/jtreg.jar` etc.
|
||||
|
||||
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
|
||||
The [Adoption Group](https://wiki.openjdk.org/display/Adoption) provides
|
||||
recent builds of jtreg [here](
|
||||
https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
|
||||
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
|
||||
|
@ -1548,7 +1548,7 @@ You can run `fsutil file setshortname` in `cmd` on certain directories, such as
|
|||
|
||||
If none of the suggestions in this document helps you, or if you find what you
|
||||
believe is a bug in the build system, please contact the Build Group by sending
|
||||
a mail to [build-dev@openjdk.java.net](mailto:build-dev@openjdk.java.net).
|
||||
a mail to [build-dev@openjdk.org](mailto:build-dev@openjdk.org).
|
||||
Please include the relevant parts of the configure and/or build log.
|
||||
|
||||
If you need general help or advice about developing for the JDK, you can also
|
||||
|
@ -1958,7 +1958,7 @@ To analyze build performance, run with `LOG=trace` and check `$BUILD/build-trace
|
|||
Use `JOBS=1` to avoid parallelism.
|
||||
|
||||
Please check that you adhere to the [Code Conventions for the Build System](
|
||||
http://openjdk.java.net/groups/build/doc/code-conventions.html) before
|
||||
http://openjdk.org/groups/build/doc/code-conventions.html) before
|
||||
submitting patches.
|
||||
|
||||
## Contributing to the JDK
|
||||
|
@ -1971,19 +1971,19 @@ 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.
|
||||
|
||||
The official place to start is the ['How to contribute' page](
|
||||
http://openjdk.java.net/contribute/). There is also an official (but somewhat
|
||||
http://openjdk.org/contribute/). There is also an official (but somewhat
|
||||
outdated and skimpy on details) [Developer's Guide](
|
||||
http://openjdk.java.net/guide/).
|
||||
http://openjdk.org/guide/).
|
||||
|
||||
If this seems overwhelming to you, the Adoption Group is there to help you! A
|
||||
good place to start is their ['New Contributor' page](
|
||||
https://wiki.openjdk.java.net/display/Adoption/New+Contributor), or start
|
||||
https://wiki.openjdk.org/display/Adoption/New+Contributor), or start
|
||||
reading the comprehensive [Getting Started Kit](
|
||||
https://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/en/). The
|
||||
Adoption Group will also happily answer any questions you have about
|
||||
contributing. Contact them by [mail](
|
||||
http://mail.openjdk.java.net/mailman/listinfo/adoption-discuss) or [IRC](
|
||||
http://openjdk.java.net/irc/).
|
||||
http://mail.openjdk.org/mailman/listinfo/adoption-discuss) or [IRC](
|
||||
http://openjdk.org/irc/).
|
||||
|
||||
## Editing this document
|
||||
|
||||
|
|
|
@ -68,8 +68,8 @@
|
|||
<h3 id="counterexamples-and-updates">Counterexamples and Updates</h3>
|
||||
<p>Many of the guidelines mentioned here have (sometimes widespread) counterexamples in the HotSpot code base. Finding a counterexample is not sufficient justification for new code to follow the counterexample as a precedent, since readers of your code will rightfully expect your code to follow the greater bulk of precedents documented here.</p>
|
||||
<p>Occasionally a guideline mentioned here may be just out of synch with the actual HotSpot code base. If you find that a guideline is consistently contradicted by a large number of counterexamples, please bring it up for discussion and possible change. The architectural rule, of course, is "When in Rome do as the Romans". Sometimes in the suburbs of Rome the rules are a little different; these differences can be pointed out here.</p>
|
||||
<p>Proposed changes should be discussed on the <a href="mailto:hotspot-dev@openjdk.java.net">HotSpot Developers</a> mailing list. Changes are likely to be cautious and incremental, since HotSpot coders have been using these guidelines for years.</p>
|
||||
<p>Substantive changes are approved by <a href="https://www.rfc-editor.org/rfc/rfc7282.html">rough consensus</a> of the <a href="https://openjdk.java.net/census#hotspot">HotSpot Group</a> Members. The Group Lead determines whether consensus has been reached.</p>
|
||||
<p>Proposed changes should be discussed on the <a href="mailto:hotspot-dev@openjdk.org">HotSpot Developers</a> mailing list. Changes are likely to be cautious and incremental, since HotSpot coders have been using these guidelines for years.</p>
|
||||
<p>Substantive changes are approved by <a href="https://www.rfc-editor.org/rfc/rfc7282.html">rough consensus</a> of the <a href="https://openjdk.org/census#hotspot">HotSpot Group</a> Members. The Group Lead determines whether consensus has been reached.</p>
|
||||
<p>Editorial changes (changes that only affect the description of HotSpot style, not its substance) do not require the full consensus gathering process. The normal HotSpot pull request process may be used for editorial changes, with the additional requirement that the requisite reviewers are also HotSpot Group Members.</p>
|
||||
<h2 id="structure-and-formatting">Structure and Formatting</h2>
|
||||
<h3 id="factoring-and-class-design">Factoring and Class Design</h3>
|
||||
|
@ -238,7 +238,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
|
|||
<p>Some reasons for this include</p>
|
||||
<ul>
|
||||
<li><p>Exceptions. Perhaps the largest core issue with adopting the use of Standard Library facilities is exceptions. HotSpot does not use exceptions and, for platforms which allow doing so, builds with them turned off. Many Standard Library facilities implicitly or explicitly use exceptions.</p></li>
|
||||
<li><p><code>assert</code>. An issue that is quickly encountered is the <code>assert</code> macro name collision (<a href="https://bugs.openjdk.java.net/browse/JDK-8007770">JDK-8007770</a>). Some mechanism for addressing this would be needed before much of the Standard Library could be used. (Not all Standard Library implementations use assert in header files, but some do.)</p></li>
|
||||
<li><p><code>assert</code>. An issue that is quickly encountered is the <code>assert</code> macro name collision (<a href="https://bugs.openjdk.org/browse/JDK-8007770">JDK-8007770</a>). Some mechanism for addressing this would be needed before much of the Standard Library could be used. (Not all Standard Library implementations use assert in header files, but some do.)</p></li>
|
||||
<li><p>Memory allocation. HotSpot requires explicit control over where allocations occur. The C++98/03 <code>std::allocator</code> class is too limited to support our usage. (Changes in more recent Standards may remove this limitation.)</p></li>
|
||||
<li><p>Implementation vagaries. Bugs, or simply different implementation choices, can lead to different behaviors among the various Standard Libraries we need to deal with.</p></li>
|
||||
<li><p>Inconsistent naming conventions. HotSpot and the C++ Standard use different naming conventions. The coexistence of those different conventions might appear jarring and reduce readability.</p></li>
|
||||
|
@ -272,7 +272,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
|
|||
<p>Due to bugs in certain (very old) compilers, there is widespread use of enums and avoidance of in-class initialization of static integral constant members. Compilers having such bugs are no longer supported. Except where an enum is semantically appropriate, new code should use integral constants.</p>
|
||||
<h3 id="thread_local">thread_local</h3>
|
||||
<p>Avoid use of <code>thread_local</code> (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm">n2659</a>); and instead, use the HotSpot macro <code>THREAD_LOCAL</code>, for which the initializer must be a constant expression. When <code>thread_local</code> must be used, use the Hotspot macro <code>APPROVED_CPP_THREAD_LOCAL</code> to indicate that the use has been given appropriate consideration.</p>
|
||||
<p>As was discussed in the review for <a href="https://mail.openjdk.java.net/pipermail/hotspot-dev/2019-September/039487.html">JDK-8230877</a>, <code>thread_local</code> allows dynamic initialization and destruction semantics. However, that support requires a run-time penalty for references to non-function-local <code>thread_local</code> variables defined in a different translation unit, even if they don't need dynamic initialization. Dynamic initialization and destruction of non-local <code>thread_local</code> variables also has the same ordering problems as for ordinary non-local variables. So we avoid use of <code>thread_local</code> in general, limiting its use to only those cases where dynamic initialization or destruction are essential. See <a href="https://bugs.openjdk.java.net/browse/JDK-8282469">JDK-8282469</a> for further discussion.</p>
|
||||
<p>As was discussed in the review for <a href="https://mail.openjdk.org/pipermail/hotspot-dev/2019-September/039487.html">JDK-8230877</a>, <code>thread_local</code> allows dynamic initialization and destruction semantics. However, that support requires a run-time penalty for references to non-function-local <code>thread_local</code> variables defined in a different translation unit, even if they don't need dynamic initialization. Dynamic initialization and destruction of non-local <code>thread_local</code> variables also has the same ordering problems as for ordinary non-local variables. So we avoid use of <code>thread_local</code> in general, limiting its use to only those cases where dynamic initialization or destruction are essential. See <a href="https://bugs.openjdk.org/browse/JDK-8282469">JDK-8282469</a> for further discussion.</p>
|
||||
<h3 id="nullptr">nullptr</h3>
|
||||
<p>Prefer <code>nullptr</code> (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf">n2431</a>) to <code>NULL</code>. Don't use (constexpr or literal) 0 for pointers.</p>
|
||||
<p>For historical reasons there are widespread uses of both <code>NULL</code> and of integer 0 as a pointer value.</p>
|
||||
|
|
|
@ -55,13 +55,13 @@ suburbs of Rome the rules are a little different; these differences
|
|||
can be pointed out here.
|
||||
|
||||
Proposed changes should be discussed on the
|
||||
[HotSpot Developers](mailto:hotspot-dev@openjdk.java.net) mailing
|
||||
[HotSpot Developers](mailto:hotspot-dev@openjdk.org) mailing
|
||||
list. Changes are likely to be cautious and incremental, since HotSpot
|
||||
coders have been using these guidelines for years.
|
||||
|
||||
Substantive changes are approved by
|
||||
[rough consensus](https://www.rfc-editor.org/rfc/rfc7282.html) of
|
||||
the [HotSpot Group](https://openjdk.java.net/census#hotspot) Members.
|
||||
the [HotSpot Group](https://openjdk.org/census#hotspot) Members.
|
||||
The Group Lead determines whether consensus has been reached.
|
||||
|
||||
Editorial changes (changes that only affect the description of HotSpot
|
||||
|
@ -550,7 +550,7 @@ turned off. Many Standard Library facilities implicitly or explicitly
|
|||
use exceptions.
|
||||
|
||||
* `assert`. An issue that is quickly encountered is the `assert` macro name
|
||||
collision ([JDK-8007770](https://bugs.openjdk.java.net/browse/JDK-8007770)).
|
||||
collision ([JDK-8007770](https://bugs.openjdk.org/browse/JDK-8007770)).
|
||||
Some mechanism for addressing this would be needed before much of the
|
||||
Standard Library could be used. (Not all Standard Library implementations
|
||||
use assert in header files, but some do.)
|
||||
|
@ -661,7 +661,7 @@ be a constant expression. When `thread_local` must be used, use the Hotspot macr
|
|||
consideration.
|
||||
|
||||
As was discussed in the review for
|
||||
[JDK-8230877](https://mail.openjdk.java.net/pipermail/hotspot-dev/2019-September/039487.html),
|
||||
[JDK-8230877](https://mail.openjdk.org/pipermail/hotspot-dev/2019-September/039487.html),
|
||||
`thread_local` allows dynamic initialization and destruction
|
||||
semantics. However, that support requires a run-time penalty for
|
||||
references to non-function-local `thread_local` variables defined in a
|
||||
|
@ -671,7 +671,7 @@ non-local `thread_local` variables also has the same ordering
|
|||
problems as for ordinary non-local variables. So we avoid use of
|
||||
`thread_local` in general, limiting its use to only those cases where dynamic
|
||||
initialization or destruction are essential. See
|
||||
[JDK-8282469](https://bugs.openjdk.java.net/browse/JDK-8282469)
|
||||
[JDK-8282469](https://bugs.openjdk.org/browse/JDK-8282469)
|
||||
for further discussion.
|
||||
|
||||
### nullptr
|
||||
|
|
|
@ -134,7 +134,7 @@ epilogue: check-bad-file-names
|
|||
$(ECHO) '* The build README (doc/building.md) is a great source of information,'
|
||||
$(ECHO) 'especially the chapter "Fixing Unexpected Build Failures". Check it out!'
|
||||
$(ECHO)
|
||||
$(ECHO) '* If you still need assistance please contact build-dev@openjdk.java.net.'
|
||||
$(ECHO) '* If you still need assistance please contact build-dev@openjdk.org.'
|
||||
$(ECHO)
|
||||
|
||||
TARGETS += epilogue
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT(OpenJDK, openjdk, build-dev@openjdk.java.net,,http://openjdk.java.net)
|
||||
AC_INIT(OpenJDK, openjdk, build-dev@openjdk.org,,https://openjdk.org)
|
||||
|
||||
AC_CONFIG_AUX_DIR([$TOPDIR/make/autoconf/build-aux])
|
||||
m4_include([build-aux/pkg.m4])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -29,7 +29,7 @@ PRODUCT_SUFFIX="Runtime Environment"
|
|||
JDK_RC_PLATFORM_NAME=Platform
|
||||
COMPANY_NAME=N/A
|
||||
HOTSPOT_VM_DISTRO="OpenJDK"
|
||||
VENDOR_URL=https://openjdk.java.net/
|
||||
VENDOR_URL=https://openjdk.org/
|
||||
VENDOR_URL_BUG=https://bugreport.java.com/bugreport/
|
||||
VENDOR_URL_VM_BUG=https://bugreport.java.com/bugreport/crash.jsp
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -56,7 +56,7 @@ public class Incubating implements Taglet {
|
|||
}
|
||||
|
||||
private static final String MESSAGE =
|
||||
"<BR><b><a href=\"http://openjdk.java.net/jeps/11\">Incubating Feature.</a>"
|
||||
"<BR><b><a href=\"https://openjdk.org/jeps/11\">Incubating Feature.</a>"
|
||||
+ " Will be removed in a future release.</b>";
|
||||
|
||||
@Override
|
||||
|
|
|
@ -86,7 +86,7 @@ the methods in the CustomControlsContext interface.
|
|||
|
||||
Here are some resources for learning about and using the Java2D(TM)
|
||||
|
||||
OpenJDK group page: http://openjdk.java.net/groups/2d/
|
||||
OpenJDK group page: https://openjdk.org/groups/2d/
|
||||
|
||||
Learning Java 2D: http://www.oracle.com/technetwork/articles/java/java2dpart1-137217.html
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
// of its Requests objects.
|
||||
//
|
||||
// For additional information on string deduplication, please see JEP 192,
|
||||
// http://openjdk.java.net/jeps/192
|
||||
// https://openjdk.org/jeps/192
|
||||
|
||||
#include "memory/allocation.hpp"
|
||||
#include "memory/allStatic.hpp"
|
||||
|
|
|
@ -568,7 +568,7 @@ public class Object {
|
|||
* @deprecated Finalization is deprecated and subject to removal in a future
|
||||
* release. The use of finalization can lead to problems with security,
|
||||
* performance, and reliability.
|
||||
* See <a href="https://openjdk.java.net/jeps/421">JEP 421</a> for
|
||||
* See <a href="https://openjdk.org/jeps/421">JEP 421</a> for
|
||||
* discussion and alternatives.
|
||||
* <p>
|
||||
* Subclasses that override {@code finalize} to perform cleanup should use
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1995, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1995, 2022, 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
|
||||
|
@ -310,7 +310,7 @@ import sun.security.util.SecurityConstants;
|
|||
* @since 1.0
|
||||
* @deprecated The Security Manager is deprecated and subject to removal in a
|
||||
* future release. There is no replacement for the Security Manager.
|
||||
* See <a href="https://openjdk.java.net/jeps/411">JEP 411</a> for
|
||||
* See <a href="https://openjdk.org/jeps/411">JEP 411</a> for
|
||||
* discussion and alternatives.
|
||||
*/
|
||||
@Deprecated(since="17", forRemoval=true)
|
||||
|
|
|
@ -160,7 +160,7 @@ public enum ClassFileFormatVersion {
|
|||
* @see <a
|
||||
* href="https://docs.oracle.com/javase/specs/jvms/se11/html/index.html">
|
||||
* <cite>The Java Virtual Machine Specification, Java SE 11 Edition</cite></a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/181">
|
||||
* @see <a href="https://openjdk.org/jeps/181">
|
||||
* JEP 181: Nest-Based Access Control</a>
|
||||
*/
|
||||
RELEASE_11(55),
|
||||
|
@ -202,7 +202,7 @@ public enum ClassFileFormatVersion {
|
|||
* @see <a
|
||||
* href="https://docs.oracle.com/javase/specs/jvms/se15/html/index.html">
|
||||
* <cite>The Java Virtual Machine Specification, Java SE 15 Edition</cite></a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/371">
|
||||
* @see <a href="https://openjdk.org/jeps/371">
|
||||
* JEP 371: Hidden Classes</a>
|
||||
*/
|
||||
RELEASE_15(59),
|
||||
|
@ -227,9 +227,9 @@ public enum ClassFileFormatVersion {
|
|||
* @see <a
|
||||
* href="https://docs.oracle.com/javase/specs/jvms/se17/html/index.html">
|
||||
* <cite>The Java Virtual Machine Specification, Java SE 17 Edition</cite></a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/306">
|
||||
* @see <a href="https://openjdk.org/jeps/306">
|
||||
* JEP 306: Restore Always-Strict Floating-Point Semantics</a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/409">
|
||||
* @see <a href="https://openjdk.org/jeps/409">
|
||||
* JEP 409: Sealed Classes</a>
|
||||
*/
|
||||
RELEASE_17(61),
|
||||
|
|
|
@ -3021,7 +3021,7 @@ public class CompletableFuture<T> implements Future<T>, CompletionStage<T> {
|
|||
}
|
||||
|
||||
// Reduce the risk of rare disastrous classloading in first call to
|
||||
// LockSupport.park: https://bugs.openjdk.java.net/browse/JDK-8074773
|
||||
// LockSupport.park: https://bugs.openjdk.org/browse/JDK-8074773
|
||||
Class<?> ensureLoaded = LockSupport.class;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6376,7 +6376,7 @@ public class ConcurrentHashMap<K,V> extends AbstractMap<K,V>
|
|||
ASHIFT = 31 - Integer.numberOfLeadingZeros(scale);
|
||||
|
||||
// Reduce the risk of rare disastrous classloading in first call to
|
||||
// LockSupport.park: https://bugs.openjdk.java.net/browse/JDK-8074773
|
||||
// LockSupport.park: https://bugs.openjdk.org/browse/JDK-8074773
|
||||
Class<?> ensureLoaded = LockSupport.class;
|
||||
|
||||
// Eager class load observed to help JIT during startup
|
||||
|
|
|
@ -1570,7 +1570,7 @@ public abstract class ForkJoinTask<V> implements Future<V>, Serializable {
|
|||
* @since 19
|
||||
*/
|
||||
public static <T> ForkJoinTask<T> adaptInterruptible(Callable<? extends T> callable) {
|
||||
// https://bugs.openjdk.java.net/browse/JDK-8246587
|
||||
// https://bugs.openjdk.org/browse/JDK-8246587
|
||||
return new AdaptedInterruptibleCallable<T>(callable);
|
||||
}
|
||||
|
||||
|
|
|
@ -583,7 +583,7 @@ public class FutureTask<V> implements RunnableFuture<V> {
|
|||
}
|
||||
|
||||
// Reduce the risk of rare disastrous classloading in first call to
|
||||
// LockSupport.park: https://bugs.openjdk.java.net/browse/JDK-8074773
|
||||
// LockSupport.park: https://bugs.openjdk.org/browse/JDK-8074773
|
||||
Class<?> ensureLoaded = LockSupport.class;
|
||||
}
|
||||
|
||||
|
|
|
@ -1660,7 +1660,7 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
|
|||
}
|
||||
|
||||
// Reduce the risk of rare disastrous classloading in first call to
|
||||
// LockSupport.park: https://bugs.openjdk.java.net/browse/JDK-8074773
|
||||
// LockSupport.park: https://bugs.openjdk.org/browse/JDK-8074773
|
||||
Class<?> ensureLoaded = LockSupport.class;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1147,7 +1147,7 @@ public class Phaser {
|
|||
}
|
||||
|
||||
// Reduce the risk of rare disastrous classloading in first call to
|
||||
// LockSupport.park: https://bugs.openjdk.java.net/browse/JDK-8074773
|
||||
// LockSupport.park: https://bugs.openjdk.org/browse/JDK-8074773
|
||||
Class<?> ensureLoaded = LockSupport.class;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1517,7 +1517,7 @@ public class SubmissionPublisher<T> implements Publisher<T>,
|
|||
}
|
||||
|
||||
// Reduce the risk of rare disastrous classloading in first call to
|
||||
// LockSupport.park: https://bugs.openjdk.java.net/browse/JDK-8074773
|
||||
// LockSupport.park: https://bugs.openjdk.org/browse/JDK-8074773
|
||||
Class<?> ensureLoaded = LockSupport.class;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1162,7 +1162,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
|
|||
|
||||
static {
|
||||
// Reduce the risk of rare disastrous classloading in first call to
|
||||
// LockSupport.park: https://bugs.openjdk.java.net/browse/JDK-8074773
|
||||
// LockSupport.park: https://bugs.openjdk.org/browse/JDK-8074773
|
||||
Class<?> ensureLoaded = LockSupport.class;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ import java.lang.annotation.*;
|
|||
/**
|
||||
* Indicates the API declaration in question is associated with a
|
||||
* <em>preview feature</em>. See JEP 12: "Preview Language and VM
|
||||
* Features" (http://openjdk.java.net/jeps/12).
|
||||
* Features" (https://openjdk.org/jeps/12).
|
||||
*
|
||||
* Note this internal annotation is handled specially by the javac compiler.
|
||||
* To work properly with {@code --release older-release}, it requires special
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
* Note that when using posix_spawn(3), we exec twice: first a tiny binary called
|
||||
* the jspawnhelper, then in the jspawnhelper we do the pre-exec work and exec a
|
||||
* second time, this time the target binary (similar to the "exec-twice-technique"
|
||||
* described in http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-September/055333.html).
|
||||
* described in http://mail.openjdk.org/pipermail/core-libs-dev/2018-September/055333.html).
|
||||
*
|
||||
* This is a JDK-specific implementation detail which just happens to be
|
||||
* implemented for jdk.lang.Process.launchMechanism=POSIX_SPAWN.
|
||||
|
|
|
@ -195,7 +195,7 @@ public enum SourceVersion {
|
|||
* <cite>The Java Language Specification, Java SE 9 Edition</cite></a>
|
||||
* @see <a href="https://jcp.org/en/jsr/detail?id=376">
|
||||
* JSR 376: Java™ Platform Module System</a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/213">
|
||||
* @see <a href="https://openjdk.org/jeps/213">
|
||||
* JEP 213: Milling Project Coin</a>
|
||||
*/
|
||||
RELEASE_9,
|
||||
|
@ -212,7 +212,7 @@ public enum SourceVersion {
|
|||
* @see <a
|
||||
* href="https://docs.oracle.com/javase/specs/jls/se10/html/index.html">
|
||||
* <cite>The Java Language Specification, Java SE 10 Edition</cite></a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/286">
|
||||
* @see <a href="https://openjdk.org/jeps/286">
|
||||
* JEP 286: Local-Variable Type Inference</a>
|
||||
*/
|
||||
RELEASE_10,
|
||||
|
@ -229,7 +229,7 @@ public enum SourceVersion {
|
|||
* @see <a
|
||||
* href="https://docs.oracle.com/javase/specs/jls/se11/html/index.html">
|
||||
* <cite>The Java Language Specification, Java SE 11 Edition</cite></a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/323">
|
||||
* @see <a href="https://openjdk.org/jeps/323">
|
||||
* JEP 323: Local-Variable Syntax for Lambda Parameters</a>
|
||||
*/
|
||||
RELEASE_11,
|
||||
|
@ -271,7 +271,7 @@ public enum SourceVersion {
|
|||
* @see <a
|
||||
* href="https://docs.oracle.com/javase/specs/jls/se14/html/index.html">
|
||||
* <cite>The Java Language Specification, Java SE 14 Edition</cite></a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/361">
|
||||
* @see <a href="https://openjdk.org/jeps/361">
|
||||
* JEP 361: Switch Expressions</a>
|
||||
*/
|
||||
RELEASE_14,
|
||||
|
@ -287,7 +287,7 @@ public enum SourceVersion {
|
|||
* @see <a
|
||||
* href="https://docs.oracle.com/javase/specs/jls/se15/html/index.html">
|
||||
* <cite>The Java Language Specification, Java SE 15 Edition</cite></a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/378">
|
||||
* @see <a href="https://openjdk.org/jeps/378">
|
||||
* JEP 378: Text Blocks</a>
|
||||
*/
|
||||
RELEASE_15,
|
||||
|
@ -304,9 +304,9 @@ public enum SourceVersion {
|
|||
* @see <a
|
||||
* href="https://docs.oracle.com/javase/specs/jls/se16/html/index.html">
|
||||
* <cite>The Java Language Specification, Java SE 16 Edition</cite></a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/394">
|
||||
* @see <a href="https://openjdk.org/jeps/394">
|
||||
* JEP 394: Pattern Matching for instanceof</a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/395">
|
||||
* @see <a href="https://openjdk.org/jeps/395">
|
||||
* JEP 395: Records</a>
|
||||
*/
|
||||
RELEASE_16,
|
||||
|
@ -323,9 +323,9 @@ public enum SourceVersion {
|
|||
* @see <a
|
||||
* href="https://docs.oracle.com/javase/specs/jls/se17/html/index.html">
|
||||
* <cite>The Java Language Specification, Java SE 17 Edition</cite></a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/306">
|
||||
* @see <a href="https://openjdk.org/jeps/306">
|
||||
* JEP 306: Restore Always-Strict Floating-Point Semantics</a>
|
||||
* @see <a href="https://openjdk.java.net/jeps/409">
|
||||
* @see <a href="https://openjdk.org/jeps/409">
|
||||
* JEP 409: Sealed Classes</a>
|
||||
*/
|
||||
RELEASE_17,
|
||||
|
|
|
@ -1963,7 +1963,7 @@ public class JEditorPane extends JTextComponent {
|
|||
* as appropriate for that link.
|
||||
* <p>
|
||||
* E.g. from HTML:
|
||||
* <a href="http://openjdk.java.net">OpenJDK</a>
|
||||
* <a href="https://openjdk.org">OpenJDK</a>
|
||||
* this method would return a String containing the text:
|
||||
* 'OpenJDK'.
|
||||
* <p>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2007, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2007, 2022, 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
|
||||
|
@ -143,7 +143,7 @@ public class IdentityArrayList<E> extends AbstractList<E>
|
|||
elementData = c.toArray();
|
||||
size = elementData.length;
|
||||
// defend against c.toArray (incorrectly) not returning Object[]
|
||||
// (see e.g. https://bugs.openjdk.java.net/browse/JDK-6260652)
|
||||
// (see e.g. https://bugs.openjdk.org/browse/JDK-6260652)
|
||||
if (elementData.getClass() != Object[].class)
|
||||
elementData = Arrays.copyOf(elementData, size, Object[].class);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
*/
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@ -469,7 +469,7 @@ public final class Const {
|
|||
|
||||
/**
|
||||
* Marks a constant pool entry as dynamically computed.
|
||||
* @see <a href="https://bugs.openjdk.java.net/secure/attachment/74618/constant-dynamic.html">
|
||||
* @see <a href="https://bugs.openjdk.org/secure/attachment/74618/constant-dynamic.html">
|
||||
* Change request for JEP 309</a>
|
||||
* @since 6.3
|
||||
*/
|
||||
|
|
|
@ -31,7 +31,7 @@ import com.sun.org.apache.bcel.internal.Const;
|
|||
* and represents a reference to a dynamically computed constant.
|
||||
*
|
||||
* @see Constant
|
||||
* @see <a href="https://bugs.openjdk.java.net/secure/attachment/74618/constant-dynamic.html">
|
||||
* @see <a href="https://bugs.openjdk.org/secure/attachment/74618/constant-dynamic.html">
|
||||
* Change request for JEP 309</a>
|
||||
* @since 6.3
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2022, 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
|
||||
|
@ -279,10 +279,10 @@ import jdk.xml.internal.SecuritySupport;
|
|||
* <td>
|
||||
* <pre>{@literal
|
||||
The following XInclude element:
|
||||
<xi:include href="http://openjdk.java.net/xml/disclaimer.xml"/>
|
||||
<xi:include href="https://openjdk.org/xml/disclaimer.xml"/>
|
||||
|
||||
can be resolved using a URI entry:
|
||||
<uri name="http://openjdk.java.net/xml/disclaimer.xml" uri="file:///pathto/local/disclaimer.xml"/>
|
||||
<uri name="https://openjdk.org/xml/disclaimer.xml" uri="file:///pathto/local/disclaimer.xml"/>
|
||||
or
|
||||
<uriSuffix uriSuffix="disclaimer.xml" uri="file:///pathto/local/disclaimer.xml"/>
|
||||
* }</pre>
|
||||
|
@ -294,15 +294,15 @@ import jdk.xml.internal.SecuritySupport;
|
|||
* <td>
|
||||
* <pre>{@literal
|
||||
The following import element:
|
||||
<xsd:import namespace="http://openjdk.java.net/xsd/XSDImport_person"
|
||||
schemaLocation="http://openjdk.java.net/xsd/XSDImport_person.xsd"/>
|
||||
<xsd:import namespace="https://openjdk.org/xsd/XSDImport_person"
|
||||
schemaLocation="https://openjdk.org/xsd/XSDImport_person.xsd"/>
|
||||
|
||||
can be resolved using a URI entry:
|
||||
<uri name="http://openjdk.java.net/xsd/XSDImport_person.xsd" uri="file:///pathto/local/XSDImport_person.xsd"/>
|
||||
<uri name="https://openjdk.org/xsd/XSDImport_person.xsd" uri="file:///pathto/local/XSDImport_person.xsd"/>
|
||||
or
|
||||
<uriSuffix uriSuffix="XSDImport_person.xsd" uri="file:///pathto/local/XSDImport_person.xsd"/>
|
||||
or
|
||||
<uriSuffix uriSuffix="http://openjdk.java.net/xsd/XSDImport_person" uri="file:///pathto/local/XSDImport_person.xsd"/>
|
||||
<uriSuffix uriSuffix="https://openjdk.org/xsd/XSDImport_person" uri="file:///pathto/local/XSDImport_person.xsd"/>
|
||||
* }</pre>
|
||||
* </td>
|
||||
* </tr>
|
||||
|
@ -312,10 +312,10 @@ import jdk.xml.internal.SecuritySupport;
|
|||
* <td>
|
||||
* <pre>{@literal
|
||||
The following include element:
|
||||
<xsd:include schemaLocation="http://openjdk.java.net/xsd/XSDInclude_person.xsd"/>
|
||||
<xsd:include schemaLocation="https://openjdk.org/xsd/XSDInclude_person.xsd"/>
|
||||
|
||||
can be resolved using a URI entry:
|
||||
<uri name="http://openjdk.java.net/xsd/XSDInclude_person.xsd" uri="file:///pathto/local/XSDInclude_person.xsd"/>
|
||||
<uri name="https://openjdk.org/xsd/XSDInclude_person.xsd" uri="file:///pathto/local/XSDInclude_person.xsd"/>
|
||||
or
|
||||
<uriSuffix uriSuffix="XSDInclude_person.xsd" uri="file:///pathto/local/XSDInclude_person.xsd"/>
|
||||
* }</pre>
|
||||
|
@ -327,10 +327,10 @@ import jdk.xml.internal.SecuritySupport;
|
|||
* <td>
|
||||
* <pre>{@literal
|
||||
The following include element:
|
||||
<xsl:include href="http://openjdk.java.net/xsl/include.xsl"/>
|
||||
<xsl:include href="https://openjdk.org/xsl/include.xsl"/>
|
||||
|
||||
can be resolved using a URI entry:
|
||||
<uri name="http://openjdk.java.net/xsl/include.xsl" uri="file:///pathto/local/include.xsl"/>
|
||||
<uri name="https://openjdk.org/xsl/include.xsl" uri="file:///pathto/local/include.xsl"/>
|
||||
or
|
||||
<uriSuffix uriSuffix="include.xsl" uri="file:///pathto/local/include.xsl"/>
|
||||
* }</pre>
|
||||
|
@ -342,10 +342,10 @@ import jdk.xml.internal.SecuritySupport;
|
|||
* <td>
|
||||
* <pre>{@literal
|
||||
The document in the following element:
|
||||
<xsl:variable name="dummy" select="document('http://openjdk.java.net/xsl/list.xml')"/>
|
||||
<xsl:variable name="dummy" select="document('https://openjdk.org/xsl/list.xml')"/>
|
||||
|
||||
can be resolved using a URI entry:
|
||||
<uri name="http://openjdk.java.net/xsl/list.xml" uri="file:///pathto/local/list.xml"/>
|
||||
<uri name="https://openjdk.org/xsl/list.xml" uri="file:///pathto/local/list.xml"/>
|
||||
or
|
||||
<uriSuffix uriSuffix="list.xml" uri="file:///pathto/local/list.xml"/>
|
||||
* }</pre>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -31,13 +31,13 @@
|
|||
* AccessBridgeCalls.c is available for download from the OpenJDK repository using
|
||||
* the following link:
|
||||
*
|
||||
* http://hg.openjdk.java.net/jdk9/jdk9/jdk/raw-file/tip/src/jdk.accessibility/windows/native/bridge/AccessBridgeCalls.c
|
||||
* https://git.openjdk.org/jdk17/blob/master/src/jdk.accessibility/windows/native/bridge/AccessBridgeCalls.c
|
||||
*
|
||||
* Also note that the API is used in the jaccessinspector and jaccesswalker tools.
|
||||
* The source for those tools is available in the OpenJDK repository at these links:
|
||||
*
|
||||
* http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/tip/src/jdk.accessibility/windows/native/jaccessinspector/jaccessinspector.cpp
|
||||
* http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/tip/src/jdk.accessibility/windows/native/jaccesswalker/jaccesswalker.cpp
|
||||
* https://git.openjdk.org/jdk17/blob/master/src/jdk.accessibility/windows/native/jaccessinspector/jaccessinspector.cpp
|
||||
* https://git.openjdk.org/jdk17/blob/master/src/jdk.accessibility/windows/native/jaccesswalker/jaccesswalker.cpp
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2022, 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
|
||||
|
@ -225,7 +225,7 @@ abstract class AbstractMask<E> extends VectorMask<E> {
|
|||
// For integral types, *all* lane bits will be set.
|
||||
// The bits for -1.0 are like {0b10111*0000*}.
|
||||
// FIXME: Use a conversion intrinsic for this operation.
|
||||
// https://bugs.openjdk.java.net/browse/JDK-8225740
|
||||
// https://bugs.openjdk.org/browse/JDK-8225740
|
||||
return (AbstractVector<E>) zero.blend(mone, this);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2018, 2022, 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
|
||||
|
@ -114,7 +114,7 @@ abstract class AbstractShuffle<E> extends VectorShuffle<E> {
|
|||
// are already clipped. At this point we convert
|
||||
// them from internal ints (or bytes) into the ETYPE.
|
||||
// FIXME: Use a conversion intrinsic for this operation.
|
||||
// https://bugs.openjdk.java.net/browse/JDK-8225740
|
||||
// https://bugs.openjdk.org/browse/JDK-8225740
|
||||
return (AbstractVector<E>) vspecies().fromIntValues(toArray());
|
||||
}
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@ abstract class AbstractSpecies<E> extends jdk.internal.vm.vector.VectorSupport.V
|
|||
return (Class<E>) laneType.elementType;
|
||||
}
|
||||
|
||||
// FIXME: appeal to general method (see https://bugs.openjdk.java.net/browse/JDK-6176992)
|
||||
// FIXME: appeal to general method (see https://bugs.openjdk.org/browse/JDK-6176992)
|
||||
// replace usages of this method and remove
|
||||
@ForceInline
|
||||
@SuppressWarnings("unchecked")
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2022, 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
|
||||
|
@ -112,7 +112,7 @@ public interface HotSpotResolvedJavaMethod extends ResolvedJavaMethod {
|
|||
* this is denoted by the {@code IntrinsicCandidate} annotation. In earlier JDK versions, this
|
||||
* method returns true.
|
||||
*
|
||||
* @see <a href="https://bugs.openjdk.java.net/browse/JDK-8076112">JDK-8076112</a>
|
||||
* @see <a href="https://bugs.openjdk.org/browse/JDK-8076112">JDK-8076112</a>
|
||||
*/
|
||||
boolean isIntrinsicCandidate();
|
||||
|
||||
|
|
|
@ -162,8 +162,8 @@
|
|||
* This code and its internal interfaces are subject to change or
|
||||
* deletion without notice.</b>
|
||||
*
|
||||
* @see <a href="https://openjdk.java.net/groups/compiler/javadoc-architecture.html">JavaDoc Architecture</a>
|
||||
* @see <a href="https://openjdk.java.net/groups/compiler/using-new-doclet.html">Using the new Doclet API</a>
|
||||
* @see <a href="https://openjdk.java.net/groups/compiler/processing-code.html">Processing Code</a>
|
||||
* @see <a href="https://openjdk.org/groups/compiler/javadoc-architecture.html">JavaDoc Architecture</a>
|
||||
* @see <a href="https://openjdk.org/groups/compiler/using-new-doclet.html">Using the new Doclet API</a>
|
||||
* @see <a href="https://openjdk.org/groups/compiler/processing-code.html">Processing Code</a>
|
||||
*/
|
||||
package jdk.javadoc.internal;
|
|
@ -267,4 +267,4 @@ inverse.transitive.dependencies.matching=Inverse transitive dependences matching
|
|||
internal.api.column.header=JDK Internal API
|
||||
public.api.replacement.column.header=Suggested Replacement
|
||||
artifact.not.found=not found
|
||||
jdeps.wiki.url=https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
|
||||
jdeps.wiki.url=https://wiki.openjdk.org/display/JDK8/Java+Dependency+Analysis+Tool
|
||||
|
|
|
@ -129,4 +129,4 @@ inverse.transitive.dependencies.matching=Inverse transitive Abh\u00E4ngigkeiten,
|
|||
internal.api.column.header=JDK-interne API
|
||||
public.api.replacement.column.header=Vorgeschlagene Ersetzung
|
||||
artifact.not.found=nicht gefunden
|
||||
jdeps.wiki.url=https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
|
||||
jdeps.wiki.url=https://wiki.openjdk.org/display/JDK8/Java+Dependency+Analysis+Tool
|
||||
|
|
|
@ -129,4 +129,4 @@ inverse.transitive.dependencies.matching={0}\u306B\u4E00\u81F4\u3059\u308B\u63A8
|
|||
internal.api.column.header=JDK\u5185\u90E8API
|
||||
public.api.replacement.column.header=\u4FEE\u6B63\u5019\u88DC
|
||||
artifact.not.found=\u898B\u3064\u304B\u308A\u307E\u305B\u3093
|
||||
jdeps.wiki.url=https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
|
||||
jdeps.wiki.url=https://wiki.openjdk.org/display/JDK8/Java+Dependency+Analysis+Tool
|
||||
|
|
|
@ -129,4 +129,4 @@ inverse.transitive.dependencies.matching=\u4E0E {0} \u5339\u914D\u7684\u9006\u54
|
|||
internal.api.column.header=JDK \u5185\u90E8 API
|
||||
public.api.replacement.column.header=\u5EFA\u8BAE\u7684\u66FF\u6362
|
||||
artifact.not.found=\u627E\u4E0D\u5230
|
||||
jdeps.wiki.url=https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
|
||||
jdeps.wiki.url=https://wiki.openjdk.org/display/JDK8/Java+Dependency+Analysis+Tool
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###########################################################################
|
||||
#
|
||||
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -34,16 +34,16 @@ com.sun.net.ssl.internal.ssl.Provider=Use java.security.Security.getProvider(pro
|
|||
com.sun.rowset=Use javax.sql.rowset.RowSetProvider @since 1.7
|
||||
com.sun.tools.javac.tree=Use com.sun.source @since 1.6
|
||||
com.sun.tools.javac=Use javax.tools and javax.lang.model @since 1.6
|
||||
java.awt.peer=Should not use. See https://bugs.openjdk.java.net/browse/JDK-8037739
|
||||
java.awt.dnd.peer=Should not use. See https://bugs.openjdk.java.net/browse/JDK-8037739
|
||||
java.awt.peer=Should not use. See https://bugs.openjdk.org/browse/JDK-8037739
|
||||
java.awt.dnd.peer=Should not use. See https://bugs.openjdk.org/browse/JDK-8037739
|
||||
jdk.internal.ref.Cleaner=Use java.lang.ref.PhantomReference @since 1.2 or java.lang.ref.Cleaner @since 9
|
||||
sun.awt.CausedFocusEvent=Use java.awt.event.FocusEvent::getCause @since 9
|
||||
sun.font.FontUtilities=See java.awt.Font.textRequiresLayout @since 9
|
||||
sun.reflect.Reflection=Use java.lang.StackWalker @since 9
|
||||
sun.reflect.ReflectionFactory=See http://openjdk.java.net/jeps/260
|
||||
sun.misc.Unsafe=See http://openjdk.java.net/jeps/260
|
||||
sun.misc.Signal=See http://openjdk.java.net/jeps/260
|
||||
sun.misc.SignalHandler=See http://openjdk.java.net/jeps/260
|
||||
sun.reflect.ReflectionFactory=See https://openjdk.org/jeps/260
|
||||
sun.misc.Unsafe=See https://openjdk.org/jeps/260
|
||||
sun.misc.Signal=See https://openjdk.org/jeps/260
|
||||
sun.misc.SignalHandler=See https://openjdk.org/jeps/260
|
||||
sun.security.action=Use java.security.PrivilegedAction @since 1.1
|
||||
sun.security.krb5=Use com.sun.security.jgss
|
||||
sun.security.provider.PolicyFile=Use java.security.Policy.getInstance("JavaPolicy", new URIParameter(uri)) @since 1.6
|
||||
|
@ -55,15 +55,15 @@ sun.security.x509.X500Name=Use javax.security.auth.x500.X500Principal @since 1.4
|
|||
sun.tools.jar=Use java.util.jar or jar tool @since 1.2
|
||||
# Internal APIs removed in JDK 9
|
||||
com.apple.eawt=Use java.awt.Desktop and JEP 272 @since 9
|
||||
com.apple.concurrent=Removed. See https://bugs.openjdk.java.net/browse/JDK-8148187
|
||||
com.apple.concurrent=Removed. See https://bugs.openjdk.org/browse/JDK-8148187
|
||||
com.sun.image.codec.jpeg=Use javax.imageio @since 1.4
|
||||
sun.awt.image.codec=Use javax.imageio @since 1.4
|
||||
sun.misc.BASE64Encoder=Use java.util.Base64 @since 1.8
|
||||
sun.misc.BASE64Decoder=Use java.util.Base64 @since 1.8
|
||||
sun.misc.Cleaner=Use java.lang.ref.PhantomReference @since 1.2 or java.lang.ref.Cleaner @since 9
|
||||
sun.misc.Service=Use java.util.ServiceLoader @since 1.6
|
||||
sun.misc=Removed. See http://openjdk.java.net/jeps/260
|
||||
sun.reflect=Removed. See http://openjdk.java.net/jeps/260
|
||||
sun.misc=Removed. See https://openjdk.org/jeps/260
|
||||
sun.reflect=Removed. See https://openjdk.org/jeps/260
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2008, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2020 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -25,7 +25,7 @@
|
|||
*/
|
||||
|
||||
/* Empty stubs for now to satisfy the new build process. */
|
||||
/* Implement and update https://bugs.openjdk.java.net/browse/JDK-8030957 */
|
||||
/* Implement and update https://bugs.openjdk.org/browse/JDK-8030957 */
|
||||
|
||||
#include <jni.h>
|
||||
#include "com_sun_management_internal_OperatingSystemImpl.h"
|
||||
|
|
|
@ -47,4 +47,4 @@ with unique names being generated by adding a number onto the provided file
|
|||
name.
|
||||
|
||||
More information about the tool is available at
|
||||
https://wiki.openjdk.java.net/display/HotSpot/IdealGraphVisualizer.
|
||||
https://wiki.openjdk.org/display/HotSpot/IdealGraphVisualizer.
|
||||
|
|
|
@ -13,9 +13,9 @@ Adding the -i option with also report inlining like PrintInlining.
|
|||
|
||||
More information about the LogCompilation output can be found at
|
||||
|
||||
https://wiki.openjdk.java.net/display/HotSpot/LogCompilation+overview
|
||||
https://wiki.openjdk.java.net/display/HotSpot/PrintCompilation
|
||||
https://wiki.openjdk.java.net/display/HotSpot/LogCompilation+tool
|
||||
https://wiki.openjdk.org/display/HotSpot/LogCompilation+overview
|
||||
https://wiki.openjdk.org/display/HotSpot/PrintCompilation
|
||||
https://wiki.openjdk.org/display/HotSpot/LogCompilation+tool
|
||||
|
||||
The project layout is now for Maven. To build the project with Maven do:
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ you need to augment your `PATH` variable to also point to where you installed
|
|||
LLVM (like `C:\LLVM\bin`).
|
||||
|
||||
More information is available at the [HotSpot
|
||||
wiki](https://wiki.openjdk.java.net/display/HotSpot/PrintAssembly).
|
||||
wiki](https://wiki.openjdk.org/display/HotSpot/PrintAssembly).
|
||||
|
||||
## Building with Capstone
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче