Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
8278885: Remove Windows ARM64 int8_t workaround in G1
Reviewed-by: erikj, tschatzl, mli
  • Loading branch information
aamarsh authored and Thomas Schatzl committed Jan 17, 2022
1 parent 5d52bf9 commit 7b6738f
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 10 deletions.
2 changes: 1 addition & 1 deletion doc/building.html
Expand Up @@ -298,7 +298,7 @@ <h3 id="apple-xcode">Apple Xcode</h3>
<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="microsoft-visual-studio">Microsoft Visual Studio</h3>
<p>The minimum accepted version of Visual Studio is 2017. Older versions will not be accepted by <code>configure</code> and will not work. The maximum accepted version of Visual Studio is 2019.</p>
<p>For aarch64 machines running Windows the minimum accepted version is Visual Studio 2019 (16.8 or higher). For all other platforms the minimum accepted version of Visual Studio is 2017. Older versions will not be accepted by <code>configure</code> and will not work. For all platforms the maximum accepted version of Visual Studio is 2022.</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=2017</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>
Expand Down
7 changes: 4 additions & 3 deletions doc/building.md
Expand Up @@ -374,9 +374,10 @@ available for this update.

### Microsoft Visual Studio

The minimum accepted version of Visual Studio is 2017. Older versions will not
be accepted by `configure` and will not work. The maximum accepted
version of Visual Studio is 2019.
For aarch64 machines running Windows the minimum accepted version is Visual Studio 2019
(16.8 or higher). For all other platforms the minimum accepted version of
Visual Studio is 2017. Older versions will not be accepted by `configure` and will
not work. For all platforms the maximum accepted version of Visual Studio is 2022.

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
Expand Down
1 change: 1 addition & 0 deletions make/autoconf/toolchain_microsoft.m4
Expand Up @@ -103,6 +103,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
vc/auxiliary/build/vcvarsx86_amd64.bat vc/auxiliary/build/vcvars64.bat"
elif test "x$TARGET_CPU" = xaarch64; then
# for host x86-64, target aarch64
# aarch64 requires Visual Studio 16.8 or higher
VCVARSFILES="vc/auxiliary/build/vcvarsamd64_arm64.bat \
vc/auxiliary/build/vcvarsx86_arm64.bat"
fi
Expand Down
6 changes: 0 additions & 6 deletions src/hotspot/share/gc/g1/g1HeapRegionAttr.hpp
Expand Up @@ -32,13 +32,7 @@
// lookups for that information all over the place.
struct G1HeapRegionAttr {
public:
#if defined(_M_ARM64)&& defined(_MSC_VER) && _MSC_VER <= 1927
// workaround for MSCV ARM64 bug
// https://developercommunity.visualstudio.com/content/problem/1079221/arm64-bad-code-generation-around-signed-char-arith.html
typedef int32_t region_type_t;
#else
typedef int8_t region_type_t;
#endif
// remset_is_tracked_t is essentially bool, but we need precise control
// on the size, and sizeof(bool) is implementation specific.
typedef uint8_t remset_is_tracked_t;
Expand Down

1 comment on commit 7b6738f

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.