mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 03:58:21 +00:00
Merge branch 'master' into cha.intf.recv
This commit is contained in:
commit
c9e80ed3ee
2
.github/actions/build-jtreg/action.yml
vendored
2
.github/actions/build-jtreg/action.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
2
.github/actions/get-bundles/action.yml
vendored
2
.github/actions/get-bundles/action.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
2
.github/actions/get-gtest/action.yml
vendored
2
.github/actions/get-gtest/action.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
2
.github/actions/get-jtreg/action.yml
vendored
2
.github/actions/get-jtreg/action.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
2
.github/actions/get-msys2/action.yml
vendored
2
.github/actions/get-msys2/action.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
2
.github/actions/upload-bundles/action.yml
vendored
2
.github/actions/upload-bundles/action.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
4
.github/workflows/build-alpine-linux.yml
vendored
4
.github/workflows/build-alpine-linux.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2024, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -96,6 +96,8 @@ jobs:
|
|||||||
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
|
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
|
||||||
--with-zlib=system
|
--with-zlib=system
|
||||||
--with-jmod-compress=zip-1
|
--with-jmod-compress=zip-1
|
||||||
|
--with-external-symbols-in-bundles=none
|
||||||
|
--with-native-debug-symbols-level=1
|
||||||
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||||
echo "Dumping config.log:" &&
|
echo "Dumping config.log:" &&
|
||||||
cat config.log &&
|
cat config.log &&
|
||||||
|
|||||||
4
.github/workflows/build-cross-compile.yml
vendored
4
.github/workflows/build-cross-compile.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -179,6 +179,8 @@ jobs:
|
|||||||
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
|
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
|
||||||
--with-sysroot=sysroot
|
--with-sysroot=sysroot
|
||||||
--with-jmod-compress=zip-1
|
--with-jmod-compress=zip-1
|
||||||
|
--with-external-symbols-in-bundles=none
|
||||||
|
--with-native-debug-symbols-level=1
|
||||||
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
|
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
|
||||||
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
|
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
|
||||||
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||||
|
|||||||
4
.github/workflows/build-linux.yml
vendored
4
.github/workflows/build-linux.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -143,6 +143,8 @@ jobs:
|
|||||||
--with-gtest=${{ steps.gtest.outputs.path }}
|
--with-gtest=${{ steps.gtest.outputs.path }}
|
||||||
--with-zlib=system
|
--with-zlib=system
|
||||||
--with-jmod-compress=zip-1
|
--with-jmod-compress=zip-1
|
||||||
|
--with-external-symbols-in-bundles=none
|
||||||
|
--with-native-debug-symbols-level=1
|
||||||
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||||
echo "Dumping config.log:" &&
|
echo "Dumping config.log:" &&
|
||||||
cat config.log &&
|
cat config.log &&
|
||||||
|
|||||||
4
.github/workflows/build-macos.yml
vendored
4
.github/workflows/build-macos.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -110,6 +110,8 @@ jobs:
|
|||||||
--with-gtest=${{ steps.gtest.outputs.path }}
|
--with-gtest=${{ steps.gtest.outputs.path }}
|
||||||
--with-zlib=system
|
--with-zlib=system
|
||||||
--with-jmod-compress=zip-1
|
--with-jmod-compress=zip-1
|
||||||
|
--with-external-symbols-in-bundles=none
|
||||||
|
--with-native-debug-symbols-level=1
|
||||||
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||||
echo "Dumping config.log:" &&
|
echo "Dumping config.log:" &&
|
||||||
cat config.log &&
|
cat config.log &&
|
||||||
|
|||||||
3
.github/workflows/build-windows.yml
vendored
3
.github/workflows/build-windows.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -134,6 +134,7 @@ jobs:
|
|||||||
--with-gtest=${{ steps.gtest.outputs.path }}
|
--with-gtest=${{ steps.gtest.outputs.path }}
|
||||||
--with-msvc-toolset-version=${{ inputs.msvc-toolset-version }}
|
--with-msvc-toolset-version=${{ inputs.msvc-toolset-version }}
|
||||||
--with-jmod-compress=zip-1
|
--with-jmod-compress=zip-1
|
||||||
|
--with-external-symbols-in-bundles=none
|
||||||
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||||
echo "Dumping config.log:" &&
|
echo "Dumping config.log:" &&
|
||||||
cat config.log &&
|
cat config.log &&
|
||||||
|
|||||||
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -185,77 +185,30 @@ endif
|
|||||||
|
|
||||||
ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
|
ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
|
||||||
|
|
||||||
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.map
|
# There may be files with spaces in the names, so use ShellFindFiles explicitly.
|
||||||
|
|
||||||
# There may be files with spaces in the names, so use ShellFindFiles
|
|
||||||
# explicitly.
|
|
||||||
ALL_JDK_FILES := $(call ShellFindFiles, $(JDK_IMAGE_DIR))
|
ALL_JDK_FILES := $(call ShellFindFiles, $(JDK_IMAGE_DIR))
|
||||||
ifneq ($(JDK_IMAGE_DIR), $(JDK_SYMBOLS_IMAGE_DIR))
|
|
||||||
ALL_JDK_SYMBOLS_FILES := $(call ShellFindFiles, $(JDK_SYMBOLS_IMAGE_DIR))
|
|
||||||
else
|
|
||||||
ALL_JDK_SYMBOLS_FILES := $(ALL_JDK_FILES)
|
|
||||||
endif
|
|
||||||
ifneq ($(JDK_IMAGE_DIR), $(JDK_DEMOS_IMAGE_DIR))
|
ifneq ($(JDK_IMAGE_DIR), $(JDK_DEMOS_IMAGE_DIR))
|
||||||
ALL_JDK_DEMOS_FILES := $(call ShellFindFiles, $(JDK_DEMOS_IMAGE_DIR))
|
ALL_JDK_DEMOS_FILES := $(call ShellFindFiles, $(JDK_DEMOS_IMAGE_DIR))
|
||||||
else
|
else
|
||||||
ALL_JDK_DEMOS_FILES := $(ALL_JDK_FILES)
|
ALL_JDK_DEMOS_FILES := $(ALL_JDK_FILES)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Create special filter rules when dealing with unzipped .dSYM directories on
|
|
||||||
# macosx
|
|
||||||
ifeq ($(call isTargetOs, macosx), true)
|
|
||||||
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
|
|
||||||
JDK_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
|
|
||||||
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, \
|
|
||||||
$(ALL_JDK_SYMBOLS_FILES))))
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Create special filter rules when dealing with debug symbols on windows
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
|
||||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
|
||||||
JDK_SYMBOLS_EXCLUDE_PATTERN := %.pdb
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
JDK_BUNDLE_FILES := \
|
JDK_BUNDLE_FILES := \
|
||||||
$(filter-out \
|
$(filter-out \
|
||||||
$(JDK_SYMBOLS_EXCLUDE_PATTERN) \
|
|
||||||
$(JDK_EXTRA_EXCLUDES) \
|
$(JDK_EXTRA_EXCLUDES) \
|
||||||
$(SYMBOLS_EXCLUDE_PATTERN) \
|
|
||||||
$(JDK_IMAGE_HOMEDIR)/demo/% \
|
$(JDK_IMAGE_HOMEDIR)/demo/% \
|
||||||
, \
|
, \
|
||||||
$(ALL_JDK_FILES) \
|
$(ALL_JDK_FILES) \
|
||||||
)
|
)
|
||||||
|
|
||||||
JDK_SYMBOLS_BUNDLE_FILES := \
|
JDK_SYMBOLS_BUNDLE_FILES := $(call FindFiles, $(SYMBOLS_IMAGE_DIR))
|
||||||
$(call FindFiles, $(SYMBOLS_IMAGE_DIR))
|
|
||||||
|
|
||||||
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_DEMOS_IMAGE_HOMEDIR)/demo/%, \
|
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_DEMOS_IMAGE_HOMEDIR)/demo/%, \
|
||||||
$(ALL_JDK_DEMOS_FILES))
|
$(ALL_JDK_DEMOS_FILES))
|
||||||
|
|
||||||
ALL_JRE_FILES := $(call ShellFindFiles, $(JRE_IMAGE_DIR))
|
ALL_JRE_FILES := $(call ShellFindFiles, $(JRE_IMAGE_DIR))
|
||||||
|
|
||||||
# Create special filter rules when dealing with unzipped .dSYM directories on
|
JRE_BUNDLE_FILES := $(ALL_JRE_FILES)
|
||||||
# macosx
|
|
||||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
|
||||||
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
|
|
||||||
JRE_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
|
|
||||||
$(call containing, .dSYM/, $(patsubst $(JRE_IMAGE_DIR)/%, %, $(ALL_JRE_FILES))))
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Create special filter rules when dealing with debug symbols on windows
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
|
||||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
|
||||||
JRE_SYMBOLS_EXCLUDE_PATTERN := %.pdb
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
JRE_BUNDLE_FILES := $(filter-out \
|
|
||||||
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
|
|
||||||
$(SYMBOLS_EXCLUDE_PATTERN), \
|
|
||||||
$(ALL_JRE_FILES))
|
|
||||||
|
|
||||||
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
|
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
|
||||||
# Macosx release build and code signing available.
|
# Macosx release build and code signing available.
|
||||||
|
|||||||
@ -218,10 +218,14 @@ ifeq ($(call isTargetOs, windows), true)
|
|||||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
||||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.pdb,*.map}'
|
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.pdb,*.map}'
|
||||||
else
|
else
|
||||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.map}'
|
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.map}'
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
|
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
||||||
|
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
|
||||||
|
else
|
||||||
|
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*}'
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Unless we are creating a very large module, use the small tool JVM options
|
# Unless we are creating a very large module, use the small tool JVM options
|
||||||
|
|||||||
@ -93,16 +93,19 @@ JAVADOC_DISABLED_DOCLINT_WARNINGS := missing
|
|||||||
JAVADOC_DISABLED_DOCLINT_PACKAGES := org.w3c.* javax.smartcardio
|
JAVADOC_DISABLED_DOCLINT_PACKAGES := org.w3c.* javax.smartcardio
|
||||||
|
|
||||||
# The initial set of options for javadoc
|
# The initial set of options for javadoc
|
||||||
|
# -XDaccessInternalAPI is a temporary workaround, see 8373909
|
||||||
JAVADOC_OPTIONS := -use -keywords -notimestamp \
|
JAVADOC_OPTIONS := -use -keywords -notimestamp \
|
||||||
-serialwarn -encoding utf-8 -docencoding utf-8 -breakiterator \
|
-serialwarn -encoding utf-8 -docencoding utf-8 -breakiterator \
|
||||||
-splitIndex --system none -javafx --expand-requires transitive \
|
-splitIndex --system none -javafx --expand-requires transitive \
|
||||||
--override-methods=summary
|
--override-methods=summary \
|
||||||
|
-XDaccessInternalAPI
|
||||||
|
|
||||||
# The reference options must stay stable to allow for comparisons across the
|
# The reference options must stay stable to allow for comparisons across the
|
||||||
# development cycle.
|
# development cycle.
|
||||||
REFERENCE_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
|
REFERENCE_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
|
||||||
-serialwarn -encoding utf-8 -breakiterator -splitIndex --system none \
|
-serialwarn -encoding utf-8 -breakiterator -splitIndex --system none \
|
||||||
-html5 -javafx --expand-requires transitive
|
-html5 -javafx --expand-requires transitive \
|
||||||
|
-XDaccessInternalAPI
|
||||||
|
|
||||||
# Should we add DRAFT stamps to the generated javadoc?
|
# Should we add DRAFT stamps to the generated javadoc?
|
||||||
ifeq ($(VERSION_IS_GA), true)
|
ifeq ($(VERSION_IS_GA), true)
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2017, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2015, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2015, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -69,6 +69,19 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
|
|||||||
# Debug prefix mapping if supported by compiler
|
# Debug prefix mapping if supported by compiler
|
||||||
DEBUG_PREFIX_CFLAGS=
|
DEBUG_PREFIX_CFLAGS=
|
||||||
|
|
||||||
|
UTIL_ARG_WITH(NAME: native-debug-symbols-level, TYPE: literal,
|
||||||
|
DEFAULT: [auto], VALID_VALUES: [auto 1 2 3],
|
||||||
|
CHECK_AVAILABLE: [
|
||||||
|
if test x$TOOLCHAIN_TYPE = xmicrosoft; then
|
||||||
|
AVAILABLE=false
|
||||||
|
fi
|
||||||
|
],
|
||||||
|
DESC: [set the native debug symbol level (GCC and Clang only)],
|
||||||
|
DEFAULT_DESC: [toolchain default],
|
||||||
|
IF_AUTO: [
|
||||||
|
RESULT=""
|
||||||
|
])
|
||||||
|
|
||||||
# Debug symbols
|
# Debug symbols
|
||||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||||
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
|
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
|
||||||
@ -93,8 +106,9 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
|
|||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CFLAGS_DEBUG_SYMBOLS="-g -gdwarf-4"
|
# Debug info level should follow the debug format to be effective.
|
||||||
ASFLAGS_DEBUG_SYMBOLS="-g"
|
CFLAGS_DEBUG_SYMBOLS="-gdwarf-4 -g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
|
||||||
|
ASFLAGS_DEBUG_SYMBOLS="-g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
|
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
|
||||||
# Check if compiler supports -fdebug-prefix-map. If so, use that to make
|
# Check if compiler supports -fdebug-prefix-map. If so, use that to make
|
||||||
@ -113,8 +127,9 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
|
|||||||
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${GDWARF_FLAGS}],
|
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${GDWARF_FLAGS}],
|
||||||
IF_FALSE: [GDWARF_FLAGS=""])
|
IF_FALSE: [GDWARF_FLAGS=""])
|
||||||
|
|
||||||
CFLAGS_DEBUG_SYMBOLS="-g ${GDWARF_FLAGS}"
|
# Debug info level should follow the debug format to be effective.
|
||||||
ASFLAGS_DEBUG_SYMBOLS="-g"
|
CFLAGS_DEBUG_SYMBOLS="${GDWARF_FLAGS} -g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
|
||||||
|
ASFLAGS_DEBUG_SYMBOLS="-g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||||
CFLAGS_DEBUG_SYMBOLS="-Z7"
|
CFLAGS_DEBUG_SYMBOLS="-Z7"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -316,23 +316,36 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
|||||||
AC_MSG_CHECKING([if we should add external native debug symbols to the shipped bundles])
|
AC_MSG_CHECKING([if we should add external native debug symbols to the shipped bundles])
|
||||||
AC_ARG_WITH([external-symbols-in-bundles],
|
AC_ARG_WITH([external-symbols-in-bundles],
|
||||||
[AS_HELP_STRING([--with-external-symbols-in-bundles],
|
[AS_HELP_STRING([--with-external-symbols-in-bundles],
|
||||||
[which type of external native debug symbol information shall be shipped in product bundles (none, public, full)
|
[which type of external native debug symbol information shall be shipped with bundles/images (none, public, full).
|
||||||
(e.g. ship full/stripped pdbs on Windows) @<:@none@:>@])])
|
@<:@none in release builds, full otherwise. --with-native-debug-symbols=external/zipped is a prerequisite. public is only supported on Windows@:>@])],
|
||||||
|
[],
|
||||||
|
[with_external_symbols_in_bundles=default])
|
||||||
|
|
||||||
if test "x$with_external_symbols_in_bundles" = x || test "x$with_external_symbols_in_bundles" = xnone ; then
|
if test "x$with_external_symbols_in_bundles" = x || test "x$with_external_symbols_in_bundles" = xnone ; then
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
elif test "x$with_external_symbols_in_bundles" = xfull || test "x$with_external_symbols_in_bundles" = xpublic ; then
|
elif test "x$with_external_symbols_in_bundles" = xfull || test "x$with_external_symbols_in_bundles" = xpublic ; then
|
||||||
if test "x$OPENJDK_TARGET_OS" != xwindows ; then
|
if test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
|
||||||
AC_MSG_ERROR([--with-external-symbols-in-bundles currently only works on windows!])
|
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external/zipped is used!])
|
||||||
elif test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
|
elif test "x$with_external_symbols_in_bundles" = xpublic && test "x$OPENJDK_TARGET_OS" != xwindows ; then
|
||||||
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external is used!])
|
AC_MSG_ERROR([--with-external-symbols-in-bundles=public is only supported on Windows!])
|
||||||
elif test "x$with_external_symbols_in_bundles" = xfull ; then
|
fi
|
||||||
|
|
||||||
|
if test "x$with_external_symbols_in_bundles" = xfull ; then
|
||||||
AC_MSG_RESULT([full])
|
AC_MSG_RESULT([full])
|
||||||
SHIP_DEBUG_SYMBOLS=full
|
SHIP_DEBUG_SYMBOLS=full
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([public])
|
AC_MSG_RESULT([public])
|
||||||
SHIP_DEBUG_SYMBOLS=public
|
SHIP_DEBUG_SYMBOLS=public
|
||||||
fi
|
fi
|
||||||
|
elif test "x$with_external_symbols_in_bundles" = xdefault ; then
|
||||||
|
if test "x$DEBUG_LEVEL" = xrelease ; then
|
||||||
|
AC_MSG_RESULT([no (default)])
|
||||||
|
elif test "x$COPY_DEBUG_SYMBOLS" = xtrue ; then
|
||||||
|
AC_MSG_RESULT([full (default)])
|
||||||
|
SHIP_DEBUG_SYMBOLS=full
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no (default, native debug symbols are not external/zipped)])
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
AC_MSG_ERROR([$with_external_symbols_in_bundles is an unknown value for --with-external-symbols-in-bundles])
|
AC_MSG_ERROR([$with_external_symbols_in_bundles is an unknown value for --with-external-symbols-in-bundles])
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -114,7 +114,7 @@ EscapeDollar = $(subst $$,\$$,$(subst \$$,$$,$(strip $1)))
|
|||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# This macro works just like EscapeDollar above, but for #.
|
# This macro works just like EscapeDollar above, but for #.
|
||||||
EscapeHash = $(subst \#,\\\#,$(subst \\\#,\#,$(strip $1)))
|
EscapeHash = $(subst $(HASH),\$(HASH),$(subst \$(HASH),$(HASH),$(strip $1)))
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# This macro translates $ into $$ to protect the string from make itself.
|
# This macro translates $ into $$ to protect the string from make itself.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2015, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -61,7 +61,8 @@ $(eval $(call SetupJdkLibrary, BUILD_GTEST_LIBGTEST, \
|
|||||||
INCLUDE_FILES := gtest-all.cc gmock-all.cc, \
|
INCLUDE_FILES := gtest-all.cc gmock-all.cc, \
|
||||||
DISABLED_WARNINGS_gcc := format-nonliteral maybe-uninitialized undef \
|
DISABLED_WARNINGS_gcc := format-nonliteral maybe-uninitialized undef \
|
||||||
unused-result zero-as-null-pointer-constant, \
|
unused-result zero-as-null-pointer-constant, \
|
||||||
DISABLED_WARNINGS_clang := format-nonliteral undef unused-result, \
|
DISABLED_WARNINGS_clang := format-nonliteral undef unused-result \
|
||||||
|
zero-as-null-pointer-constant, \
|
||||||
DISABLED_WARNINGS_microsoft := 4530, \
|
DISABLED_WARNINGS_microsoft := 4530, \
|
||||||
DEFAULT_CFLAGS := false, \
|
DEFAULT_CFLAGS := false, \
|
||||||
CFLAGS := $(JVM_CFLAGS) \
|
CFLAGS := $(JVM_CFLAGS) \
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2017, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -31,10 +31,9 @@ import java.util.Set;
|
|||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
import javax.lang.model.element.Element;
|
import javax.lang.model.element.Element;
|
||||||
import javax.lang.model.element.PackageElement;
|
|
||||||
import javax.lang.model.element.TypeElement;
|
|
||||||
|
|
||||||
import com.sun.source.doctree.DocTree;
|
import com.sun.source.doctree.DocTree;
|
||||||
import com.sun.source.doctree.LiteralTree;
|
import com.sun.source.doctree.LiteralTree;
|
||||||
@ -160,9 +159,10 @@ public class JSpec implements Taglet {
|
|||||||
if (m.find()) {
|
if (m.find()) {
|
||||||
String chapter = m.group("chapter");
|
String chapter = m.group("chapter");
|
||||||
String section = m.group("section");
|
String section = m.group("section");
|
||||||
|
String rootParent = currentPath().replaceAll("[^/]+", "..");
|
||||||
|
|
||||||
String url = String.format("%1$s/../specs/%2$s/%2$s-%3$s.html#%2$s-%3$s%4$s",
|
String url = String.format("%1$s/specs/%2$s/%2$s-%3$s.html#%2$s-%3$s%4$s",
|
||||||
docRoot(elem), idPrefix, chapter, section);
|
rootParent, idPrefix, chapter, section);
|
||||||
|
|
||||||
sb.append("<a href=\"")
|
sb.append("<a href=\"")
|
||||||
.append(url)
|
.append(url)
|
||||||
@ -183,6 +183,22 @@ public class JSpec implements Taglet {
|
|||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static ThreadLocal<String> CURRENT_PATH = null;
|
||||||
|
|
||||||
|
private String currentPath() {
|
||||||
|
if (CURRENT_PATH == null) {
|
||||||
|
try {
|
||||||
|
Field f = Class.forName("jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter")
|
||||||
|
.getField("CURRENT_PATH");
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
ThreadLocal<String> tl = (ThreadLocal<String>) f.get(null);
|
||||||
|
CURRENT_PATH = tl;
|
||||||
|
} catch (ReflectiveOperationException e) {
|
||||||
|
throw new RuntimeException("Cannot determine current path", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return CURRENT_PATH.get();
|
||||||
|
}
|
||||||
|
|
||||||
private String expand(List<? extends DocTree> trees) {
|
private String expand(List<? extends DocTree> trees) {
|
||||||
return (new SimpleDocTreeVisitor<StringBuilder, StringBuilder>() {
|
return (new SimpleDocTreeVisitor<StringBuilder, StringBuilder>() {
|
||||||
@ -209,34 +225,4 @@ public class JSpec implements Taglet {
|
|||||||
}).visit(trees, new StringBuilder()).toString();
|
}).visit(trees, new StringBuilder()).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String docRoot(Element elem) {
|
|
||||||
switch (elem.getKind()) {
|
|
||||||
case MODULE:
|
|
||||||
return "..";
|
|
||||||
|
|
||||||
case PACKAGE:
|
|
||||||
PackageElement pe = (PackageElement)elem;
|
|
||||||
String pkgPart = pe.getQualifiedName()
|
|
||||||
.toString()
|
|
||||||
.replace('.', '/')
|
|
||||||
.replaceAll("[^/]+", "..");
|
|
||||||
return pe.getEnclosingElement() != null
|
|
||||||
? "../" + pkgPart
|
|
||||||
: pkgPart;
|
|
||||||
|
|
||||||
case CLASS, ENUM, RECORD, INTERFACE, ANNOTATION_TYPE:
|
|
||||||
TypeElement te = (TypeElement)elem;
|
|
||||||
return te.getQualifiedName()
|
|
||||||
.toString()
|
|
||||||
.replace('.', '/')
|
|
||||||
.replaceAll("[^/]+", "..");
|
|
||||||
|
|
||||||
default:
|
|
||||||
var enclosing = elem.getEnclosingElement();
|
|
||||||
if (enclosing == null)
|
|
||||||
throw new IllegalArgumentException(elem.getKind().toString());
|
|
||||||
return docRoot(enclosing);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2017, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -31,10 +31,9 @@ import java.util.Set;
|
|||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
import javax.lang.model.element.Element;
|
import javax.lang.model.element.Element;
|
||||||
import javax.lang.model.element.PackageElement;
|
|
||||||
import javax.lang.model.element.TypeElement;
|
|
||||||
|
|
||||||
import com.sun.source.doctree.DocTree;
|
import com.sun.source.doctree.DocTree;
|
||||||
import com.sun.source.doctree.UnknownBlockTagTree;
|
import com.sun.source.doctree.UnknownBlockTagTree;
|
||||||
@ -68,7 +67,7 @@ public class ToolGuide implements Taglet {
|
|||||||
|
|
||||||
static final String TAG_NAME = "toolGuide";
|
static final String TAG_NAME = "toolGuide";
|
||||||
|
|
||||||
static final String BASE_URL = "../specs/man";
|
static final String BASE_URL = "specs/man";
|
||||||
|
|
||||||
static final Pattern TAG_PATTERN = Pattern.compile("(?s)(?<name>[A-Za-z0-9]+)\\s*(?<label>.*)$");
|
static final Pattern TAG_PATTERN = Pattern.compile("(?s)(?<name>[A-Za-z0-9]+)\\s*(?<label>.*)$");
|
||||||
|
|
||||||
@ -119,9 +118,10 @@ public class ToolGuide implements Taglet {
|
|||||||
if (label.isEmpty()) {
|
if (label.isEmpty()) {
|
||||||
label = name;
|
label = name;
|
||||||
}
|
}
|
||||||
|
String rootParent = currentPath().replaceAll("[^/]+", "..");
|
||||||
|
|
||||||
String url = String.format("%s/%s/%s.html",
|
String url = String.format("%s/%s/%s.html",
|
||||||
docRoot(elem), BASE_URL, name);
|
rootParent, BASE_URL, name);
|
||||||
|
|
||||||
if (needComma) {
|
if (needComma) {
|
||||||
sb.append(",\n");
|
sb.append(",\n");
|
||||||
@ -142,33 +142,21 @@ public class ToolGuide implements Taglet {
|
|||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String docRoot(Element elem) {
|
private static ThreadLocal<String> CURRENT_PATH = null;
|
||||||
switch (elem.getKind()) {
|
|
||||||
case MODULE:
|
|
||||||
return "..";
|
|
||||||
|
|
||||||
case PACKAGE:
|
private String currentPath() {
|
||||||
PackageElement pe = (PackageElement)elem;
|
if (CURRENT_PATH == null) {
|
||||||
String pkgPart = pe.getQualifiedName()
|
try {
|
||||||
.toString()
|
Field f = Class.forName("jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter")
|
||||||
.replace('.', '/')
|
.getField("CURRENT_PATH");
|
||||||
.replaceAll("[^/]+", "..");
|
@SuppressWarnings("unchecked")
|
||||||
return pe.getEnclosingElement() != null
|
ThreadLocal<String> tl = (ThreadLocal<String>) f.get(null);
|
||||||
? "../" + pkgPart
|
CURRENT_PATH = tl;
|
||||||
: pkgPart;
|
} catch (ReflectiveOperationException e) {
|
||||||
|
throw new RuntimeException("Cannot determine current path", e);
|
||||||
case CLASS, ENUM, RECORD, INTERFACE, ANNOTATION_TYPE:
|
}
|
||||||
TypeElement te = (TypeElement)elem;
|
|
||||||
return te.getQualifiedName()
|
|
||||||
.toString()
|
|
||||||
.replace('.', '/')
|
|
||||||
.replaceAll("[^/]+", "..");
|
|
||||||
|
|
||||||
default:
|
|
||||||
var enclosing = elem.getEnclosingElement();
|
|
||||||
if (enclosing == null)
|
|
||||||
throw new IllegalArgumentException(elem.getKind().toString());
|
|
||||||
return docRoot(enclosing);
|
|
||||||
}
|
}
|
||||||
|
return CURRENT_PATH.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -286,7 +286,7 @@ public class ClassGenerator {
|
|||||||
diagnosticFlags.isEmpty() ?
|
diagnosticFlags.isEmpty() ?
|
||||||
StubKind.DIAGNOSTIC_FLAGS_EMPTY.format() :
|
StubKind.DIAGNOSTIC_FLAGS_EMPTY.format() :
|
||||||
StubKind.DIAGNOSTIC_FLAGS_NON_EMPTY.format(diagnosticFlags),
|
StubKind.DIAGNOSTIC_FLAGS_NON_EMPTY.format(diagnosticFlags),
|
||||||
StubKind.LINT_CATEGORY.format("\"" + lintCategory + "\""),
|
StubKind.LINT_CATEGORY.format(toLintFieldName(lintCategory)),
|
||||||
"\"" + keyParts[0] + "\"",
|
"\"" + keyParts[0] + "\"",
|
||||||
"\"" + Stream.of(keyParts).skip(2).collect(Collectors.joining(".")) + "\"",
|
"\"" + Stream.of(keyParts).skip(2).collect(Collectors.joining(".")) + "\"",
|
||||||
javadoc);
|
javadoc);
|
||||||
@ -314,7 +314,7 @@ public class ClassGenerator {
|
|||||||
diagnosticFlags.isEmpty() ?
|
diagnosticFlags.isEmpty() ?
|
||||||
StubKind.DIAGNOSTIC_FLAGS_EMPTY.format() :
|
StubKind.DIAGNOSTIC_FLAGS_EMPTY.format() :
|
||||||
StubKind.DIAGNOSTIC_FLAGS_NON_EMPTY.format(diagnosticFlags),
|
StubKind.DIAGNOSTIC_FLAGS_NON_EMPTY.format(diagnosticFlags),
|
||||||
StubKind.LINT_CATEGORY.format("\"" + lintCategory + "\""),
|
StubKind.LINT_CATEGORY.format(toLintFieldName(lintCategory)),
|
||||||
"\"" + keyParts[0] + "\"",
|
"\"" + keyParts[0] + "\"",
|
||||||
"\"" + Stream.of(keyParts).skip(2).collect(Collectors.joining(".")) + "\"",
|
"\"" + Stream.of(keyParts).skip(2).collect(Collectors.joining(".")) + "\"",
|
||||||
argNames.stream().collect(Collectors.joining(", ")));
|
argNames.stream().collect(Collectors.joining(", ")));
|
||||||
@ -329,6 +329,11 @@ public class ClassGenerator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String toLintFieldName(String lintCategory) {
|
||||||
|
return lintCategory.toUpperCase()
|
||||||
|
.replaceAll("-", "_");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Form the name of a factory method/field given a resource key.
|
* Form the name of a factory method/field given a resource key.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -87,7 +87,7 @@ suppress.warnings=\
|
|||||||
@SuppressWarnings("rawtypes")\n
|
@SuppressWarnings("rawtypes")\n
|
||||||
|
|
||||||
lint.category=\
|
lint.category=\
|
||||||
LintCategory.get({0}).get()
|
LintCategory.{0}
|
||||||
|
|
||||||
diagnostic.flags.empty=\
|
diagnostic.flags.empty=\
|
||||||
EnumSet.noneOf(DiagnosticFlag.class)
|
EnumSet.noneOf(DiagnosticFlag.class)
|
||||||
|
|||||||
@ -164,7 +164,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
|||||||
|
|
||||||
ifeq ($(USE_EXTERNAL_LIBPNG), false)
|
ifeq ($(USE_EXTERNAL_LIBPNG), false)
|
||||||
LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/libpng
|
LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/libpng
|
||||||
LIBSPLASHSCREEN_CFLAGS += -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0
|
LIBSPLASHSCREEN_CFLAGS += -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0 \
|
||||||
-DPNG_ARM_NEON_IMPLEMENTATION=0 -DPNG_LOONGARCH_LSX_OPT=0
|
-DPNG_ARM_NEON_IMPLEMENTATION=0 -DPNG_LOONGARCH_LSX_OPT=0
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, linux)+$(call isTargetCpuArch, ppc), true+true)
|
ifeq ($(call isTargetOs, linux)+$(call isTargetCpuArch, ppc), true+true)
|
||||||
|
|||||||
@ -54,21 +54,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJDWP, \
|
|||||||
NAME := jdwp, \
|
NAME := jdwp, \
|
||||||
OPTIMIZATION := LOW, \
|
OPTIMIZATION := LOW, \
|
||||||
CFLAGS := -DJDWP_LOGGING $(ICONV_CFLAGS), \
|
CFLAGS := -DJDWP_LOGGING $(ICONV_CFLAGS), \
|
||||||
DISABLED_WARNINGS_gcc_eventFilter.c := unused-variable, \
|
|
||||||
DISABLED_WARNINGS_gcc_SDE.c := unused-function, \
|
|
||||||
DISABLED_WARNINGS_gcc_threadControl.c := unused-but-set-variable \
|
|
||||||
unused-variable, \
|
|
||||||
DISABLED_WARNINGS_gcc_utf_util.c := unused-but-set-variable, \
|
|
||||||
DISABLED_WARNINGS_clang_error_messages.c := format-nonliteral, \
|
|
||||||
DISABLED_WARNINGS_clang_eventFilter.c := unused-variable, \
|
|
||||||
DISABLED_WARNINGS_clang_EventRequestImpl.c := self-assign, \
|
|
||||||
DISABLED_WARNINGS_clang_inStream.c := sometimes-uninitialized, \
|
|
||||||
DISABLED_WARNINGS_clang_log_messages.c := format-nonliteral, \
|
|
||||||
DISABLED_WARNINGS_clang_SDE.c := unused-function, \
|
|
||||||
DISABLED_WARNINGS_clang_threadControl.c := unused-but-set-variable \
|
|
||||||
unused-variable, \
|
|
||||||
DISABLED_WARNINGS_clang_utf_util.c := unused-but-set-variable, \
|
|
||||||
DISABLED_WARNINGS_microsoft_debugInit.c := 5287, \
|
|
||||||
LDFLAGS := $(ICONV_LDFLAGS), \
|
LDFLAGS := $(ICONV_LDFLAGS), \
|
||||||
EXTRA_HEADER_DIRS := \
|
EXTRA_HEADER_DIRS := \
|
||||||
include \
|
include \
|
||||||
|
|||||||
@ -31,13 +31,14 @@ include LibCommon.gmk
|
|||||||
## Build libjaas
|
## Build libjaas
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
$(eval $(call SetupJdkLibrary, BUILD_LIBJAAS, \
|
ifeq ($(call isTargetOs, windows), true)
|
||||||
NAME := jaas, \
|
$(eval $(call SetupJdkLibrary, BUILD_LIBJAAS, \
|
||||||
OPTIMIZATION := LOW, \
|
NAME := jaas, \
|
||||||
EXTRA_HEADER_DIRS := java.base:libjava, \
|
OPTIMIZATION := LOW, \
|
||||||
LIBS_windows := advapi32.lib mpr.lib netapi32.lib user32.lib, \
|
EXTRA_HEADER_DIRS := java.base:libjava, \
|
||||||
))
|
LIBS_windows := advapi32.lib mpr.lib netapi32.lib user32.lib, \
|
||||||
|
))
|
||||||
TARGETS += $(BUILD_LIBJAAS)
|
|
||||||
|
|
||||||
|
TARGETS += $(BUILD_LIBJAAS)
|
||||||
|
endif
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2002, 2024, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
# modification, are permitted provided that the following conditions
|
# modification, are permitted provided that the following conditions
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
|
Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (c) 2007, 2021, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright (c) 2007, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
# modification, are permitted provided that the following conditions
|
# modification, are permitted provided that the following conditions
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -310,7 +310,18 @@ static void restore_live_registers(StubAssembler* sasm, bool restore_fpu_registe
|
|||||||
__ add(sp, sp, 32 * wordSize);
|
__ add(sp, sp, 32 * wordSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef R18_RESERVED
|
||||||
|
/*
|
||||||
|
Do not modify r18_tls when restoring registers if it is a reserved register. On Windows,
|
||||||
|
for example, r18_tls is used to store the pointer to the current thread's TEB (where TLS
|
||||||
|
variables are stored). Therefore, modifying r18_tls would corrupt the TEB pointer.
|
||||||
|
*/
|
||||||
|
__ pop(RegSet::range(r0, r17), sp);
|
||||||
|
__ ldp(zr, r19, Address(__ post(sp, 2 * wordSize)));
|
||||||
|
__ pop(RegSet::range(r20, r29), sp);
|
||||||
|
#else
|
||||||
__ pop(RegSet::range(r0, r29), sp);
|
__ pop(RegSet::range(r0, r29), sp);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void restore_live_registers_except_r0(StubAssembler* sasm, bool restore_fpu_registers = true) {
|
static void restore_live_registers_except_r0(StubAssembler* sasm, bool restore_fpu_registers = true) {
|
||||||
@ -323,8 +334,20 @@ static void restore_live_registers_except_r0(StubAssembler* sasm, bool restore_f
|
|||||||
__ add(sp, sp, 32 * wordSize);
|
__ add(sp, sp, 32 * wordSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef R18_RESERVED
|
||||||
|
/*
|
||||||
|
Do not modify r18_tls when restoring registers if it is a reserved register. On Windows,
|
||||||
|
for example, r18_tls is used to store the pointer to the current thread's TEB (where TLS
|
||||||
|
variables are stored). Therefore, modifying r18_tls would corrupt the TEB pointer.
|
||||||
|
*/
|
||||||
|
__ ldp(zr, r1, Address(__ post(sp, 2 * wordSize)));
|
||||||
|
__ pop(RegSet::range(r2, r17), sp);
|
||||||
|
__ ldp(zr, r19, Address(__ post(sp, 2 * wordSize)));
|
||||||
|
__ pop(RegSet::range(r20, r29), sp);
|
||||||
|
#else
|
||||||
__ ldp(zr, r1, Address(__ post(sp, 16)));
|
__ ldp(zr, r1, Address(__ post(sp, 16)));
|
||||||
__ pop(RegSet::range(r2, r29), sp);
|
__ pop(RegSet::range(r2, r29), sp);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2547,26 +2547,22 @@ void C2_MacroAssembler::verify_int_in_range(uint idx, const TypeInt* t, Register
|
|||||||
if (t == TypeInt::INT) {
|
if (t == TypeInt::INT) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BLOCK_COMMENT("verify_int_in_range {");
|
BLOCK_COMMENT("verify_int_in_range {");
|
||||||
Label L_success, L_failure;
|
Label L_success, L_failure;
|
||||||
|
|
||||||
jint lo = t->_lo;
|
jint lo = t->_lo;
|
||||||
jint hi = t->_hi;
|
jint hi = t->_hi;
|
||||||
|
|
||||||
if (lo != min_jint && hi != max_jint) {
|
if (lo != min_jint) {
|
||||||
subsw(rtmp, rval, lo);
|
subsw(rtmp, rval, lo);
|
||||||
br(Assembler::LT, L_failure);
|
br(Assembler::LT, L_failure);
|
||||||
subsw(rtmp, rval, hi);
|
|
||||||
br(Assembler::LE, L_success);
|
|
||||||
} else if (lo != min_jint) {
|
|
||||||
subsw(rtmp, rval, lo);
|
|
||||||
br(Assembler::GE, L_success);
|
|
||||||
} else if (hi != max_jint) {
|
|
||||||
subsw(rtmp, rval, hi);
|
|
||||||
br(Assembler::LE, L_success);
|
|
||||||
} else {
|
|
||||||
ShouldNotReachHere();
|
|
||||||
}
|
}
|
||||||
|
if (hi != max_jint) {
|
||||||
|
subsw(rtmp, rval, hi);
|
||||||
|
br(Assembler::GT, L_failure);
|
||||||
|
}
|
||||||
|
b(L_success);
|
||||||
|
|
||||||
bind(L_failure);
|
bind(L_failure);
|
||||||
movw(c_rarg0, idx);
|
movw(c_rarg0, idx);
|
||||||
@ -2590,26 +2586,22 @@ void C2_MacroAssembler::verify_long_in_range(uint idx, const TypeLong* t, Regist
|
|||||||
if (t == TypeLong::LONG) {
|
if (t == TypeLong::LONG) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BLOCK_COMMENT("verify_long_in_range {");
|
BLOCK_COMMENT("verify_long_in_range {");
|
||||||
Label L_success, L_failure;
|
Label L_success, L_failure;
|
||||||
|
|
||||||
jlong lo = t->_lo;
|
jlong lo = t->_lo;
|
||||||
jlong hi = t->_hi;
|
jlong hi = t->_hi;
|
||||||
|
|
||||||
if (lo != min_jlong && hi != max_jlong) {
|
if (lo != min_jlong) {
|
||||||
subs(rtmp, rval, lo);
|
subs(rtmp, rval, lo);
|
||||||
br(Assembler::LT, L_failure);
|
br(Assembler::LT, L_failure);
|
||||||
subs(rtmp, rval, hi);
|
|
||||||
br(Assembler::LE, L_success);
|
|
||||||
} else if (lo != min_jlong) {
|
|
||||||
subs(rtmp, rval, lo);
|
|
||||||
br(Assembler::GE, L_success);
|
|
||||||
} else if (hi != max_jlong) {
|
|
||||||
subs(rtmp, rval, hi);
|
|
||||||
br(Assembler::LE, L_success);
|
|
||||||
} else {
|
|
||||||
ShouldNotReachHere();
|
|
||||||
}
|
}
|
||||||
|
if (hi != max_jlong) {
|
||||||
|
subs(rtmp, rval, hi);
|
||||||
|
br(Assembler::GT, L_failure);
|
||||||
|
}
|
||||||
|
b(L_success);
|
||||||
|
|
||||||
bind(L_failure);
|
bind(L_failure);
|
||||||
movw(c_rarg0, idx);
|
movw(c_rarg0, idx);
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
|
// Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
//
|
//
|
||||||
// This code is free software; you can redistribute it and/or modify it
|
// This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2023, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -23,13 +23,13 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdlib.h> // do not reorder
|
#include "cppstdlib/cstdlib.hpp"
|
||||||
#include <stdint.h> // do not reorder
|
|
||||||
|
|
||||||
#include "immediate_aarch64.hpp"
|
#include "immediate_aarch64.hpp"
|
||||||
#include "metaprogramming/primitiveConversions.hpp"
|
#include "metaprogramming/primitiveConversions.hpp"
|
||||||
#include "utilities/globalDefinitions.hpp"
|
#include "utilities/globalDefinitions.hpp"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
// there are at most 2^13 possible logical immediate encodings
|
// there are at most 2^13 possible logical immediate encodings
|
||||||
// however, some combinations of immr and imms are invalid
|
// however, some combinations of immr and imms are invalid
|
||||||
static const unsigned LI_TABLE_SIZE = (1 << 13);
|
static const unsigned LI_TABLE_SIZE = (1 << 13);
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (c) 2025, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -22,10 +23,10 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _IMMEDIATE_H
|
#ifndef CPU_AARCH64_IMMEDIATE_AARCH64_HPP
|
||||||
#define _IMMEDIATE_H
|
#define CPU_AARCH64_IMMEDIATE_AARCH64_HPP
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* functions to map backwards and forwards between logical or floating
|
* functions to map backwards and forwards between logical or floating
|
||||||
@ -51,4 +52,4 @@ uint32_t encoding_for_logical_immediate(uint64_t immediate);
|
|||||||
uint64_t fp_immediate_for_encoding(uint32_t imm8, int is_dp);
|
uint64_t fp_immediate_for_encoding(uint32_t imm8, int is_dp);
|
||||||
uint32_t encoding_for_fp_immediate(float immediate);
|
uint32_t encoding_for_fp_immediate(float immediate);
|
||||||
|
|
||||||
#endif // _IMMEDIATE_H
|
#endif // CPU_AARCH64_IMMEDIATE_AARCH64_HPP
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -5782,6 +5782,9 @@ address MacroAssembler::arrays_equals(Register a1, Register a2, Register tmp3,
|
|||||||
// return false;
|
// return false;
|
||||||
bind(A_IS_NOT_NULL);
|
bind(A_IS_NOT_NULL);
|
||||||
ldrw(cnt1, Address(a1, length_offset));
|
ldrw(cnt1, Address(a1, length_offset));
|
||||||
|
ldrw(tmp5, Address(a2, length_offset));
|
||||||
|
cmp(cnt1, tmp5);
|
||||||
|
br(NE, DONE); // If lengths differ, return false
|
||||||
// Increase loop counter by diff between base- and actual start-offset.
|
// Increase loop counter by diff between base- and actual start-offset.
|
||||||
addw(cnt1, cnt1, extra_length);
|
addw(cnt1, cnt1, extra_length);
|
||||||
lea(a1, Address(a1, start_offset));
|
lea(a1, Address(a1, start_offset));
|
||||||
@ -5848,6 +5851,9 @@ address MacroAssembler::arrays_equals(Register a1, Register a2, Register tmp3,
|
|||||||
cbz(a1, DONE);
|
cbz(a1, DONE);
|
||||||
ldrw(cnt1, Address(a1, length_offset));
|
ldrw(cnt1, Address(a1, length_offset));
|
||||||
cbz(a2, DONE);
|
cbz(a2, DONE);
|
||||||
|
ldrw(tmp5, Address(a2, length_offset));
|
||||||
|
cmp(cnt1, tmp5);
|
||||||
|
br(NE, DONE); // If lengths differ, return false
|
||||||
// Increase loop counter by diff between base- and actual start-offset.
|
// Increase loop counter by diff between base- and actual start-offset.
|
||||||
addw(cnt1, cnt1, extra_length);
|
addw(cnt1, cnt1, extra_length);
|
||||||
|
|
||||||
@ -6259,14 +6265,10 @@ void MacroAssembler::fill_words(Register base, Register cnt, Register value)
|
|||||||
|
|
||||||
// Intrinsic for
|
// Intrinsic for
|
||||||
//
|
//
|
||||||
// - sun.nio.cs.ISO_8859_1.Encoder#encodeISOArray0(byte[] sa, int sp, byte[] da, int dp, int len)
|
// - sun/nio/cs/ISO_8859_1$Encoder.implEncodeISOArray
|
||||||
// Encodes char[] to byte[] in ISO-8859-1
|
// return the number of characters copied.
|
||||||
//
|
// - java/lang/StringUTF16.compress
|
||||||
// - java.lang.StringCoding#encodeISOArray0(byte[] sa, int sp, byte[] da, int dp, int len)
|
// return index of non-latin1 character if copy fails, otherwise 'len'.
|
||||||
// Encodes byte[] (containing UTF-16) to byte[] in ISO-8859-1
|
|
||||||
//
|
|
||||||
// - java.lang.StringCoding#encodeAsciiArray0(char[] sa, int sp, byte[] da, int dp, int len)
|
|
||||||
// Encodes char[] to byte[] in ASCII
|
|
||||||
//
|
//
|
||||||
// This version always returns the number of characters copied, and does not
|
// This version always returns the number of characters copied, and does not
|
||||||
// clobber the 'len' register. A successful copy will complete with the post-
|
// clobber the 'len' register. A successful copy will complete with the post-
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
|
||||||
* Copyright (c) 2021, Azul Systems, Inc. All rights reserved.
|
* Copyright (c) 2021, Azul Systems, Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
@ -722,22 +722,20 @@ void SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm,
|
|||||||
|
|
||||||
// Class initialization barrier for static methods
|
// Class initialization barrier for static methods
|
||||||
entry_address[AdapterBlob::C2I_No_Clinit_Check] = nullptr;
|
entry_address[AdapterBlob::C2I_No_Clinit_Check] = nullptr;
|
||||||
if (VM_Version::supports_fast_class_init_checks()) {
|
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
|
||||||
Label L_skip_barrier;
|
Label L_skip_barrier;
|
||||||
|
|
||||||
{ // Bypass the barrier for non-static methods
|
// Bypass the barrier for non-static methods
|
||||||
__ ldrh(rscratch1, Address(rmethod, Method::access_flags_offset()));
|
__ ldrh(rscratch1, Address(rmethod, Method::access_flags_offset()));
|
||||||
__ andsw(zr, rscratch1, JVM_ACC_STATIC);
|
__ andsw(zr, rscratch1, JVM_ACC_STATIC);
|
||||||
__ br(Assembler::EQ, L_skip_barrier); // non-static
|
__ br(Assembler::EQ, L_skip_barrier); // non-static
|
||||||
}
|
|
||||||
|
|
||||||
__ load_method_holder(rscratch2, rmethod);
|
__ load_method_holder(rscratch2, rmethod);
|
||||||
__ clinit_barrier(rscratch2, rscratch1, &L_skip_barrier);
|
__ clinit_barrier(rscratch2, rscratch1, &L_skip_barrier);
|
||||||
__ far_jump(RuntimeAddress(SharedRuntime::get_handle_wrong_method_stub()));
|
__ far_jump(RuntimeAddress(SharedRuntime::get_handle_wrong_method_stub()));
|
||||||
|
|
||||||
__ bind(L_skip_barrier);
|
__ bind(L_skip_barrier);
|
||||||
entry_address[AdapterBlob::C2I_No_Clinit_Check] = __ pc();
|
entry_address[AdapterBlob::C2I_No_Clinit_Check] = __ pc();
|
||||||
}
|
|
||||||
|
|
||||||
BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
|
BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
|
||||||
bs->c2i_entry_barrier(masm);
|
bs->c2i_entry_barrier(masm);
|
||||||
@ -1508,7 +1506,8 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
|
|||||||
// SVC, HVC, or SMC. Make it a NOP.
|
// SVC, HVC, or SMC. Make it a NOP.
|
||||||
__ nop();
|
__ nop();
|
||||||
|
|
||||||
if (VM_Version::supports_fast_class_init_checks() && method->needs_clinit_barrier()) {
|
if (method->needs_clinit_barrier()) {
|
||||||
|
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
|
||||||
Label L_skip_barrier;
|
Label L_skip_barrier;
|
||||||
__ mov_metadata(rscratch2, method->method_holder()); // InstanceKlass*
|
__ mov_metadata(rscratch2, method->method_holder()); // InstanceKlass*
|
||||||
__ clinit_barrier(rscratch2, rscratch1, &L_skip_barrier);
|
__ clinit_barrier(rscratch2, rscratch1, &L_skip_barrier);
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -2290,7 +2290,8 @@ void TemplateTable::resolve_cache_and_index_for_method(int byte_no,
|
|||||||
__ subs(zr, temp, (int) code); // have we resolved this bytecode?
|
__ subs(zr, temp, (int) code); // have we resolved this bytecode?
|
||||||
|
|
||||||
// Class initialization barrier for static methods
|
// Class initialization barrier for static methods
|
||||||
if (VM_Version::supports_fast_class_init_checks() && bytecode() == Bytecodes::_invokestatic) {
|
if (bytecode() == Bytecodes::_invokestatic) {
|
||||||
|
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
|
||||||
__ br(Assembler::NE, L_clinit_barrier_slow);
|
__ br(Assembler::NE, L_clinit_barrier_slow);
|
||||||
__ ldr(temp, Address(Rcache, in_bytes(ResolvedMethodEntry::method_offset())));
|
__ ldr(temp, Address(Rcache, in_bytes(ResolvedMethodEntry::method_offset())));
|
||||||
__ load_method_holder(temp, temp);
|
__ load_method_holder(temp, temp);
|
||||||
@ -2340,8 +2341,8 @@ void TemplateTable::resolve_cache_and_index_for_field(int byte_no,
|
|||||||
__ subs(zr, temp, (int) code); // have we resolved this bytecode?
|
__ subs(zr, temp, (int) code); // have we resolved this bytecode?
|
||||||
|
|
||||||
// Class initialization barrier for static fields
|
// Class initialization barrier for static fields
|
||||||
if (VM_Version::supports_fast_class_init_checks() &&
|
if (bytecode() == Bytecodes::_getstatic || bytecode() == Bytecodes::_putstatic) {
|
||||||
(bytecode() == Bytecodes::_getstatic || bytecode() == Bytecodes::_putstatic)) {
|
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
|
||||||
const Register field_holder = temp;
|
const Register field_holder = temp;
|
||||||
|
|
||||||
__ br(Assembler::NE, L_clinit_barrier_slow);
|
__ br(Assembler::NE, L_clinit_barrier_slow);
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2023, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2021, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -356,10 +356,10 @@ frame frame::sender_for_interpreter_frame(RegisterMap* map) const {
|
|||||||
bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
|
bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
|
||||||
assert(is_interpreted_frame(), "Not an interpreted frame");
|
assert(is_interpreted_frame(), "Not an interpreted frame");
|
||||||
// These are reasonable sanity checks
|
// These are reasonable sanity checks
|
||||||
if (fp() == 0 || (intptr_t(fp()) & (wordSize-1)) != 0) {
|
if (fp() == nullptr || (intptr_t(fp()) & (wordSize-1)) != 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (sp() == 0 || (intptr_t(sp()) & (wordSize-1)) != 0) {
|
if (sp() == nullptr || (intptr_t(sp()) & (wordSize-1)) != 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (fp() + interpreter_frame_initial_sp_offset < sp()) {
|
if (fp() + interpreter_frame_initial_sp_offset < sp()) {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2023, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2021, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2021, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -172,7 +172,7 @@ void NativeMovConstReg::set_data(intptr_t x, address pc) {
|
|||||||
|
|
||||||
address addr = oop_addr != nullptr ? (address)oop_addr : (address)metadata_addr;
|
address addr = oop_addr != nullptr ? (address)oop_addr : (address)metadata_addr;
|
||||||
|
|
||||||
if(pc == 0) {
|
if (pc == nullptr) {
|
||||||
offset = addr - instruction_address() - 8;
|
offset = addr - instruction_address() - 8;
|
||||||
} else {
|
} else {
|
||||||
offset = addr - pc - 8;
|
offset = addr - pc - 8;
|
||||||
@ -228,7 +228,7 @@ void NativeMovConstReg::set_data(intptr_t x, address pc) {
|
|||||||
|
|
||||||
void NativeMovConstReg::set_pc_relative_offset(address addr, address pc) {
|
void NativeMovConstReg::set_pc_relative_offset(address addr, address pc) {
|
||||||
int offset;
|
int offset;
|
||||||
if (pc == 0) {
|
if (pc == nullptr) {
|
||||||
offset = addr - instruction_address() - 8;
|
offset = addr - instruction_address() - 8;
|
||||||
} else {
|
} else {
|
||||||
offset = addr - pc - 8;
|
offset = addr - pc - 8;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -371,7 +371,7 @@ class NativeMovConstReg: public NativeInstruction {
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
intptr_t data() const;
|
intptr_t data() const;
|
||||||
void set_data(intptr_t x, address pc = 0);
|
void set_data(intptr_t x, address pc = nullptr);
|
||||||
bool is_pc_relative() {
|
bool is_pc_relative() {
|
||||||
return !is_movw();
|
return !is_movw();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2018, 2022 SAP SE. All rights reserved.
|
* Copyright (c) 2018, 2022 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2018, 2021 SAP SE. All rights reserved.
|
* Copyright (c) 2018, 2021 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1109,11 +1109,11 @@ void InterpreterMacroAssembler::verify_method_data_pointer() {
|
|||||||
lhz(R11_scratch1, in_bytes(DataLayout::bci_offset()), R28_mdx);
|
lhz(R11_scratch1, in_bytes(DataLayout::bci_offset()), R28_mdx);
|
||||||
ld(R12_scratch2, in_bytes(Method::const_offset()), R19_method);
|
ld(R12_scratch2, in_bytes(Method::const_offset()), R19_method);
|
||||||
addi(R11_scratch1, R11_scratch1, in_bytes(ConstMethod::codes_offset()));
|
addi(R11_scratch1, R11_scratch1, in_bytes(ConstMethod::codes_offset()));
|
||||||
add(R11_scratch1, R12_scratch2, R12_scratch2);
|
add(R11_scratch1, R11_scratch1, R12_scratch2);
|
||||||
cmpd(CR0, R11_scratch1, R14_bcp);
|
cmpd(CR0, R11_scratch1, R14_bcp);
|
||||||
beq(CR0, verify_continue);
|
beq(CR0, verify_continue);
|
||||||
|
|
||||||
call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::verify_mdp ), R19_method, R14_bcp, R28_mdx);
|
call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::verify_mdp), R19_method, R14_bcp, R28_mdx);
|
||||||
|
|
||||||
bind(verify_continue);
|
bind(verify_continue);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -4535,7 +4535,7 @@ void MacroAssembler::push_cont_fastpath() {
|
|||||||
Label done;
|
Label done;
|
||||||
ld_ptr(R0, JavaThread::cont_fastpath_offset(), R16_thread);
|
ld_ptr(R0, JavaThread::cont_fastpath_offset(), R16_thread);
|
||||||
cmpld(CR0, R1_SP, R0);
|
cmpld(CR0, R1_SP, R0);
|
||||||
ble(CR0, done);
|
ble(CR0, done); // if (SP <= _cont_fastpath) goto done;
|
||||||
st_ptr(R1_SP, JavaThread::cont_fastpath_offset(), R16_thread);
|
st_ptr(R1_SP, JavaThread::cont_fastpath_offset(), R16_thread);
|
||||||
bind(done);
|
bind(done);
|
||||||
}
|
}
|
||||||
@ -4546,7 +4546,7 @@ void MacroAssembler::pop_cont_fastpath() {
|
|||||||
Label done;
|
Label done;
|
||||||
ld_ptr(R0, JavaThread::cont_fastpath_offset(), R16_thread);
|
ld_ptr(R0, JavaThread::cont_fastpath_offset(), R16_thread);
|
||||||
cmpld(CR0, R1_SP, R0);
|
cmpld(CR0, R1_SP, R0);
|
||||||
ble(CR0, done);
|
blt(CR0, done); // if (SP < _cont_fastpath) goto done;
|
||||||
li(R0, 0);
|
li(R0, 0);
|
||||||
st_ptr(R0, JavaThread::cont_fastpath_offset(), R16_thread);
|
st_ptr(R0, JavaThread::cont_fastpath_offset(), R16_thread);
|
||||||
bind(done);
|
bind(done);
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2025 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2025 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -1237,26 +1237,24 @@ void SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm,
|
|||||||
|
|
||||||
// Class initialization barrier for static methods
|
// Class initialization barrier for static methods
|
||||||
entry_address[AdapterBlob::C2I_No_Clinit_Check] = nullptr;
|
entry_address[AdapterBlob::C2I_No_Clinit_Check] = nullptr;
|
||||||
if (VM_Version::supports_fast_class_init_checks()) {
|
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
|
||||||
Label L_skip_barrier;
|
Label L_skip_barrier;
|
||||||
|
|
||||||
{ // Bypass the barrier for non-static methods
|
// Bypass the barrier for non-static methods
|
||||||
__ lhz(R0, in_bytes(Method::access_flags_offset()), R19_method);
|
__ lhz(R0, in_bytes(Method::access_flags_offset()), R19_method);
|
||||||
__ andi_(R0, R0, JVM_ACC_STATIC);
|
__ andi_(R0, R0, JVM_ACC_STATIC);
|
||||||
__ beq(CR0, L_skip_barrier); // non-static
|
__ beq(CR0, L_skip_barrier); // non-static
|
||||||
}
|
|
||||||
|
|
||||||
Register klass = R11_scratch1;
|
Register klass = R11_scratch1;
|
||||||
__ load_method_holder(klass, R19_method);
|
__ load_method_holder(klass, R19_method);
|
||||||
__ clinit_barrier(klass, R16_thread, &L_skip_barrier /*L_fast_path*/);
|
__ clinit_barrier(klass, R16_thread, &L_skip_barrier /*L_fast_path*/);
|
||||||
|
|
||||||
__ load_const_optimized(klass, SharedRuntime::get_handle_wrong_method_stub(), R0);
|
__ load_const_optimized(klass, SharedRuntime::get_handle_wrong_method_stub(), R0);
|
||||||
__ mtctr(klass);
|
__ mtctr(klass);
|
||||||
__ bctr();
|
__ bctr();
|
||||||
|
|
||||||
__ bind(L_skip_barrier);
|
__ bind(L_skip_barrier);
|
||||||
entry_address[AdapterBlob::C2I_No_Clinit_Check] = __ pc();
|
entry_address[AdapterBlob::C2I_No_Clinit_Check] = __ pc();
|
||||||
}
|
|
||||||
|
|
||||||
BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
|
BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
|
||||||
bs->c2i_entry_barrier(masm, /* tmp register*/ ic_klass, /* tmp register*/ receiver_klass, /* tmp register*/ code);
|
bs->c2i_entry_barrier(masm, /* tmp register*/ ic_klass, /* tmp register*/ receiver_klass, /* tmp register*/ code);
|
||||||
@ -2210,7 +2208,8 @@ nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm,
|
|||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
vep_start_pc = (intptr_t)__ pc();
|
vep_start_pc = (intptr_t)__ pc();
|
||||||
|
|
||||||
if (VM_Version::supports_fast_class_init_checks() && method->needs_clinit_barrier()) {
|
if (method->needs_clinit_barrier()) {
|
||||||
|
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
|
||||||
Label L_skip_barrier;
|
Label L_skip_barrier;
|
||||||
Register klass = r_temp_1;
|
Register klass = r_temp_1;
|
||||||
// Notify OOP recorder (don't need the relocation)
|
// Notify OOP recorder (don't need the relocation)
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2014, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2013, 2025 SAP SE. All rights reserved.
|
* Copyright (c) 2013, 2025 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
@ -2199,7 +2199,8 @@ void TemplateTable::resolve_cache_and_index_for_method(int byte_no, Register Rca
|
|||||||
__ isync(); // Order load wrt. succeeding loads.
|
__ isync(); // Order load wrt. succeeding loads.
|
||||||
|
|
||||||
// Class initialization barrier for static methods
|
// Class initialization barrier for static methods
|
||||||
if (VM_Version::supports_fast_class_init_checks() && bytecode() == Bytecodes::_invokestatic) {
|
if (bytecode() == Bytecodes::_invokestatic) {
|
||||||
|
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
|
||||||
const Register method = Rscratch;
|
const Register method = Rscratch;
|
||||||
const Register klass = Rscratch;
|
const Register klass = Rscratch;
|
||||||
|
|
||||||
@ -2244,8 +2245,8 @@ void TemplateTable::resolve_cache_and_index_for_field(int byte_no, Register Rcac
|
|||||||
__ isync(); // Order load wrt. succeeding loads.
|
__ isync(); // Order load wrt. succeeding loads.
|
||||||
|
|
||||||
// Class initialization barrier for static fields
|
// Class initialization barrier for static fields
|
||||||
if (VM_Version::supports_fast_class_init_checks() &&
|
if (bytecode() == Bytecodes::_getstatic || bytecode() == Bytecodes::_putstatic) {
|
||||||
(bytecode() == Bytecodes::_getstatic || bytecode() == Bytecodes::_putstatic)) {
|
assert(VM_Version::supports_fast_class_init_checks(), "sanity");
|
||||||
const Register field_holder = R4_ARG2;
|
const Register field_holder = R4_ARG2;
|
||||||
|
|
||||||
// InterpreterRuntime::resolve_get_put sets field_holder and finally release-stores put_code.
|
// InterpreterRuntime::resolve_get_put sets field_holder and finally release-stores put_code.
|
||||||
|
|||||||
@ -2662,6 +2662,9 @@ enum Nf {
|
|||||||
INSN(vsha2ch_vv, 0b1110111, 0b010, 0b1, 0b101110);
|
INSN(vsha2ch_vv, 0b1110111, 0b010, 0b1, 0b101110);
|
||||||
INSN(vsha2cl_vv, 0b1110111, 0b010, 0b1, 0b101111);
|
INSN(vsha2cl_vv, 0b1110111, 0b010, 0b1, 0b101111);
|
||||||
|
|
||||||
|
// Vector GHASH (Zvkg) Extension
|
||||||
|
INSN(vghsh_vv, 0b1110111, 0b010, 0b1, 0b101100);
|
||||||
|
|
||||||
#undef INSN
|
#undef INSN
|
||||||
|
|
||||||
#define INSN(NAME, op, funct3, Vs1, funct6) \
|
#define INSN(NAME, op, funct3, Vs1, funct6) \
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* Copyright (c) 2020, 2021, Huawei Technologies Co., Ltd. All rights reserved.
|
* Copyright (c) 2020, 2021, Huawei Technologies Co., Ltd. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved.
|
* Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved.
|
* Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
|||||||
@ -2813,14 +2813,10 @@ void C2_MacroAssembler::char_array_compress_v(Register src, Register dst, Regist
|
|||||||
|
|
||||||
// Intrinsic for
|
// Intrinsic for
|
||||||
//
|
//
|
||||||
// - sun.nio.cs.ISO_8859_1.Encoder#encodeISOArray0(byte[] sa, int sp, byte[] da, int dp, int len)
|
// - sun/nio/cs/ISO_8859_1$Encoder.implEncodeISOArray
|
||||||
// Encodes char[] to byte[] in ISO-8859-1
|
// return the number of characters copied.
|
||||||
//
|
// - java/lang/StringUTF16.compress
|
||||||
// - java.lang.StringCoding#encodeISOArray0(byte[] sa, int sp, byte[] da, int dp, int len)
|
// return index of non-latin1 character if copy fails, otherwise 'len'.
|
||||||
// Encodes byte[] (containing UTF-16) to byte[] in ISO-8859-1
|
|
||||||
//
|
|
||||||
// - java.lang.StringCoding#encodeAsciiArray0(char[] sa, int sp, byte[] da, int dp, int len)
|
|
||||||
// Encodes char[] to byte[] in ASCII
|
|
||||||
//
|
//
|
||||||
// This version always returns the number of characters copied. A successful
|
// This version always returns the number of characters copied. A successful
|
||||||
// copy will complete with the post-condition: 'res' == 'len', while an
|
// copy will complete with the post-condition: 'res' == 'len', while an
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2024, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* Copyright (c) 2020, 2021, Huawei Technologies Co., Ltd. All rights reserved.
|
* Copyright (c) 2020, 2021, Huawei Technologies Co., Ltd. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user