!123 sync master to openEuler-24.03-LTS-SP1
From: @neu-mobi Reviewed-by: @kuenking111 Signed-off-by: @kuenking111
This commit is contained in:
commit
76a4dfb2d0
@ -2502,7 +2502,7 @@ index 535b795fa..c9b9e2676 100644
|
||||
+++ b/src/hotspot/os/windows/os_windows.cpp
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
- * Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
||||
@ -6075,8 +6075,8 @@ index 69ea97ddf..529e2df27 100644
|
||||
--- a/make/autoconf/lib-tests.m4
|
||||
+++ b/make/autoconf/lib-tests.m4
|
||||
@@ -30,6 +30,38 @@
|
||||
# Minimum supported version
|
||||
JTREG_MINIMUM_VERSION=7.3.1
|
||||
GTEST_MINIMUM_VERSION=1.13.0
|
||||
|
||||
+###############################################################################
|
||||
+#
|
||||
|
||||
22
8335610-DiagnosticFramework-CmdLine-is_executable-co.patch
Normal file
22
8335610-DiagnosticFramework-CmdLine-is_executable-co.patch
Normal file
@ -0,0 +1,22 @@
|
||||
Subject: 8335610: DiagnosticFramework: CmdLine::is_executable() correction
|
||||
|
||||
---
|
||||
src/hotspot/share/services/diagnosticFramework.hpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/hotspot/share/services/diagnosticFramework.hpp b/src/hotspot/share/services/diagnosticFramework.hpp
|
||||
index e182e5440..166384193 100644
|
||||
--- a/src/hotspot/share/services/diagnosticFramework.hpp
|
||||
+++ b/src/hotspot/share/services/diagnosticFramework.hpp
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
const char* cmd_addr() const { return _cmd; }
|
||||
size_t cmd_len() const { return _cmd_len; }
|
||||
bool is_empty() const { return _cmd_len == 0; }
|
||||
- bool is_executable() const { return is_empty() || _cmd[0] != '#'; }
|
||||
+ bool is_executable() const { return !is_empty() && _cmd[0] != '#'; }
|
||||
bool is_stop() const { return !is_empty() && strncmp("stop", _cmd, _cmd_len) == 0; }
|
||||
};
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
40
8337274-Remove-repeated-the-in-StyleSheet.create-Sma.patch
Normal file
40
8337274-Remove-repeated-the-in-StyleSheet.create-Sma.patch
Normal file
@ -0,0 +1,40 @@
|
||||
Subject: 8337274: Remove repeated 'the' in StyleSheet.create{Small,Large}AttributeSet
|
||||
|
||||
---
|
||||
.../share/classes/javax/swing/text/html/StyleSheet.java | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java b/src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java
|
||||
index 958b3a899..25490291a 100644
|
||||
--- a/src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java
|
||||
+++ b/src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java
|
||||
@@ -691,7 +691,7 @@ public class StyleSheet extends StyleContext {
|
||||
* to return an AttributeSet that provides some sort of
|
||||
* attribute conversion.
|
||||
*
|
||||
- * @param a The set of attributes to be represented in the
|
||||
+ * @param a The set of attributes to be represented in
|
||||
* the compact form.
|
||||
*/
|
||||
protected SmallAttributeSet createSmallAttributeSet(AttributeSet a) {
|
||||
@@ -707,7 +707,7 @@ public class StyleSheet extends StyleContext {
|
||||
* to return a MutableAttributeSet that provides some sort of
|
||||
* attribute conversion.
|
||||
*
|
||||
- * @param a The set of attributes to be represented in the
|
||||
+ * @param a The set of attributes to be represented in
|
||||
* the larger form.
|
||||
*/
|
||||
protected MutableAttributeSet createLargeAttributeSet(AttributeSet a) {
|
||||
@@ -2140,7 +2140,7 @@ public class StyleSheet extends StyleContext {
|
||||
/**
|
||||
* Returns a string that represents the value
|
||||
* of the HTML.Attribute.TYPE attribute.
|
||||
- * If this attributes is not defined, then
|
||||
+ * If this attributes is not defined,
|
||||
* then the type defaults to "disc" unless
|
||||
* the tag is on Ordered list. In the case
|
||||
* of the latter, the default type is "decimal".
|
||||
--
|
||||
2.33.0
|
||||
|
||||
21
8337982-Remove-dead-undef-assrt0n.patch
Normal file
21
8337982-Remove-dead-undef-assrt0n.patch
Normal file
@ -0,0 +1,21 @@
|
||||
Subject: 8337982: Remove dead undef assrt0n
|
||||
|
||||
---
|
||||
src/hotspot/share/memory/metaspace/blockTree.cpp | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/hotspot/share/memory/metaspace/blockTree.cpp b/src/hotspot/share/memory/metaspace/blockTree.cpp
|
||||
index ed2964534..9c78eef84 100644
|
||||
--- a/src/hotspot/share/memory/metaspace/blockTree.cpp
|
||||
+++ b/src/hotspot/share/memory/metaspace/blockTree.cpp
|
||||
@@ -180,7 +180,6 @@ void BlockTree::verify() const {
|
||||
// as many nodes as are in this tree)
|
||||
_counter.check(counter);
|
||||
|
||||
- #undef assrt0n
|
||||
}
|
||||
|
||||
void BlockTree::zap_range(MetaWord* p, size_t word_size) {
|
||||
--
|
||||
2.33.0
|
||||
|
||||
22
8338785-The-java.awt.datatransfer.SystemFlavorMap-FL.patch
Normal file
22
8338785-The-java.awt.datatransfer.SystemFlavorMap-FL.patch
Normal file
@ -0,0 +1,22 @@
|
||||
Subject: 8338785: The java.awt.datatransfer.SystemFlavorMap#FLAVOR_MAP_KEY field is not used
|
||||
|
||||
---
|
||||
.../share/classes/java/awt/datatransfer/SystemFlavorMap.java | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/src/java.datatransfer/share/classes/java/awt/datatransfer/SystemFlavorMap.java b/src/java.datatransfer/share/classes/java/awt/datatransfer/SystemFlavorMap.java
|
||||
index d48146513..4bde236fc 100644
|
||||
--- a/src/java.datatransfer/share/classes/java/awt/datatransfer/SystemFlavorMap.java
|
||||
+++ b/src/java.datatransfer/share/classes/java/awt/datatransfer/SystemFlavorMap.java
|
||||
@@ -61,8 +61,6 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable {
|
||||
*/
|
||||
private static String JavaMIME = "JAVA_DATAFLAVOR:";
|
||||
|
||||
- private static final Object FLAVOR_MAP_KEY = new Object();
|
||||
-
|
||||
/**
|
||||
* The list of valid, decoded text flavor representation classes, in order
|
||||
* from best to worst.
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -1263,7 +1263,7 @@ index 8ceca7cd3..0d501e494 100644
|
||||
+++ b/src/hotspot/share/prims/jvm.cpp
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
- * Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
||||
@ -1584,7 +1584,7 @@ index f8900a13b..356c6ca8b 100644
|
||||
+#endif
|
||||
while (len > 0) {
|
||||
const unsigned int nBytes = len > INT_MAX ? INT_MAX : (unsigned int)len;
|
||||
const ssize_t num_written = (ssize_t)os::write(_fd, buf, nBytes);
|
||||
const bool successful_write = os::write(_fd, buf, nBytes);
|
||||
diff --git a/src/hotspot/share/prims/jni.cpp b/src/hotspot/share/prims/jni.cpp
|
||||
index cd0115248..41e946563 100644
|
||||
--- a/src/hotspot/share/prims/jni.cpp
|
||||
|
||||
@ -141,19 +141,6 @@ index 52e6ab86c..88a9289b9 100644
|
||||
if (j >= 1024) {
|
||||
st->print_cr(UINT64_FORMAT " k", uint64_t(j) / 1024);
|
||||
} else {
|
||||
diff --git a/src/hotspot/os/linux/os_perf_linux.cpp b/src/hotspot/os/linux/os_perf_linux.cpp
|
||||
index 7c42379a0..958848dc8 100644
|
||||
--- a/src/hotspot/os/linux/os_perf_linux.cpp
|
||||
+++ b/src/hotspot/os/linux/os_perf_linux.cpp
|
||||
@@ -847,7 +847,7 @@ SystemProcessInterface::SystemProcesses::ProcessIterator::ProcessIterator() {
|
||||
bool SystemProcessInterface::SystemProcesses::ProcessIterator::initialize() {
|
||||
_dir = os::opendir("/proc");
|
||||
_entry = NULL;
|
||||
- _valid = true;
|
||||
+ _valid = _dir != nullptr; // May be null if /proc is not accessible.
|
||||
next_process();
|
||||
|
||||
return true;
|
||||
diff --git a/src/hotspot/share/c1/c1_globals.hpp b/src/hotspot/share/c1/c1_globals.hpp
|
||||
index 7564b2b8a..41d4607f8 100644
|
||||
--- a/src/hotspot/share/c1/c1_globals.hpp
|
||||
@ -190,7 +177,7 @@ index 98ab42022..56ed8a5dd 100644
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -750,12 +750,14 @@ bool PSScavenge::should_attempt_scavenge() {
|
||||
// changed, decide if that test should also be changed.
|
||||
|
||||
size_t avg_promoted = (size_t) policy->padded_average_promoted_in_bytes();
|
||||
size_t promotion_estimate = MIN2(avg_promoted, young_gen->used_in_bytes());
|
||||
- bool result = promotion_estimate < old_gen->free_in_bytes();
|
||||
@ -206,19 +193,6 @@ index 98ab42022..56ed8a5dd 100644
|
||||
if (young_gen->used_in_bytes() < (size_t) policy->padded_average_promoted_in_bytes()) {
|
||||
log_trace(ergo)(" padded_promoted_average is greater than maximum promotion = " SIZE_FORMAT, young_gen->used_in_bytes());
|
||||
}
|
||||
diff --git a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp
|
||||
index 78d6ab48f..a72c15a49 100644
|
||||
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp
|
||||
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp
|
||||
@@ -228,7 +228,7 @@ static int write_klass(JfrCheckpointWriter* writer, KlassPtr klass, bool leakp)
|
||||
writer->write(cld != NULL ? cld_id(cld, leakp) : 0);
|
||||
writer->write(mark_symbol(klass, leakp));
|
||||
writer->write(package_id(klass, leakp));
|
||||
- writer->write(get_flags(klass));
|
||||
+ writer->write(klass->modifier_flags());
|
||||
writer->write<bool>(klass->is_hidden());
|
||||
return 1;
|
||||
}
|
||||
diff --git a/src/hotspot/share/opto/c2compiler.cpp b/src/hotspot/share/opto/c2compiler.cpp
|
||||
index 13de7651e..411733814 100644
|
||||
--- a/src/hotspot/share/opto/c2compiler.cpp
|
||||
@ -661,191 +635,6 @@ index 050f27e72..197f3238b 100644
|
||||
return;
|
||||
|
||||
if ( comboBox.isEditable() ) {
|
||||
diff --git a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
|
||||
index 34c53ca91..81972a052 100644
|
||||
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
|
||||
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
|
||||
@@ -98,10 +98,13 @@ public class BasicDirectoryModel extends AbstractListModel<Object> implements Pr
|
||||
* This method is used to interrupt file loading thread.
|
||||
*/
|
||||
public void invalidateFileCache() {
|
||||
- if (filesLoader != null) {
|
||||
- filesLoader.loadThread.interrupt();
|
||||
- filesLoader.cancelRunnables();
|
||||
- filesLoader = null;
|
||||
+ synchronized (this) {
|
||||
+ if (filesLoader != null) {
|
||||
+ filesLoader.loadThread.interrupt();
|
||||
+ filesLoader = null;
|
||||
+ // Increment fetch ID to invalidate pending DoChangeContents
|
||||
+ fetchID.incrementAndGet();
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,14 +159,15 @@ public class BasicDirectoryModel extends AbstractListModel<Object> implements Pr
|
||||
if (currentDirectory == null) {
|
||||
return;
|
||||
}
|
||||
- if (filesLoader != null) {
|
||||
- filesLoader.loadThread.interrupt();
|
||||
- filesLoader.cancelRunnables();
|
||||
- }
|
||||
|
||||
- int fid = fetchID.incrementAndGet();
|
||||
- setBusy(true, fid);
|
||||
- filesLoader = new FilesLoader(currentDirectory, fid);
|
||||
+ synchronized (this) {
|
||||
+ if (filesLoader != null) {
|
||||
+ filesLoader.loadThread.interrupt();
|
||||
+ }
|
||||
+ int fid = fetchID.incrementAndGet();
|
||||
+ setBusy(true, fid);
|
||||
+ filesLoader = new FilesLoader(currentDirectory, fid);
|
||||
+ }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -276,7 +280,6 @@ public class BasicDirectoryModel extends AbstractListModel<Object> implements Pr
|
||||
private final boolean fileSelectionEnabled;
|
||||
private final int fid;
|
||||
private final File currentDirectory;
|
||||
- private volatile DoChangeContents runnable;
|
||||
private final Thread loadThread;
|
||||
|
||||
private FilesLoader(File currentDirectory, int fid) {
|
||||
@@ -297,22 +300,20 @@ public class BasicDirectoryModel extends AbstractListModel<Object> implements Pr
|
||||
}
|
||||
|
||||
private void run0() {
|
||||
- FileSystemView fileSystem = fileSystemView;
|
||||
-
|
||||
if (loadThread.isInterrupted()) {
|
||||
return;
|
||||
}
|
||||
|
||||
- File[] list = fileSystem.getFiles(currentDirectory, useFileHiding);
|
||||
+ File[] list = fileSystemView.getFiles(currentDirectory, useFileHiding);
|
||||
|
||||
if (loadThread.isInterrupted()) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Vector<File> newFileCache = new Vector<File>();
|
||||
- Vector<File> newFiles = new Vector<File>();
|
||||
+ final Vector<File> newFiles = new Vector<File>();
|
||||
|
||||
- // run through the file list, add directories and selectable files to fileCache
|
||||
+ // Run through the file list, add directories and selectable files to fileCache
|
||||
// Note that this block must be OUTSIDE of Invoker thread because of
|
||||
// deadlock possibility with custom synchronized FileSystemView
|
||||
for (File file : list) {
|
||||
@@ -339,7 +340,7 @@ public class BasicDirectoryModel extends AbstractListModel<Object> implements Pr
|
||||
|
||||
// To avoid loads of synchronizations with Invoker and improve performance we
|
||||
// execute the whole block on the COM thread
|
||||
- runnable = ShellFolder.invoke(new Callable<DoChangeContents>() {
|
||||
+ DoChangeContents runnable = ShellFolder.invoke(new Callable<DoChangeContents>() {
|
||||
public DoChangeContents call() {
|
||||
int newSize = newFileCache.size();
|
||||
int oldSize = fileCache.size();
|
||||
@@ -388,7 +389,7 @@ public class BasicDirectoryModel extends AbstractListModel<Object> implements Pr
|
||||
}
|
||||
if (!fileCache.equals(newFileCache)) {
|
||||
if (loadThread.isInterrupted()) {
|
||||
- cancelRunnables();
|
||||
+ return null;
|
||||
}
|
||||
return new DoChangeContents(newFileCache, 0, fileCache, 0, fid);
|
||||
}
|
||||
@@ -400,12 +401,6 @@ public class BasicDirectoryModel extends AbstractListModel<Object> implements Pr
|
||||
SwingUtilities.invokeLater(runnable);
|
||||
}
|
||||
}
|
||||
-
|
||||
- private void cancelRunnables() {
|
||||
- if (runnable != null) {
|
||||
- runnable.cancel();
|
||||
- }
|
||||
- }
|
||||
}
|
||||
|
||||
|
||||
@@ -514,13 +509,13 @@ public class BasicDirectoryModel extends AbstractListModel<Object> implements Pr
|
||||
private final class DoChangeContents implements Runnable {
|
||||
private final List<File> addFiles;
|
||||
private final List<File> remFiles;
|
||||
- private boolean doFire = true;
|
||||
private final int fid;
|
||||
- private int addStart = 0;
|
||||
- private int remStart = 0;
|
||||
+ private final int addStart;
|
||||
+ private final int remStart;
|
||||
|
||||
- DoChangeContents(List<File> addFiles, int addStart, List<File> remFiles,
|
||||
- int remStart, int fid) {
|
||||
+ private DoChangeContents(List<File> addFiles, int addStart,
|
||||
+ List<File> remFiles, int remStart,
|
||||
+ int fid) {
|
||||
this.addFiles = addFiles;
|
||||
this.addStart = addStart;
|
||||
this.remFiles = remFiles;
|
||||
@@ -528,31 +523,31 @@ public class BasicDirectoryModel extends AbstractListModel<Object> implements Pr
|
||||
this.fid = fid;
|
||||
}
|
||||
|
||||
- synchronized void cancel() {
|
||||
- doFire = false;
|
||||
- }
|
||||
-
|
||||
- public synchronized void run() {
|
||||
- if (fetchID.get() == fid && doFire) {
|
||||
- int remSize = (remFiles == null) ? 0 : remFiles.size();
|
||||
- int addSize = (addFiles == null) ? 0 : addFiles.size();
|
||||
- synchronized(fileCache) {
|
||||
- if (remSize > 0) {
|
||||
- fileCache.removeAll(remFiles);
|
||||
- }
|
||||
- if (addSize > 0) {
|
||||
- fileCache.addAll(addStart, addFiles);
|
||||
- }
|
||||
- files = null;
|
||||
- directories = null;
|
||||
- }
|
||||
- if (remSize > 0 && addSize == 0) {
|
||||
- fireIntervalRemoved(BasicDirectoryModel.this, remStart, remStart + remSize - 1);
|
||||
- } else if (addSize > 0 && remSize == 0 && addStart + addSize <= fileCache.size()) {
|
||||
- fireIntervalAdded(BasicDirectoryModel.this, addStart, addStart + addSize - 1);
|
||||
- } else {
|
||||
- fireContentsChanged();
|
||||
+ @Override
|
||||
+ public void run() {
|
||||
+ if (fetchID.get() != fid) {
|
||||
+ return;
|
||||
+ }
|
||||
+ final int remSize = (remFiles == null) ? 0 : remFiles.size();
|
||||
+ final int addSize = (addFiles == null) ? 0 : addFiles.size();
|
||||
+ final int cacheSize;
|
||||
+ synchronized (fileCache) {
|
||||
+ if (remSize > 0) {
|
||||
+ fileCache.removeAll(remFiles);
|
||||
+ }
|
||||
+ if (addSize > 0) {
|
||||
+ fileCache.addAll(addStart, addFiles);
|
||||
}
|
||||
+ files = null;
|
||||
+ directories = null;
|
||||
+ cacheSize = fileCache.size();
|
||||
+ }
|
||||
+ if (remSize > 0 && addSize == 0) {
|
||||
+ fireIntervalRemoved(BasicDirectoryModel.this, remStart, remStart + remSize - 1);
|
||||
+ } else if (addSize > 0 && remSize == 0 && addStart + addSize <= cacheSize) {
|
||||
+ fireIntervalAdded(BasicDirectoryModel.this, addStart, addStart + addSize - 1);
|
||||
+ } else {
|
||||
+ fireContentsChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/src/java.desktop/share/classes/javax/swing/text/html/CSS.java b/src/java.desktop/share/classes/javax/swing/text/html/CSS.java
|
||||
index c14b5a126..311f172b8 100644
|
||||
--- a/src/java.desktop/share/classes/javax/swing/text/html/CSS.java
|
||||
@ -2020,127 +1809,6 @@ index 000000000..830216f0d
|
||||
+ passFailJFrame.awaitAndCheck();
|
||||
+ }
|
||||
+}
|
||||
diff --git a/test/jdk/jdk/jfr/api/consumer/TestRecordedClass.java b/test/jdk/jdk/jfr/api/consumer/TestRecordedClass.java
|
||||
new file mode 100644
|
||||
index 000000000..19c637049
|
||||
--- /dev/null
|
||||
+++ b/test/jdk/jdk/jfr/api/consumer/TestRecordedClass.java
|
||||
@@ -0,0 +1,115 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
+ *
|
||||
+ * This code is free software; you can redistribute it and/or modify it
|
||||
+ * under the terms of the GNU General Public License version 2 only, as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ *
|
||||
+ * This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
+ * version 2 for more details (a copy is included in the LICENSE file that
|
||||
+ * accompanied this code).
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License version
|
||||
+ * 2 along with this work; if not, write to the Free Software Foundation,
|
||||
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
+ *
|
||||
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
+ * or visit www.oracle.com if you need additional information or have any
|
||||
+ * questions.
|
||||
+ */
|
||||
+
|
||||
+package jdk.jfr.api.consumer;
|
||||
+
|
||||
+import java.lang.reflect.Modifier;
|
||||
+import java.util.List;
|
||||
+
|
||||
+import jdk.jfr.Event;
|
||||
+import jdk.jfr.Recording;
|
||||
+import jdk.jfr.consumer.RecordedClass;
|
||||
+import jdk.jfr.consumer.RecordedEvent;
|
||||
+import jdk.test.lib.jfr.Events;
|
||||
+
|
||||
+/**
|
||||
+ * @test
|
||||
+ * @summary Verifies methods of RecordedClass
|
||||
+ * @key jfr
|
||||
+ * @requires vm.hasJFR
|
||||
+ * @library /test/lib
|
||||
+ * @run main/othervm jdk.jfr.api.consumer.TestRecordedClass
|
||||
+ */
|
||||
+public class TestRecordedClass {
|
||||
+
|
||||
+ static class TestEvent extends Event {
|
||||
+ Class<?> typeA;
|
||||
+ Class<?> typeB;
|
||||
+ }
|
||||
+
|
||||
+ private static class TypeA {
|
||||
+ }
|
||||
+
|
||||
+ public final static class TypeB {
|
||||
+ }
|
||||
+
|
||||
+ public static void main(String[] args) throws Exception {
|
||||
+ try (Recording recording = new Recording()) {
|
||||
+ recording.start();
|
||||
+ TestEvent event = new TestEvent();
|
||||
+ event.typeA = TypeA.class;
|
||||
+ event.typeB = TypeB.class;
|
||||
+ event.commit();
|
||||
+ recording.stop();
|
||||
+
|
||||
+ List<RecordedEvent> events = Events.fromRecording(recording);
|
||||
+ Events.hasEvents(events);
|
||||
+ for (RecordedEvent recordedEvent : events) {
|
||||
+ RecordedClass typeA = recordedEvent.getClass("typeA");
|
||||
+ RecordedClass typeB = recordedEvent.getClass("typeB");
|
||||
+ assertModifiers(typeA, TypeA.class);
|
||||
+ assertModifiers(typeB, TypeB.class);
|
||||
+ assertName(typeA, TypeA.class);
|
||||
+ assertName(typeB, TypeB.class);
|
||||
+ assertClassLoader(typeA, TypeA.class.getClassLoader());
|
||||
+ assertClassLoader(typeB, TypeB.class.getClassLoader());
|
||||
+ assertId(typeA);
|
||||
+ assertId(typeB);
|
||||
+ if (typeA.getId() == typeB.getId()) {
|
||||
+ throw new Exception("Same ID for different classes");
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static void assertId(RecordedClass recordedClass) throws Exception {
|
||||
+ long id = recordedClass.getId();
|
||||
+ if (id < 1 || id >= 1024 * 1024) {
|
||||
+ throw new Exception("Expected class ID to be above 1 and below 1 M");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static void assertClassLoader(RecordedClass recordedClass, ClassLoader classLoader) throws Exception {
|
||||
+ String expected = classLoader.getClass().getName();
|
||||
+ String actual = recordedClass.getClassLoader().getType().getName();
|
||||
+ if (!expected.equals(actual)) {
|
||||
+ throw new Exception("Expected class loader to be " + expected + ", was " + actual);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static void assertName(RecordedClass recordedClass, Class<?> clazz) throws Exception {
|
||||
+ String className = clazz.getClass().getName();
|
||||
+ if (className.equals(recordedClass.getName())) {
|
||||
+ throw new Exception("Expected class to be named " + className);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static void assertModifiers(RecordedClass recordedClass, Class<?> clazz) throws Exception {
|
||||
+ int modifiers = clazz.getModifiers();
|
||||
+ if (modifiers != recordedClass.getModifiers()) {
|
||||
+ String expected = Modifier.toString(modifiers);
|
||||
+ String actual = Modifier.toString(recordedClass.getModifiers());
|
||||
+ throw new Exception("Expected modifier to be '" + expected + "', was '" + actual + "'");
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/test/jdk/sun/jvmstat/monitor/MonitoredVm/ConcurrentGetMonitoredHost.java b/test/jdk/sun/jvmstat/monitor/MonitoredVm/ConcurrentGetMonitoredHost.java
|
||||
new file mode 100644
|
||||
index 000000000..a6049f6a0
|
||||
|
||||
29
Backport-of-8330191-Fix-typo-in-precompiled.hpp.patch
Normal file
29
Backport-of-8330191-Fix-typo-in-precompiled.hpp.patch
Normal file
@ -0,0 +1,29 @@
|
||||
Subject: Backport of 8330191: Fix typo in precompiled.hpp
|
||||
|
||||
---
|
||||
src/hotspot/share/precompiled/precompiled.hpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/hotspot/share/precompiled/precompiled.hpp b/src/hotspot/share/precompiled/precompiled.hpp
|
||||
index d34304741..54d03ed71 100644
|
||||
--- a/src/hotspot/share/precompiled/precompiled.hpp
|
||||
+++ b/src/hotspot/share/precompiled/precompiled.hpp
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2010, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
// These header files are included in at least 130 C++ files, as of
|
||||
// measurements made in November 2018. This list excludes files named
|
||||
-// *.include.hpp, since including them decreased build performance.
|
||||
+// *.inline.hpp, since including them decreased build performance.
|
||||
|
||||
#include "classfile/classLoaderData.hpp"
|
||||
#include "classfile/javaClasses.hpp"
|
||||
--
|
||||
2.33.0
|
||||
|
||||
22
Backport-of-8333088-ubsan-shenandoahAdaptiveHeuristi.patch
Normal file
22
Backport-of-8333088-ubsan-shenandoahAdaptiveHeuristi.patch
Normal file
@ -0,0 +1,22 @@
|
||||
Subject: Backport of 8333088: ubsan: shenandoahAdaptiveHeuristics.cpp: runtime error: division by zero
|
||||
|
||||
---
|
||||
.../gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp
|
||||
index 819f1e8d7..371e4c90c 100644
|
||||
--- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp
|
||||
+++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp
|
||||
@@ -243,7 +243,7 @@ bool ShenandoahAdaptiveHeuristics::should_start_gc() {
|
||||
|
||||
double avg_cycle_time = _gc_time_history->davg() + (_margin_of_error_sd * _gc_time_history->dsd());
|
||||
double avg_alloc_rate = _allocation_rate.upper_bound(_margin_of_error_sd);
|
||||
- if (avg_cycle_time > allocation_headroom / avg_alloc_rate) {
|
||||
+ if (avg_cycle_time * avg_alloc_rate > allocation_headroom) {
|
||||
log_info(gc)("Trigger: Average GC time (%.2f ms) is above the time for average allocation rate (%.0f %sB/s) to deplete free headroom (" SIZE_FORMAT "%s) (margin of error = %.2f)",
|
||||
avg_cycle_time * 1000,
|
||||
byte_size_in_proper_unit(avg_alloc_rate), proper_unit_for_byte_size(avg_alloc_rate),
|
||||
--
|
||||
2.33.0
|
||||
|
||||
29
Backport-of-8337712-Wrong-javadoc-in-java.util.Date-.patch
Normal file
29
Backport-of-8337712-Wrong-javadoc-in-java.util.Date-.patch
Normal file
@ -0,0 +1,29 @@
|
||||
Subject: Backport of 8337712: Wrong javadoc in java.util.Date#toString(): 61 and right parenthesis
|
||||
|
||||
---
|
||||
src/java.base/share/classes/java/util/Date.java | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/java.base/share/classes/java/util/Date.java b/src/java.base/share/classes/java/util/Date.java
|
||||
index d0b31a402..9a0552dd3 100644
|
||||
--- a/src/java.base/share/classes/java/util/Date.java
|
||||
+++ b/src/java.base/share/classes/java/util/Date.java
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 1994, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -1014,7 +1014,7 @@ public class Date
|
||||
* <li>{@code mm} is the minute within the hour ({@code 00} through
|
||||
* {@code 59}), as two decimal digits.
|
||||
* <li>{@code ss} is the second within the minute ({@code 00} through
|
||||
- * {@code 61}, as two decimal digits.
|
||||
+ * {@code 61}), as two decimal digits.
|
||||
* <li>{@code zzz} is the time zone (and may reflect daylight saving
|
||||
* time). Standard time zone abbreviations include those
|
||||
* recognized by the method {@code parse}. If time zone
|
||||
--
|
||||
2.33.0
|
||||
|
||||
21
Backport-of-8339351-Remove-duplicate-line-in-FileMap.patch
Normal file
21
Backport-of-8339351-Remove-duplicate-line-in-FileMap.patch
Normal file
@ -0,0 +1,21 @@
|
||||
Subject: Backport of 8339351: Remove duplicate line in FileMapHeader::print
|
||||
|
||||
---
|
||||
src/hotspot/share/cds/filemap.cpp | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/hotspot/share/cds/filemap.cpp b/src/hotspot/share/cds/filemap.cpp
|
||||
index fa981d38c..106c14bfc 100644
|
||||
--- a/src/hotspot/share/cds/filemap.cpp
|
||||
+++ b/src/hotspot/share/cds/filemap.cpp
|
||||
@@ -287,7 +287,6 @@ void FileMapHeader::print(outputStream* st) {
|
||||
st->print_cr("- core_region_alignment: " SIZE_FORMAT, _core_region_alignment);
|
||||
st->print_cr("- obj_alignment: %d", _obj_alignment);
|
||||
st->print_cr("- narrow_oop_base: " INTPTR_FORMAT, p2i(_narrow_oop_base));
|
||||
- st->print_cr("- narrow_oop_base: " INTPTR_FORMAT, p2i(_narrow_oop_base));
|
||||
st->print_cr("- narrow_oop_shift %d", _narrow_oop_shift);
|
||||
st->print_cr("- compact_strings: %d", _compact_strings);
|
||||
st->print_cr("- max_heap_size: " UINTX_FORMAT, _max_heap_size);
|
||||
--
|
||||
2.33.0
|
||||
|
||||
30
Backport-of-JDK-8305680.patch
Normal file
30
Backport-of-JDK-8305680.patch
Normal file
@ -0,0 +1,30 @@
|
||||
Subject: Backport of JDK-8305680
|
||||
|
||||
---
|
||||
src/hotspot/share/services/diagnosticCommand.cpp | 10 ----------
|
||||
1 file changed, 10 deletions(-)
|
||||
|
||||
diff --git a/src/hotspot/share/services/diagnosticCommand.cpp b/src/hotspot/share/services/diagnosticCommand.cpp
|
||||
index 51f47421c..1400e4a3f 100644
|
||||
--- a/src/hotspot/share/services/diagnosticCommand.cpp
|
||||
+++ b/src/hotspot/share/services/diagnosticCommand.cpp
|
||||
@@ -191,16 +191,6 @@ void HelpDCmd::execute(DCmdSource source, TRAPS) {
|
||||
factory->is_enabled() ? "" : " [disabled]");
|
||||
output()->print_cr("%s", factory->description());
|
||||
output()->print_cr("\nImpact: %s", factory->impact());
|
||||
- JavaPermission p = factory->permission();
|
||||
- if(p._class != NULL) {
|
||||
- if(p._action != NULL) {
|
||||
- output()->print_cr("\nPermission: %s(%s, %s)",
|
||||
- p._class, p._name == NULL ? "null" : p._name, p._action);
|
||||
- } else {
|
||||
- output()->print_cr("\nPermission: %s(%s)",
|
||||
- p._class, p._name == NULL ? "null" : p._name);
|
||||
- }
|
||||
- }
|
||||
output()->cr();
|
||||
cmd = factory->create_resource_instance(output());
|
||||
if (cmd != NULL) {
|
||||
--
|
||||
2.33.0
|
||||
|
||||
23
Backport-of-JDK-8305937.patch
Normal file
23
Backport-of-JDK-8305937.patch
Normal file
@ -0,0 +1,23 @@
|
||||
Subject: Backport of JDK-8305937
|
||||
|
||||
Signed-off-by: Qeryu <u201911667@hust.edu.cn>
|
||||
---
|
||||
test/jdk/com/sun/jdi/TestScaffold.java | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/test/jdk/com/sun/jdi/TestScaffold.java b/test/jdk/com/sun/jdi/TestScaffold.java
|
||||
index 2d4885c90..e46a44eda 100644
|
||||
--- a/test/jdk/com/sun/jdi/TestScaffold.java
|
||||
+++ b/test/jdk/com/sun/jdi/TestScaffold.java
|
||||
@@ -513,7 +513,7 @@ abstract public class TestScaffold extends TargetAdapter {
|
||||
public void connect(String args[]) {
|
||||
ArgInfo argInfo = parseArgs(args);
|
||||
|
||||
- argInfo.targetVMArgs += VMConnection.getDebuggeeVMOptions();
|
||||
+ argInfo.targetVMArgs = VMConnection.getDebuggeeVMOptions() + " " + argInfo.targetVMArgs;
|
||||
connection = new VMConnection(argInfo.connectorSpec,
|
||||
argInfo.traceFlags);
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -0,0 +1,84 @@
|
||||
From bc5f9fe895849d80d69ef273703e17d2e3ffc968 Mon Sep 17 00:00:00 2001
|
||||
Subject: Fix JBooster file issue caused by os::write change
|
||||
|
||||
---
|
||||
.../share/jbooster/net/serializationWrappers.cpp | 15 +++++++++------
|
||||
.../share/jbooster/net/serializationWrappers.hpp | 2 +-
|
||||
test/hotspot/gtest/jbooster/test_net.cpp | 6 +-----
|
||||
test/hotspot/gtest/jbooster/test_util.cpp | 4 ++--
|
||||
4 files changed, 13 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/src/hotspot/share/jbooster/net/serializationWrappers.cpp b/src/hotspot/share/jbooster/net/serializationWrappers.cpp
|
||||
index 13db948f6..58310e976 100644
|
||||
--- a/src/hotspot/share/jbooster/net/serializationWrappers.cpp
|
||||
+++ b/src/hotspot/share/jbooster/net/serializationWrappers.cpp
|
||||
@@ -385,12 +385,15 @@ int FileWrapper::deserialize(MessageBuffer& buf) {
|
||||
JB_RETURN(buf.deserialize_ref_no_meta(size_to_recv));
|
||||
|
||||
// content (use low-level APIs to save a memcpy)
|
||||
- uint32_t left = size_to_recv;
|
||||
- do {
|
||||
- uint32_t write_size = (uint32_t) os::write(_fd, buf.cur_buf_ptr(), left);
|
||||
- buf.skip_cur_offset(write_size);
|
||||
- left -= write_size;
|
||||
- } while (left > 0);
|
||||
+ if (!os::write(_fd, buf.cur_buf_ptr(), size_to_recv)) {
|
||||
+ int e = errno;
|
||||
+ errno = 0;
|
||||
+ guarantee(e != 0, "sanity");
|
||||
+ log_warning(jbooster, serialization)("Fail to write file \"%s\": errno=%s(\"%s\") .",
|
||||
+ _file_path, os::errno_name(e), os::strerror(e));
|
||||
+ JB_RETURN(e);
|
||||
+ }
|
||||
+ buf.skip_cur_offset(size_to_recv);
|
||||
|
||||
// update status
|
||||
_handled_file_size += size_to_recv;
|
||||
diff --git a/src/hotspot/share/jbooster/net/serializationWrappers.hpp b/src/hotspot/share/jbooster/net/serializationWrappers.hpp
|
||||
index cc7f96c15..02816fcc5 100644
|
||||
--- a/src/hotspot/share/jbooster/net/serializationWrappers.hpp
|
||||
+++ b/src/hotspot/share/jbooster/net/serializationWrappers.hpp
|
||||
@@ -253,7 +253,7 @@ public:
|
||||
|
||||
bool is_null() const { return _file_size == MessageConst::NULL_PTR; }
|
||||
bool is_file_all_handled() const {
|
||||
- assert(_file_size >= _handled_file_size, "sanity");
|
||||
+ guarantee(_file_size >= _handled_file_size, "sanity");
|
||||
return _handled_once && _file_size == _handled_file_size;
|
||||
}
|
||||
|
||||
diff --git a/test/hotspot/gtest/jbooster/test_net.cpp b/test/hotspot/gtest/jbooster/test_net.cpp
|
||||
index a2c45be5e..9eb29fc3a 100644
|
||||
--- a/test/hotspot/gtest/jbooster/test_net.cpp
|
||||
+++ b/test/hotspot/gtest/jbooster/test_net.cpp
|
||||
@@ -348,11 +348,7 @@ static void create_test_file_for_file_wrapper(const char* file_name) {
|
||||
int fd = os::open(file_name, O_BINARY | O_WRONLY | O_CREAT | O_EXCL | O_TRUNC, 0666);
|
||||
ASSERT_TRUE(fd >= 0);
|
||||
ASSERT_EQ(errno, 0);
|
||||
- uint32_t left = mem_size;
|
||||
- do {
|
||||
- uint32_t write_size = (uint32_t) os::write(fd, mem + mem_size - left, left);
|
||||
- left -= write_size;
|
||||
- } while (left > 0);
|
||||
+ ASSERT_TRUE(os::write(fd, mem, mem_size));
|
||||
os::close(fd);
|
||||
FREE_C_HEAP_ARRAY(char, mem);
|
||||
}
|
||||
diff --git a/test/hotspot/gtest/jbooster/test_util.cpp b/test/hotspot/gtest/jbooster/test_util.cpp
|
||||
index ab7fd9b39..cd65804be 100644
|
||||
--- a/test/hotspot/gtest/jbooster/test_util.cpp
|
||||
+++ b/test/hotspot/gtest/jbooster/test_util.cpp
|
||||
@@ -46,8 +46,8 @@ static const char* get_type_name(T t) {
|
||||
}
|
||||
|
||||
static void write_file(const char* file_path, const char* content) {
|
||||
- int fd = os::open(file_path, O_BINARY | O_WRONLY | O_CREAT, 0666);;
|
||||
- os::write(fd, content, strlen(content) + 1);
|
||||
+ int fd = os::open(file_path, O_BINARY | O_WRONLY | O_CREAT, 0666);
|
||||
+ ASSERT_TRUE(os::write(fd, content, strlen(content) + 1));
|
||||
os::close(fd);
|
||||
}
|
||||
|
||||
--
|
||||
2.23.0
|
||||
|
||||
@ -87,7 +87,7 @@ index bb09d8cf8..8b03ea56e 100644
|
||||
|
||||
ifeq ($(LIBZIP_CAN_USE_MMAP), true)
|
||||
@@ -139,10 +169,11 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \
|
||||
DISABLED_WARNINGS_clang := format-nonliteral, \
|
||||
DISABLED_WARNINGS_clang := format-nonliteral deprecated-non-prototype, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
- LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \
|
||||
|
||||
@ -23279,10 +23279,10 @@ index 00000000000..80dff0c7626
|
||||
+
|
||||
diff --git a/src/hotspot/cpu/loongarch/loongarch_64.ad b/src/hotspot/cpu/loongarch/loongarch_64.ad
|
||||
new file mode 100644
|
||||
index 00000000000..0c6516fc1d5
|
||||
index 00000000000..7e01822e0e9
|
||||
--- /dev/null
|
||||
+++ b/src/hotspot/cpu/loongarch/loongarch_64.ad
|
||||
@@ -0,0 +1,15678 @@
|
||||
@@ -0,0 +1,15689 @@
|
||||
+//
|
||||
+// Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
+// Copyright (c) 2015, 2022, Loongson Technology. All rights reserved.
|
||||
@ -29729,6 +29729,17 @@ index 00000000000..0c6516fc1d5
|
||||
+ ins_pipe(empty);
|
||||
+%}
|
||||
+
|
||||
+instruct same_addr_load_fence() %{
|
||||
+ match(SameAddrLoadFence);
|
||||
+ ins_cost(400);
|
||||
+
|
||||
+ format %{ "MEMBAR @ same_addr_load_fence" %}
|
||||
+ ins_encode %{
|
||||
+ __ dbar(0x700);
|
||||
+ %}
|
||||
+ ins_pipe(pipe_slow);
|
||||
+%}
|
||||
+
|
||||
+//----------Move Instructions--------------------------------------------------
|
||||
+instruct castX2P(mRegP dst, mRegL src) %{
|
||||
+ match(Set dst (CastX2P src));
|
||||
@ -95330,13 +95341,13 @@ index 00000000000..4a9b22bfef2
|
||||
+
|
||||
diff --git a/src/hotspot/cpu/mips/register_mips.hpp b/src/hotspot/cpu/mips/register_mips.hpp
|
||||
new file mode 100644
|
||||
index 00000000000..4f74717c24f
|
||||
index 00000000000..c2124538a0f
|
||||
--- /dev/null
|
||||
+++ b/src/hotspot/cpu/mips/register_mips.hpp
|
||||
@@ -0,0 +1,344 @@
|
||||
@@ -0,0 +1,345 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2015, 2022, Loongson Technology. All rights reserved.
|
||||
+ * Copyright (c) 2015, 2024, Loongson Technology. All rights reserved.
|
||||
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
+ *
|
||||
+ * This code is free software; you can redistribute it and/or modify it
|
||||
@ -95441,8 +95452,9 @@ index 00000000000..4f74717c24f
|
||||
+#define NOREG ((Register)(noreg_RegisterEnumValue))
|
||||
+
|
||||
+#define I0 ((Register)(i0_RegisterEnumValue))
|
||||
+#define I1 ((Register)(i1_RegisterEnumValue))
|
||||
+#define I2 ((Register)(i2_RegisterEnumValue))
|
||||
+// Conflict with I1 and I2 in googlemock/include/gmock/gmock-actions.h
|
||||
+//#define I1 ((Register)(i1_RegisterEnumValue))
|
||||
+//#define I2 ((Register)(i2_RegisterEnumValue))
|
||||
+#define I3 ((Register)(i3_RegisterEnumValue))
|
||||
+#define I4 ((Register)(i4_RegisterEnumValue))
|
||||
+#define I5 ((Register)(i5_RegisterEnumValue))
|
||||
@ -110705,7 +110717,7 @@ index 3657b16fc1a..a2aab225743 100644
|
||||
size_t ZPlatformAddressMetadataShift();
|
||||
|
||||
diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
|
||||
index 63b7562f118..5b11b0c1df0 100644
|
||||
index 7c951cee51c..5747d4d3f55 100644
|
||||
--- a/src/hotspot/os/linux/os_linux.cpp
|
||||
+++ b/src/hotspot/os/linux/os_linux.cpp
|
||||
@@ -23,6 +23,12 @@
|
||||
@ -110721,7 +110733,7 @@ index 63b7562f118..5b11b0c1df0 100644
|
||||
// no precompiled headers
|
||||
#include "jvm.h"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
@@ -2459,7 +2465,7 @@ void os::print_memory_info(outputStream* st) {
|
||||
@@ -2457,7 +2463,7 @@ void os::print_memory_info(outputStream* st) {
|
||||
// before "flags" so if we find a second "model name", then the
|
||||
// "flags" field is considered missing.
|
||||
static bool print_model_name_and_flags(outputStream* st, char* buf, size_t buflen) {
|
||||
@ -110730,7 +110742,7 @@ index 63b7562f118..5b11b0c1df0 100644
|
||||
// Other platforms have less repetitive cpuinfo files
|
||||
FILE *fp = fopen("/proc/cpuinfo", "r");
|
||||
if (fp) {
|
||||
@@ -2549,7 +2555,7 @@ void os::pd_print_cpu_info(outputStream* st, char* buf, size_t buflen) {
|
||||
@@ -2547,7 +2553,7 @@ void os::pd_print_cpu_info(outputStream* st, char* buf, size_t buflen) {
|
||||
print_sys_devices_cpu_info(st, buf, buflen);
|
||||
}
|
||||
|
||||
@ -114286,6 +114298,31 @@ index 00000000000..93e4bea04c6
|
||||
+#include "precompiled.hpp"
|
||||
+#include "runtime/os.hpp"
|
||||
+#include "runtime/vm_version.hpp"
|
||||
diff --git a/src/hotspot/share/adlc/formssel.cpp b/src/hotspot/share/adlc/formssel.cpp
|
||||
index b45f432dac9..02bec17ddf3 100644
|
||||
--- a/src/hotspot/share/adlc/formssel.cpp
|
||||
+++ b/src/hotspot/share/adlc/formssel.cpp
|
||||
@@ -22,6 +22,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+/*
|
||||
+ * This file has been modified by Loongson Technology in 2023, These
|
||||
+ * modifications are Copyright (c) 2023, Loongson Technology, and are made
|
||||
+ * available on the same license terms set forth above.
|
||||
+ */
|
||||
+
|
||||
// FORMS.CPP - Definitions for ADL Parser Forms Classes
|
||||
#include "adlc.hpp"
|
||||
|
||||
@@ -4124,6 +4130,7 @@ bool MatchRule::is_ideal_membar() const {
|
||||
!strcmp(_opType,"MemBarVolatile") ||
|
||||
!strcmp(_opType,"MemBarCPUOrder") ||
|
||||
!strcmp(_opType,"MemBarStoreStore") ||
|
||||
+ !strcmp(_opType,"SameAddrLoadFence" ) ||
|
||||
!strcmp(_opType,"OnSpinWait");
|
||||
}
|
||||
|
||||
diff --git a/src/hotspot/share/asm/codeBuffer.cpp b/src/hotspot/share/asm/codeBuffer.cpp
|
||||
index 0012152d48d..e3660cab271 100644
|
||||
--- a/src/hotspot/share/asm/codeBuffer.cpp
|
||||
@ -114850,7 +114887,7 @@ index d3d38d11a90..6947406b2e7 100644
|
||||
prev_cmove = (LIR_Op4*)prev_op;
|
||||
#else
|
||||
diff --git a/src/hotspot/share/code/nmethod.cpp b/src/hotspot/share/code/nmethod.cpp
|
||||
index eef8e6b4bbb..1da32556e66 100644
|
||||
index f5861d1f3ed..e1b78dcf381 100644
|
||||
--- a/src/hotspot/share/code/nmethod.cpp
|
||||
+++ b/src/hotspot/share/code/nmethod.cpp
|
||||
@@ -22,6 +22,12 @@
|
||||
@ -115036,6 +115073,46 @@ index f0944108810..a8c1f97a80e 100644
|
||||
assert(_task_queue->taskqueue_empty(), "invariant");
|
||||
}
|
||||
|
||||
diff --git a/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp b/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp
|
||||
index 56fdd2abeb4..17b9bcafd47 100644
|
||||
--- a/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp
|
||||
+++ b/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp
|
||||
@@ -22,6 +22,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+/*
|
||||
+ * This file has been modified by Loongson Technology in 2023, These
|
||||
+ * modifications are Copyright (c) 2023, Loongson Technology, and are made
|
||||
+ * available on the same license terms set forth above.
|
||||
+ */
|
||||
+
|
||||
#include "precompiled.hpp"
|
||||
#include "gc/shared/tlab_globals.hpp"
|
||||
#include "gc/shared/c2/barrierSetC2.hpp"
|
||||
@@ -266,6 +272,8 @@ public:
|
||||
|
||||
bool is_volatile = (decorators & MO_SEQ_CST) != 0;
|
||||
bool is_acquire = (decorators & MO_ACQUIRE) != 0;
|
||||
+ bool is_relaxed = (decorators & MO_RELAXED) != 0;
|
||||
+ bool is_unsafe = (decorators & C2_UNSAFE_ACCESS) != 0;
|
||||
|
||||
// If reference is volatile, prevent following volatiles ops from
|
||||
// floating up before the volatile access.
|
||||
@@ -299,6 +307,13 @@ public:
|
||||
assert(_leading_membar == NULL || support_IRIW_for_not_multiple_copy_atomic_cpu, "no leading membar expected");
|
||||
Node* mb = kit->insert_mem_bar(Op_MemBarAcquire, n);
|
||||
mb->as_MemBar()->set_trailing_load();
|
||||
+ } else if (is_relaxed && is_unsafe) {
|
||||
+#ifdef LOONGARCH64
|
||||
+ assert(kit != nullptr, "unsupported at optimization time");
|
||||
+ Node* n = _access.raw_access();
|
||||
+ Node* mb = kit->insert_mem_bar(Op_SameAddrLoadFence, n);
|
||||
+ mb->as_MemBar()->set_trailing_load();
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
|
||||
index 7d31ff02e1a..07dac06aecf 100644
|
||||
--- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
|
||||
@ -115231,7 +115308,7 @@ index 3f57d487bae..3b49daaf96e 100644
|
||||
|
||||
#define VM_STRUCTS_CPU(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field, nonproduct_nonstatic_field, c2_nonstatic_field, unchecked_c1_static_field, unchecked_c2_static_field) \
|
||||
diff --git a/src/hotspot/share/memory/metaspace.cpp b/src/hotspot/share/memory/metaspace.cpp
|
||||
index 1e897615eaf..9dc65a72b1e 100644
|
||||
index d1882c70e2c..7e62537658a 100644
|
||||
--- a/src/hotspot/share/memory/metaspace.cpp
|
||||
+++ b/src/hotspot/share/memory/metaspace.cpp
|
||||
@@ -23,6 +23,12 @@
|
||||
@ -115247,7 +115324,7 @@ index 1e897615eaf..9dc65a72b1e 100644
|
||||
#include "precompiled.hpp"
|
||||
#include "cds/metaspaceShared.hpp"
|
||||
#include "classfile/classLoaderData.hpp"
|
||||
@@ -587,12 +593,15 @@ bool Metaspace::class_space_is_initialized() {
|
||||
@@ -581,12 +587,15 @@ bool Metaspace::class_space_is_initialized() {
|
||||
// On error, returns an unreserved space.
|
||||
ReservedSpace Metaspace::reserve_address_space_for_compressed_classes(size_t size) {
|
||||
|
||||
@ -115264,7 +115341,7 @@ index 1e897615eaf..9dc65a72b1e 100644
|
||||
// Additionally, above 32G, ensure the lower LogKlassAlignmentInBytes bits
|
||||
// of the upper 32-bits of the address are zero so we can handle a shift
|
||||
// when decoding.
|
||||
@@ -649,16 +658,16 @@ ReservedSpace Metaspace::reserve_address_space_for_compressed_classes(size_t siz
|
||||
@@ -643,16 +652,16 @@ ReservedSpace Metaspace::reserve_address_space_for_compressed_classes(size_t siz
|
||||
return rs;
|
||||
}
|
||||
}
|
||||
@ -115284,8 +115361,115 @@ index 1e897615eaf..9dc65a72b1e 100644
|
||||
}
|
||||
|
||||
#endif // _LP64
|
||||
diff --git a/src/hotspot/share/opto/classes.hpp b/src/hotspot/share/opto/classes.hpp
|
||||
index 614d0b4e112..8d7764eb8a0 100644
|
||||
--- a/src/hotspot/share/opto/classes.hpp
|
||||
+++ b/src/hotspot/share/opto/classes.hpp
|
||||
@@ -22,6 +22,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+/*
|
||||
+ * This file has been modified by Loongson Technology in 2023, These
|
||||
+ * modifications are Copyright (c) 2023, Loongson Technology, and are made
|
||||
+ * available on the same license terms set forth above.
|
||||
+ */
|
||||
+
|
||||
#include "utilities/macros.hpp"
|
||||
|
||||
// The giant table of Node classes.
|
||||
@@ -223,6 +229,7 @@ macro(StoreStoreFence)
|
||||
macro(MemBarReleaseLock)
|
||||
macro(MemBarVolatile)
|
||||
macro(MemBarStoreStore)
|
||||
+macro(SameAddrLoadFence)
|
||||
macro(MergeMem)
|
||||
macro(MinI)
|
||||
macro(MinL)
|
||||
diff --git a/src/hotspot/share/opto/compile.cpp b/src/hotspot/share/opto/compile.cpp
|
||||
index 4e8e39ffa74..6c7770dbf9c 100644
|
||||
--- a/src/hotspot/share/opto/compile.cpp
|
||||
+++ b/src/hotspot/share/opto/compile.cpp
|
||||
@@ -22,6 +22,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+/*
|
||||
+ * This file has been modified by Loongson Technology in 2023, These
|
||||
+ * modifications are Copyright (c) 2023, Loongson Technology, and are made
|
||||
+ * available on the same license terms set forth above.
|
||||
+ */
|
||||
+
|
||||
#include "precompiled.hpp"
|
||||
#include "jvm_io.h"
|
||||
#include "asm/macroAssembler.hpp"
|
||||
@@ -3522,6 +3528,7 @@ void Compile::final_graph_reshaping_main_switch(Node* n, Final_Reshape_Counts& f
|
||||
n->set_req(MemBarNode::Precedent, top());
|
||||
}
|
||||
break;
|
||||
+ case Op_SameAddrLoadFence:
|
||||
case Op_MemBarAcquire: {
|
||||
if (n->as_MemBar()->trailing_load() && n->req() > MemBarNode::Precedent) {
|
||||
// At parse time, the trailing MemBarAcquire for a volatile load
|
||||
diff --git a/src/hotspot/share/opto/memnode.cpp b/src/hotspot/share/opto/memnode.cpp
|
||||
index 074b129b059..a1886f813c3 100644
|
||||
--- a/src/hotspot/share/opto/memnode.cpp
|
||||
+++ b/src/hotspot/share/opto/memnode.cpp
|
||||
@@ -22,6 +22,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+/*
|
||||
+ * This file has been modified by Loongson Technology in 2023, These
|
||||
+ * modifications are Copyright (c) 2023, Loongson Technology, and are made
|
||||
+ * available on the same license terms set forth above.
|
||||
+ */
|
||||
+
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/javaClasses.hpp"
|
||||
#include "compiler/compileLog.hpp"
|
||||
@@ -3298,6 +3304,7 @@ MemBarNode* MemBarNode::make(Compile* C, int opcode, int atp, Node* pn) {
|
||||
case Op_MemBarReleaseLock: return new MemBarReleaseLockNode(C, atp, pn);
|
||||
case Op_MemBarVolatile: return new MemBarVolatileNode(C, atp, pn);
|
||||
case Op_MemBarCPUOrder: return new MemBarCPUOrderNode(C, atp, pn);
|
||||
+ case Op_SameAddrLoadFence: return new SameAddrLoadFenceNode(C, atp, pn);
|
||||
case Op_OnSpinWait: return new OnSpinWaitNode(C, atp, pn);
|
||||
case Op_Initialize: return new InitializeNode(C, atp, pn);
|
||||
default: ShouldNotReachHere(); return nullptr;
|
||||
diff --git a/src/hotspot/share/opto/memnode.hpp b/src/hotspot/share/opto/memnode.hpp
|
||||
index 99a30486274..71bf997533f 100644
|
||||
--- a/src/hotspot/share/opto/memnode.hpp
|
||||
+++ b/src/hotspot/share/opto/memnode.hpp
|
||||
@@ -22,6 +22,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+/*
|
||||
+ * This file has been modified by Loongson Technology in 2023, These
|
||||
+ * modifications are Copyright (c) 2023, Loongson Technology, and are made
|
||||
+ * available on the same license terms set forth above.
|
||||
+ */
|
||||
+
|
||||
#ifndef SHARE_OPTO_MEMNODE_HPP
|
||||
#define SHARE_OPTO_MEMNODE_HPP
|
||||
|
||||
@@ -1336,6 +1342,14 @@ public:
|
||||
virtual uint ideal_reg() const { return 0; } // not matched in the AD file
|
||||
};
|
||||
|
||||
+// Used to prevent LoadLoad reorder for same address.
|
||||
+class SameAddrLoadFenceNode: public MemBarNode {
|
||||
+public:
|
||||
+ SameAddrLoadFenceNode(Compile* C, int alias_idx, Node* precedent)
|
||||
+ : MemBarNode(C, alias_idx, precedent) {}
|
||||
+ virtual int Opcode() const;
|
||||
+};
|
||||
+
|
||||
class OnSpinWaitNode: public MemBarNode {
|
||||
public:
|
||||
OnSpinWaitNode(Compile* C, int alias_idx, Node* precedent)
|
||||
diff --git a/src/hotspot/share/opto/output.cpp b/src/hotspot/share/opto/output.cpp
|
||||
index 8a1ed0d3160..596829c07ca 100644
|
||||
index 43c46a0eb8f..af7a37a1bf2 100644
|
||||
--- a/src/hotspot/share/opto/output.cpp
|
||||
+++ b/src/hotspot/share/opto/output.cpp
|
||||
@@ -22,6 +22,12 @@
|
||||
@ -115301,7 +115485,7 @@ index 8a1ed0d3160..596829c07ca 100644
|
||||
#include "precompiled.hpp"
|
||||
#include "asm/assembler.inline.hpp"
|
||||
#include "asm/macroAssembler.inline.hpp"
|
||||
@@ -1011,6 +1017,27 @@ void PhaseOutput::Process_OopMap_Node(MachNode *mach, int current_offset) {
|
||||
@@ -1016,6 +1022,27 @@ void PhaseOutput::Process_OopMap_Node(MachNode *mach, int current_offset) {
|
||||
// Add the safepoint in the DebugInfoRecorder
|
||||
if( !mach->is_MachCall() ) {
|
||||
mcall = nullptr;
|
||||
@ -115329,7 +115513,7 @@ index 8a1ed0d3160..596829c07ca 100644
|
||||
C->debug_info()->add_safepoint(safepoint_pc_offset, sfn->_oop_map);
|
||||
} else {
|
||||
mcall = mach->as_MachCall();
|
||||
@@ -1686,6 +1713,22 @@ void PhaseOutput::fill_buffer(CodeBuffer* cb, uint* blk_starts) {
|
||||
@@ -1691,6 +1718,22 @@ void PhaseOutput::fill_buffer(CodeBuffer* cb, uint* blk_starts) {
|
||||
DEBUG_ONLY(uint instr_offset = cb->insts_size());
|
||||
n->emit(*cb, C->regalloc());
|
||||
current_offset = cb->insts_size();
|
||||
@ -115353,7 +115537,7 @@ index 8a1ed0d3160..596829c07ca 100644
|
||||
// Above we only verified that there is enough space in the instruction section.
|
||||
// However, the instruction may emit stubs that cause code buffer expansion.
|
||||
diff --git a/src/hotspot/share/opto/type.cpp b/src/hotspot/share/opto/type.cpp
|
||||
index e99bf8eb8bb..67f8de896a9 100644
|
||||
index f13ffbc12af..f78be3e0871 100644
|
||||
--- a/src/hotspot/share/opto/type.cpp
|
||||
+++ b/src/hotspot/share/opto/type.cpp
|
||||
@@ -22,6 +22,12 @@
|
||||
@ -115420,7 +115604,7 @@ index 374816fd355..e7015344a18 100644
|
||||
assert(owner_raw() != current, "invariant");
|
||||
assert(_Responsible != current, "invariant");
|
||||
diff --git a/src/hotspot/share/runtime/os.cpp b/src/hotspot/share/runtime/os.cpp
|
||||
index 69cf6f143c4..16dc031e430 100644
|
||||
index e786b057262..6f34a7d5ea5 100644
|
||||
--- a/src/hotspot/share/runtime/os.cpp
|
||||
+++ b/src/hotspot/share/runtime/os.cpp
|
||||
@@ -22,6 +22,12 @@
|
||||
@ -115436,7 +115620,7 @@ index 69cf6f143c4..16dc031e430 100644
|
||||
#include "precompiled.hpp"
|
||||
#include "jvm.h"
|
||||
#include "classfile/javaClasses.hpp"
|
||||
@@ -1228,7 +1234,8 @@ bool os::is_first_C_frame(frame* fr) {
|
||||
@@ -1238,7 +1244,8 @@ bool os::is_first_C_frame(frame* fr) {
|
||||
if ((uintptr_t)fr->sender_sp() == (uintptr_t)-1 || is_pointer_bad(fr->sender_sp())) return true;
|
||||
|
||||
uintptr_t old_fp = (uintptr_t)fr->link_or_null();
|
||||
@ -115540,6 +115724,31 @@ index d86fce3c8ac..71bfd4dfa19 100644
|
||||
// Use membars when accessing volatile _thread_state. See
|
||||
// Threads::create_vm() for size checks.
|
||||
Atomic::release_store((volatile jint*)&_thread_state, (jint)s);
|
||||
diff --git a/src/hotspot/share/runtime/vmStructs.cpp b/src/hotspot/share/runtime/vmStructs.cpp
|
||||
index 33de84a68c1..7dc3d58f381 100644
|
||||
--- a/src/hotspot/share/runtime/vmStructs.cpp
|
||||
+++ b/src/hotspot/share/runtime/vmStructs.cpp
|
||||
@@ -22,6 +22,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+/*
|
||||
+ * This file has been modified by Loongson Technology in 2023, These
|
||||
+ * modifications are Copyright (c) 2023, Loongson Technology, and are made
|
||||
+ * available on the same license terms set forth above.
|
||||
+ */
|
||||
+
|
||||
#include "precompiled.hpp"
|
||||
#include "cds/filemap.hpp"
|
||||
#include "ci/ciField.hpp"
|
||||
@@ -1597,6 +1603,7 @@ typedef HashtableEntry<InstanceKlass*, mtClass> KlassHashtableEntry;
|
||||
declare_c2_type(StoreFenceNode, MemBarNode) \
|
||||
declare_c2_type(MemBarVolatileNode, MemBarNode) \
|
||||
declare_c2_type(MemBarCPUOrderNode, MemBarNode) \
|
||||
+ declare_c2_type(SameAddrLoadFenceNode, MemBarNode) \
|
||||
declare_c2_type(OnSpinWaitNode, MemBarNode) \
|
||||
declare_c2_type(BlackholeNode, MultiNode) \
|
||||
declare_c2_type(InitializeNode, MemBarNode) \
|
||||
diff --git a/src/hotspot/share/utilities/macros.hpp b/src/hotspot/share/utilities/macros.hpp
|
||||
index 33ecfe089f8..4d024b35735 100644
|
||||
--- a/src/hotspot/share/utilities/macros.hpp
|
||||
@ -115737,7 +115946,7 @@ index a69496e77a4..64312b4705d 100644
|
||||
// This C bool type must be int for compatibility with Linux calls and
|
||||
// it would be a mistake to equivalence it to C++ bool on many platforms
|
||||
diff --git a/src/jdk.hotspot.agent/linux/native/libsaproc/ps_proc.c b/src/jdk.hotspot.agent/linux/native/libsaproc/ps_proc.c
|
||||
index 1101b999961..301c9f9f26e 100644
|
||||
index 3068f475626..d35cc73221f 100644
|
||||
--- a/src/jdk.hotspot.agent/linux/native/libsaproc/ps_proc.c
|
||||
+++ b/src/jdk.hotspot.agent/linux/native/libsaproc/ps_proc.c
|
||||
@@ -22,6 +22,12 @@
|
||||
@ -121968,6 +122177,28 @@ index 16863189500..e2f3a13473b 100644
|
||||
+ {"aix-ppc64", "dt_shmem"},
|
||||
};
|
||||
}
|
||||
diff --git a/test/jdk/java/nio/channels/DatagramChannel/Disconnect.java b/test/jdk/java/nio/channels/DatagramChannel/Disconnect.java
|
||||
index cdc5882fefd..16120f85168 100644
|
||||
--- a/test/jdk/java/nio/channels/DatagramChannel/Disconnect.java
|
||||
+++ b/test/jdk/java/nio/channels/DatagramChannel/Disconnect.java
|
||||
@@ -52,7 +52,7 @@ public class Disconnect {
|
||||
if (IPSupport.hasIPv4()) {
|
||||
// test with IPv4 only
|
||||
try (DatagramChannel dc = DatagramChannel.open(StandardProtocolFamily.INET)) {
|
||||
- InetAddress lo4 = InetAddress.ofLiteral("127.0.0.1");
|
||||
+ InetAddress lo4 = InetAddress.getByName("127.0.0.1");
|
||||
System.out.println("Testing with INET family and " + lo4);
|
||||
test(dc, lo4);
|
||||
test(dc, lo4);
|
||||
@@ -62,7 +62,7 @@ public class Disconnect {
|
||||
if (IPSupport.hasIPv6()) {
|
||||
// test with IPv6 only
|
||||
try (DatagramChannel dc = DatagramChannel.open(StandardProtocolFamily.INET6)) {
|
||||
- InetAddress lo6 = InetAddress.ofLiteral("::1");
|
||||
+ InetAddress lo6 = InetAddress.getByName("::1");
|
||||
System.out.println("Testing with INET6 family and " + lo6);
|
||||
test(dc, lo6);
|
||||
test(dc, lo6);
|
||||
diff --git a/test/jdk/jdk/jfr/event/os/TestCPUInformation.java b/test/jdk/jdk/jfr/event/os/TestCPUInformation.java
|
||||
index c5166580010..913136a1fd1 100644
|
||||
--- a/test/jdk/jdk/jfr/event/os/TestCPUInformation.java
|
||||
@ -121997,7 +122228,7 @@ index c5166580010..913136a1fd1 100644
|
||||
}
|
||||
}
|
||||
diff --git a/test/lib-test/jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java b/test/lib-test/jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java
|
||||
index f8ce856bddd..003e75094e4 100644
|
||||
index e78e200ac24..2b9fcc0ff47 100644
|
||||
--- a/test/lib-test/jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java
|
||||
+++ b/test/lib-test/jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java
|
||||
@@ -33,6 +33,12 @@ import java.util.HashSet;
|
||||
@ -122023,7 +122254,7 @@ index f8ce856bddd..003e75094e4 100644
|
||||
OS("isAix", "isLinux", "isOSX", "isWindows"),
|
||||
VM_TYPE("isClient", "isServer", "isMinimal", "isZero", "isEmbedded"),
|
||||
diff --git a/test/lib/jdk/test/lib/Platform.java b/test/lib/jdk/test/lib/Platform.java
|
||||
index 00e922bb15a..d01b20e1eff 100644
|
||||
index 2e2e16e6593..64b42446e84 100644
|
||||
--- a/test/lib/jdk/test/lib/Platform.java
|
||||
+++ b/test/lib/jdk/test/lib/Platform.java
|
||||
@@ -21,6 +21,12 @@
|
||||
|
||||
@ -13,7 +13,7 @@ index 000000000..b717bafbe
|
||||
--- /dev/null
|
||||
+++ b/version.txt
|
||||
@@ -0,0 +1 @@
|
||||
+17.0.12.0.13
|
||||
+17.0.13.0.13
|
||||
--
|
||||
2.19.0
|
||||
|
||||
|
||||
28
downgrade-fcntl64-to-fcntl-on-linux.patch
Normal file
28
downgrade-fcntl64-to-fcntl-on-linux.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From d01d6f1d2c4baeb238a850ccedc8b2ab1a926eb0 Mon Sep 17 00:00:00 2001
|
||||
Date: Thu, 31 Oct 2024 17:06:06 +0800
|
||||
Subject: downgrade fcntl64 to fcntl on linux
|
||||
|
||||
---
|
||||
src/hotspot/os/linux/os_linux.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
|
||||
index e59af5504..96b92344f 100644
|
||||
--- a/src/hotspot/os/linux/os_linux.cpp
|
||||
+++ b/src/hotspot/os/linux/os_linux.cpp
|
||||
@@ -122,6 +122,12 @@
|
||||
#include <sched.h>
|
||||
#endif
|
||||
|
||||
+#if defined(AARCH64)
|
||||
+ __asm__(".symver fcntl64,fcntl@GLIBC_2.17");
|
||||
+#elif defined(AMD64)
|
||||
+ __asm__(".symver fcntl64,fcntl@GLIBC_2.2.5");
|
||||
+#endif
|
||||
+
|
||||
// if RUSAGE_THREAD for getrusage() has not been defined, do it here. The code calling
|
||||
// getrusage() is prepared to handle the associated failure.
|
||||
#ifndef RUSAGE_THREAD
|
||||
--
|
||||
2.22.0
|
||||
|
||||
Binary file not shown.
@ -161,7 +161,7 @@
|
||||
# Used via new version scheme. JDK 17 was
|
||||
# GA'ed in March 2021 => 21.9
|
||||
%global vendor_version_string 21.9
|
||||
%global securityver 12
|
||||
%global securityver 13
|
||||
# buildjdkver is usually same as %%{majorver},
|
||||
# but in time of bootstrap of next jdk, it is majorver-1,
|
||||
# and this it is better to change it here, on single place
|
||||
@ -187,7 +187,7 @@
|
||||
%global origin_nice OpenJDK
|
||||
%global top_level_dir_name %{origin}
|
||||
%global minorver 0
|
||||
%global buildver 7
|
||||
%global buildver 11
|
||||
# priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
|
||||
%if %is_system_jdk
|
||||
%global priority %( printf '%02d%02d%02d%02d' %{majorver} %{minorver} %{securityver} %{buildver} )
|
||||
@ -903,7 +903,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
|
||||
|
||||
Name: java-%{javaver}-%{origin}
|
||||
Version: %{newjavaver}.%{buildver}
|
||||
Release: 5
|
||||
Release: 2
|
||||
|
||||
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
|
||||
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
|
||||
@ -1026,7 +1026,20 @@ Patch53: Add-JBooster-options-check.patch
|
||||
Patch54: KAE-zip-Features.patch
|
||||
Patch55: heap-dump-redact-support.patch
|
||||
Patch56: Backport-Important-Fixed-Issues.patch
|
||||
Patch57: Backport-of-JDK-8305680.patch
|
||||
Patch58: Backport-of-JDK-8305937.patch
|
||||
Patch59: 8338785-The-java.awt.datatransfer.SystemFlavorMap-FL.patch
|
||||
Patch60: 8337982-Remove-dead-undef-assrt0n.patch
|
||||
Patch61: 8337274-Remove-repeated-the-in-StyleSheet.create-Sma.patch
|
||||
Patch62: 8335610-DiagnosticFramework-CmdLine-is_executable-co.patch
|
||||
Patch63: Backport-of-8333088-ubsan-shenandoahAdaptiveHeuristi.patch
|
||||
Patch64: Backport-of-8339351-Remove-duplicate-line-in-FileMap.patch
|
||||
Patch65: Backport-of-8330191-Fix-typo-in-precompiled.hpp.patch
|
||||
Patch66: Backport-of-8337712-Wrong-javadoc-in-java.util.Date-.patch
|
||||
|
||||
#17.0.13
|
||||
Patch67: Huawei-Fix-JBooster-file-issue-caused-by-os-write-change.patch
|
||||
Patch68: downgrade-fcntl64-to-fcntl-on-linux.patch
|
||||
############################################
|
||||
#
|
||||
# LoongArch64 specific patches
|
||||
@ -1298,7 +1311,18 @@ pushd %{top_level_dir_name}
|
||||
%patch55 -p1
|
||||
%patch56 -p1
|
||||
%endif
|
||||
|
||||
%patch57 -p1
|
||||
%patch58 -p1
|
||||
%patch59 -p1
|
||||
%patch60 -p1
|
||||
%patch61 -p1
|
||||
%patch62 -p1
|
||||
%patch63 -p1
|
||||
%patch64 -p1
|
||||
%patch65 -p1
|
||||
%patch66 -p1
|
||||
%patch67 -p1
|
||||
%patch68 -p1
|
||||
popd # openjdk
|
||||
%endif
|
||||
|
||||
@ -1865,8 +1889,34 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Oct 31 2024 Pan Xuefeng <panxuefeng@loongson.cn> - 1:17.0.12.7-5
|
||||
- update LoongArch64 port to 17.0.12.7
|
||||
* Wed Nov 6 2024 Pan Xuefeng <panxuefeng@loongson.cn> - 1:17.0.13.11-2
|
||||
- upgrade LoongArch64 port to 17.0.13
|
||||
|
||||
* Thu Oct 31 2024 neu-mobi <liuyulong35@huawei.com> - 1:17.0.13.11-1
|
||||
- add downgrade-fcntl64-to-fcntl-on-linux.patch
|
||||
|
||||
* Wed Oct 16 2024 Benshuai5D <zhangyunbo7@huawei.com> - 1:17.0.13.11-0
|
||||
- modify 8264805-Backport-Ahead-of-Time-Compiler.patch
|
||||
- modify 8264806-Backport-Graal-Compiler.patch
|
||||
- modify Add-JBooster-Lazy-AOT-module.patch
|
||||
- modify Apply-TBI-to-ZGC-of-JDK17.patch
|
||||
- modify Backport-Important-Fixed-Issues.patch
|
||||
- modify KAE-zip-Features.patch
|
||||
- modify add-version-txt.patch
|
||||
- add Huawei-Fix-JBooster-file-issue-caused-by-os-write-change.patch
|
||||
- update to 17.0.13+11(ga)
|
||||
|
||||
* Mon Oct 14 2024 Autistic_boyya <wangzhongyi7@huawei.com> - 1:17.0.12.7-5
|
||||
- Add Backport-of-JDK-8305680.patch
|
||||
- Add Backport-of-JDK-8305937.patch
|
||||
- Add 8338785-The-java.awt.datatransfer.SystemFlavorMap-FL.patch
|
||||
- Add 8337982-Remove-dead-undef-assrt0n.patch
|
||||
- Add 8337274-Remove-repeated-the-in-StyleSheet.create-Sma.patch
|
||||
- Add 8335610-DiagnosticFramework-CmdLine-is_executable-co.patch
|
||||
- Add Backport-of-8333088-ubsan-shenandoahAdaptiveHeuristi.patch
|
||||
- Add Backport-of-8339351-Remove-duplicate-line-in-FileMap.patch
|
||||
- Add Backport-of-8330191-Fix-typo-in-precompiled.hpp.patch
|
||||
- Add Backport-of-8337712-Wrong-javadoc-in-java.util.Date-.patch
|
||||
|
||||
* Mon Sep 23 2024 Dingli Zhang <dingli@iscas.ac.cn> - 1:17.0.12.7-4
|
||||
- Remove the KAE patch for riscv64 to fix build errors
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user