diff --git a/jdk/make/src/classes/build/tools/x11wrappergen/WrapperGenerator.java b/jdk/make/src/classes/build/tools/x11wrappergen/WrapperGenerator.java
index e3a68c42afb..60888904b89 100644
--- a/jdk/make/src/classes/build/tools/x11wrappergen/WrapperGenerator.java
+++ b/jdk/make/src/classes/build/tools/x11wrappergen/WrapperGenerator.java
@@ -841,7 +841,7 @@ public class WrapperGenerator {
pw.println("// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n" );
pw.println("package "+package_name+";\n");
- pw.println("import sun.misc.*;\n");
+ pw.println("import jdk.internal.misc.Unsafe;\n");
pw.println("import sun.util.logging.PlatformLogger;");
String baseClass = stp.getBaseClass();
if (baseClass == null) {
@@ -941,7 +941,7 @@ public class WrapperGenerator {
pw.println("// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n" );
pw.println("package "+package_name+";\n");
- pw.println("import sun.misc.Unsafe;\n");
+ pw.println("import jdk.internal.misc.Unsafe;\n");
pw.println("class " + ft.getName() + " {");
pw.println("\tprivate static Unsafe unsafe = XlibWrapper.unsafe;");
pw.println("\tprivate boolean __executed = false;");
diff --git a/jdk/src/java.base/aix/classes/sun/nio/ch/AixPollPort.java b/jdk/src/java.base/aix/classes/sun/nio/ch/AixPollPort.java
index a7a954597e5..9cb294f67f0 100644
--- a/jdk/src/java.base/aix/classes/sun/nio/ch/AixPollPort.java
+++ b/jdk/src/java.base/aix/classes/sun/nio/ch/AixPollPort.java
@@ -34,7 +34,7 @@ import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.ReentrantLock;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
/**
* AsynchronousChannelGroup implementation based on the AIX pollset framework.
diff --git a/jdk/src/java.base/linux/classes/sun/nio/ch/EPoll.java b/jdk/src/java.base/linux/classes/sun/nio/ch/EPoll.java
index bb2b9e5171f..72fe9950621 100644
--- a/jdk/src/java.base/linux/classes/sun/nio/ch/EPoll.java
+++ b/jdk/src/java.base/linux/classes/sun/nio/ch/EPoll.java
@@ -26,7 +26,7 @@
package sun.nio.ch;
import java.io.IOException;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
/**
* Provides access to the Linux epoll facility.
diff --git a/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxDosFileAttributeView.java b/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxDosFileAttributeView.java
index 11a40a0e862..dba638e8da9 100644
--- a/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxDosFileAttributeView.java
+++ b/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxDosFileAttributeView.java
@@ -29,7 +29,7 @@ import java.nio.file.attribute.*;
import java.util.Map;
import java.util.Set;
import java.io.IOException;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
import static sun.nio.fs.UnixNativeDispatcher.*;
import static sun.nio.fs.UnixConstants.*;
diff --git a/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java b/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java
index d3960b27701..18b880c550f 100644
--- a/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java
+++ b/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java
@@ -29,7 +29,7 @@ import java.nio.file.*;
import java.nio.ByteBuffer;
import java.io.IOException;
import java.util.*;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
import static sun.nio.fs.UnixConstants.*;
import static sun.nio.fs.LinuxNativeDispatcher.*;
diff --git a/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxWatchService.java b/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxWatchService.java
index 19079d72878..02af6a539d6 100644
--- a/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxWatchService.java
+++ b/jdk/src/java.base/linux/classes/sun/nio/fs/LinuxWatchService.java
@@ -30,7 +30,7 @@ import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.*;
import java.io.IOException;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
import static sun.nio.fs.UnixNativeDispatcher.*;
import static sun.nio.fs.UnixConstants.*;
diff --git a/jdk/src/java.base/macosx/classes/sun/nio/ch/KQueue.java b/jdk/src/java.base/macosx/classes/sun/nio/ch/KQueue.java
index b98dacdfc53..f2be5339a76 100644
--- a/jdk/src/java.base/macosx/classes/sun/nio/ch/KQueue.java
+++ b/jdk/src/java.base/macosx/classes/sun/nio/ch/KQueue.java
@@ -26,7 +26,7 @@
package sun.nio.ch;
import java.io.IOException;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
/**
* Provides access to the BSD kqueue facility.
diff --git a/jdk/src/java.base/share/classes/java/io/File.java b/jdk/src/java.base/share/classes/java/io/File.java
index 63e6d571ed2..6137d0acd29 100644
--- a/jdk/src/java.base/share/classes/java/io/File.java
+++ b/jdk/src/java.base/share/classes/java/io/File.java
@@ -2184,10 +2184,10 @@ public class File
private static final long PATH_OFFSET;
private static final long PREFIX_LENGTH_OFFSET;
- private static final sun.misc.Unsafe UNSAFE;
+ private static final jdk.internal.misc.Unsafe UNSAFE;
static {
try {
- sun.misc.Unsafe unsafe = sun.misc.Unsafe.getUnsafe();
+ jdk.internal.misc.Unsafe unsafe = jdk.internal.misc.Unsafe.getUnsafe();
PATH_OFFSET = unsafe.objectFieldOffset(
File.class.getDeclaredField("path"));
PREFIX_LENGTH_OFFSET = unsafe.objectFieldOffset(
diff --git a/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java b/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java
index f2bf5f01795..779257e87c0 100644
--- a/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java
+++ b/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java
@@ -40,7 +40,7 @@ import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import static java.io.ObjectStreamClass.processQueue;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
import sun.reflect.misc.ReflectUtil;
/**
diff --git a/jdk/src/java.base/share/classes/java/io/ObjectStreamClass.java b/jdk/src/java.base/share/classes/java/io/ObjectStreamClass.java
index aa516a15d67..762706c1e88 100644
--- a/jdk/src/java.base/share/classes/java/io/ObjectStreamClass.java
+++ b/jdk/src/java.base/share/classes/java/io/ObjectStreamClass.java
@@ -48,7 +48,7 @@ import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
import sun.reflect.CallerSensitive;
import sun.reflect.Reflection;
import sun.reflect.ReflectionFactory;
diff --git a/jdk/src/java.base/share/classes/java/lang/Class.java b/jdk/src/java.base/share/classes/java/lang/Class.java
index fc1e6b9f0f3..77913c3187d 100644
--- a/jdk/src/java.base/share/classes/java/lang/Class.java
+++ b/jdk/src/java.base/share/classes/java/lang/Class.java
@@ -55,7 +55,7 @@ import java.util.Map;
import java.util.HashMap;
import java.util.Objects;
import java.util.StringJoiner;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
import jdk.internal.HotSpotIntrinsicCandidate;
import sun.reflect.CallerSensitive;
import sun.reflect.ConstantPool;
diff --git a/jdk/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java b/jdk/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java
index c70b9db3097..3c9e141461f 100644
--- a/jdk/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java
@@ -25,7 +25,7 @@
package java.lang.invoke;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
import java.lang.reflect.Method;
import java.util.Arrays;
import sun.invoke.util.VerifyAccess;
diff --git a/jdk/src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java b/jdk/src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java
index 5f821977c0f..9a43947d34e 100644
--- a/jdk/src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java
@@ -27,7 +27,7 @@ package java.lang.invoke;
import jdk.internal.org.objectweb.asm.*;
import sun.invoke.util.BytecodeDescriptor;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
import sun.security.action.GetPropertyAction;
import java.io.FilePermission;
diff --git a/jdk/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java b/jdk/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
index bcfa877fbf1..dda16ad9eda 100644
--- a/jdk/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
@@ -775,7 +775,7 @@ class InvokerBytecodeGenerator {
// Sample classes from each package we are willing to bind to statically:
java.lang.Object.class,
java.util.Arrays.class,
- sun.misc.Unsafe.class
+ jdk.internal.misc.Unsafe.class
//MethodHandle.class already covered
};
diff --git a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleNatives.java b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleNatives.java
index 29bd6dbf512..f983b2d792a 100644
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleNatives.java
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleNatives.java
@@ -50,7 +50,7 @@ class MethodHandleNatives {
static native int getMembers(Class> defc, String matchName, String matchSig,
int matchFlags, Class> caller, int skip, MemberName[] results);
- /// Field layout queries parallel to sun.misc.Unsafe:
+ /// Field layout queries parallel to jdk.internal.misc.Unsafe:
static native long objectFieldOffset(MemberName self); // e.g., returns vmindex
static native long staticFieldOffset(MemberName self); // e.g., returns vmindex
static native Object staticFieldBase(MemberName self); // e.g., returns clazz
diff --git a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java
index aae6053acf2..c449f4cb591 100644
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleStatics.java
@@ -27,7 +27,7 @@ package java.lang.invoke;
import java.security.AccessController;
import java.security.PrivilegedAction;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
/**
* This class consists exclusively of static names internal to the
diff --git a/jdk/src/java.base/share/classes/java/math/BigDecimal.java b/jdk/src/java.base/share/classes/java/math/BigDecimal.java
index 7214950c489..a126e9339f1 100644
--- a/jdk/src/java.base/share/classes/java/math/BigDecimal.java
+++ b/jdk/src/java.base/share/classes/java/math/BigDecimal.java
@@ -3726,12 +3726,12 @@ public class BigDecimal extends Number implements Comparable
* For options that take a particular type as a parameter,
* getOption(int) will return the parameter's value, else
- * it will return java.lang.Boolean(false):
+ * it will return java.lang.Boolean.FALSE:
*
- * s.setOption(TCP_NODELAY, new Boolean(true));
+ * s.setOption(TCP_NODELAY, Boolean.TRUE);
* // OK - enables TCP_NODELAY, a binary option
*
*
- * Any option can be disabled using this method with a Boolean(false):
+ * Any option can be disabled using this method with a Boolean.FALSE:
*
- * s.setOption(TCP_NODELAY, new Boolean(false));
+ * s.setOption(TCP_NODELAY, Boolean.FALSE);
* // OK - disables TCP_NODELAY
- * s.setOption(SO_LINGER, new Boolean(false));
+ * s.setOption(SO_LINGER, Boolean.FALSE);
* // OK - disables SO_LINGER
*
*
* For an option that has a notion of on and off, and requires
* a non-boolean parameter, setting its value to anything other than
- * Boolean(false) implicitly enables it.
+ * Boolean.FALSE implicitly enables it.
*
* Throws SocketException if the option is unrecognized,
* the socket is closed, or some low-level error occurred
@@ -91,8 +91,8 @@ public interface SocketOptions {
/**
* Fetch the value of an option.
- * Binary options will return java.lang.Boolean(true)
- * if enabled, java.lang.Boolean(false) if disabled, e.g.:
+ * Binary options will return java.lang.Boolean.TRUE
+ * if enabled, java.lang.Boolean.FALSE if disabled, e.g.:
*
* SocketImpl s;
* ...
@@ -105,13 +105,13 @@ public interface SocketOptions {
*
* Object o = s.getOption(SO_LINGER);
* if (o instanceof Integer) {
* System.out.print("Linger time is " + ((Integer)o).intValue());
* } else {
- * // the true type of o is java.lang.Boolean(false);
+ * // the true type of o is java.lang.Boolean.FALSE;
* }
*
*
diff --git a/jdk/src/java.base/share/classes/java/net/URLConnection.java b/jdk/src/java.base/share/classes/java/net/URLConnection.java
index bdc37963d6c..544107828b9 100644
--- a/jdk/src/java.base/share/classes/java/net/URLConnection.java
+++ b/jdk/src/java.base/share/classes/java/net/URLConnection.java
@@ -32,6 +32,7 @@ import java.security.PrivilegedAction;
import java.util.Hashtable;
import java.util.Date;
import java.util.Iterator;
+import java.util.Objects;
import java.util.ServiceConfigurationError;
import java.util.ServiceLoader;
import java.util.StringTokenizer;
@@ -1250,7 +1251,7 @@ public abstract class URLConnection {
if (handler != null) {
ContentHandler h = handlers.putIfAbsent(contentType, handler);
- return h != null ? h : handler;
+ return Objects.requireNonNullElse(h, handler);
}
try {
@@ -1263,7 +1264,7 @@ public abstract class URLConnection {
assert handler != null;
ContentHandler h = handlers.putIfAbsent(contentType, handler);
- return h != null ? h : handler;
+ return Objects.requireNonNullElse(h, handler);
}
/*
diff --git a/jdk/src/java.base/share/classes/java/nio/MappedByteBuffer.java b/jdk/src/java.base/share/classes/java/nio/MappedByteBuffer.java
index 953a78b8206..a9c6005d28c 100644
--- a/jdk/src/java.base/share/classes/java/nio/MappedByteBuffer.java
+++ b/jdk/src/java.base/share/classes/java/nio/MappedByteBuffer.java
@@ -26,7 +26,7 @@
package java.nio;
import java.io.FileDescriptor;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
/**
diff --git a/jdk/src/java.base/share/classes/java/nio/charset/Charset.java b/jdk/src/java.base/share/classes/java/nio/charset/Charset.java
index 6766cb53c3d..498ed365213 100644
--- a/jdk/src/java.base/share/classes/java/nio/charset/Charset.java
+++ b/jdk/src/java.base/share/classes/java/nio/charset/Charset.java
@@ -37,6 +37,7 @@ import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import java.util.NoSuchElementException;
+import java.util.Objects;
import java.util.Set;
import java.util.ServiceLoader;
import java.util.ServiceConfigurationError;
@@ -625,6 +626,7 @@ public abstract class Charset
private final String name; // tickles a bug in oldjavac
private final String[] aliases; // tickles a bug in oldjavac
+ private final String[] zeroAliases = new String[0];
private Set
*
*
@@ -571,9 +571,6 @@ public final class IsoFields {
//-------------------------------------------------------------------------
private static final int[] QUARTER_DAYS = {0, 90, 181, 273, 0, 91, 182, 274};
- private static boolean isIso(TemporalAccessor temporal) {
- return Chronology.from(temporal).equals(IsoChronology.INSTANCE);
- }
private static void ensureIso(TemporalAccessor temporal) {
if (isIso(temporal) == false) {
@@ -681,7 +678,7 @@ public final class IsoFields {
@Override
public boolean isSupportedBy(Temporal temporal) {
- return temporal.isSupported(EPOCH_DAY);
+ return temporal.isSupported(EPOCH_DAY) && isIso(temporal);
}
@SuppressWarnings("unchecked")
@@ -721,4 +718,8 @@ public final class IsoFields {
return name;
}
}
+
+ static boolean isIso(TemporalAccessor temporal) {
+ return Chronology.from(temporal).equals(IsoChronology.INSTANCE);
+ }
}
diff --git a/jdk/src/java.base/share/classes/java/util/Formatter.java b/jdk/src/java.base/share/classes/java/util/Formatter.java
index d8fc7e60ecd..0a3b50b6a13 100644
--- a/jdk/src/java.base/share/classes/java/util/Formatter.java
+++ b/jdk/src/java.base/share/classes/java/util/Formatter.java
@@ -49,6 +49,7 @@ import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import java.util.Objects;
import java.time.DateTimeException;
import java.time.Instant;
@@ -3860,7 +3861,7 @@ public final class Formatter implements Closeable, Flushable {
ampm = dfs.getAmPmStrings();
}
String s = ampm[t.get(Calendar.AM_PM)];
- sb.append(s.toLowerCase(l != null ? l : Locale.US));
+ sb.append(s.toLowerCase(Objects.requireNonNullElse(l, Locale.US)));
break;
}
case DateTime.SECONDS_SINCE_EPOCH: { // 's' (0 - 99...?)
@@ -3893,7 +3894,7 @@ public final class Formatter implements Closeable, Flushable {
TimeZone tz = t.getTimeZone();
sb.append(tz.getDisplayName((t.get(Calendar.DST_OFFSET) != 0),
TimeZone.SHORT,
- (l == null) ? Locale.US : l));
+ Objects.requireNonNullElse(l, Locale.US)));
break;
}
@@ -3901,7 +3902,7 @@ public final class Formatter implements Closeable, Flushable {
case DateTime.NAME_OF_DAY_ABBREV: // 'a'
case DateTime.NAME_OF_DAY: { // 'A'
int i = t.get(Calendar.DAY_OF_WEEK);
- Locale lt = ((l == null) ? Locale.US : l);
+ Locale lt = Objects.requireNonNullElse(l, Locale.US);
DateFormatSymbols dfs = DateFormatSymbols.getInstance(lt);
if (c == DateTime.NAME_OF_DAY)
sb.append(dfs.getWeekdays()[i]);
@@ -3913,7 +3914,7 @@ public final class Formatter implements Closeable, Flushable {
case DateTime.NAME_OF_MONTH_ABBREV_X: // 'h' -- same b
case DateTime.NAME_OF_MONTH: { // 'B'
int i = t.get(Calendar.MONTH);
- Locale lt = ((l == null) ? Locale.US : l);
+ Locale lt = Objects.requireNonNullElse(l, Locale.US);
DateFormatSymbols dfs = DateFormatSymbols.getInstance(lt);
if (c == DateTime.NAME_OF_MONTH)
sb.append(dfs.getMonths()[i]);
@@ -3984,7 +3985,7 @@ public final class Formatter implements Closeable, Flushable {
StringBuilder tsb = new StringBuilder();
print(tsb, t, DateTime.AM_PM, l);
- sb.append(tsb.toString().toUpperCase(l != null ? l : Locale.US));
+ sb.append(tsb.toString().toUpperCase(Objects.requireNonNullElse(l, Locale.US)));
break;
}
case DateTime.DATE_TIME: { // 'c' (Sat Nov 04 12:02:33 EST 1999)
@@ -4092,7 +4093,7 @@ public final class Formatter implements Closeable, Flushable {
ampm = dfs.getAmPmStrings();
}
String s = ampm[t.get(ChronoField.AMPM_OF_DAY)];
- sb.append(s.toLowerCase(l != null ? l : Locale.US));
+ sb.append(s.toLowerCase(Objects.requireNonNullElse(l, Locale.US)));
break;
}
case DateTime.SECONDS_SINCE_EPOCH: { // 's' (0 - 99...?)
@@ -4131,7 +4132,7 @@ public final class Formatter implements Closeable, Flushable {
sb.append(TimeZone.getTimeZone(zid.getId())
.getDisplayName(zid.getRules().isDaylightSavings(instant),
TimeZone.SHORT,
- (l == null) ? Locale.US : l));
+ Objects.requireNonNullElse(l, Locale.US)));
break;
}
sb.append(zid.getId());
@@ -4141,7 +4142,7 @@ public final class Formatter implements Closeable, Flushable {
case DateTime.NAME_OF_DAY_ABBREV: // 'a'
case DateTime.NAME_OF_DAY: { // 'A'
int i = t.get(ChronoField.DAY_OF_WEEK) % 7 + 1;
- Locale lt = ((l == null) ? Locale.US : l);
+ Locale lt = Objects.requireNonNullElse(l, Locale.US);
DateFormatSymbols dfs = DateFormatSymbols.getInstance(lt);
if (c == DateTime.NAME_OF_DAY)
sb.append(dfs.getWeekdays()[i]);
@@ -4153,7 +4154,7 @@ public final class Formatter implements Closeable, Flushable {
case DateTime.NAME_OF_MONTH_ABBREV_X: // 'h' -- same b
case DateTime.NAME_OF_MONTH: { // 'B'
int i = t.get(ChronoField.MONTH_OF_YEAR) - 1;
- Locale lt = ((l == null) ? Locale.US : l);
+ Locale lt = Objects.requireNonNullElse(l, Locale.US);
DateFormatSymbols dfs = DateFormatSymbols.getInstance(lt);
if (c == DateTime.NAME_OF_MONTH)
sb.append(dfs.getMonths()[i]);
@@ -4223,7 +4224,7 @@ public final class Formatter implements Closeable, Flushable {
// this may be in wrong place for some locales
StringBuilder tsb = new StringBuilder();
print(tsb, t, DateTime.AM_PM, l);
- sb.append(tsb.toString().toUpperCase(l != null ? l : Locale.US));
+ sb.append(tsb.toString().toUpperCase(Objects.requireNonNullElse(l, Locale.US)));
break;
}
case DateTime.DATE_TIME: { // 'c' (Sat Nov 04 12:02:33 EST 1999)
diff --git a/jdk/src/java.base/share/classes/java/util/Objects.java b/jdk/src/java.base/share/classes/java/util/Objects.java
index 65089553b87..4bd77d7c265 100644
--- a/jdk/src/java.base/share/classes/java/util/Objects.java
+++ b/jdk/src/java.base/share/classes/java/util/Objects.java
@@ -295,7 +295,7 @@ public final class Objects {
* {@code defaultObj} is {@code null}
* @since 9
*/
- public static
The bug fix for 4486457 also necessitated disabling verification for this class and all subclasses, as opposed to just diff --git a/jdk/src/java.base/share/classes/sun/reflect/ReflectionFactory.java b/jdk/src/java.base/share/classes/sun/reflect/ReflectionFactory.java index 35445331168..24aa225b89e 100644 --- a/jdk/src/java.base/share/classes/sun/reflect/ReflectionFactory.java +++ b/jdk/src/java.base/share/classes/sun/reflect/ReflectionFactory.java @@ -44,7 +44,7 @@ import sun.reflect.misc.ReflectUtil; subversion of both the language and the verifier. For this reason, they are all instance methods, and access to the constructor of this factory is guarded by a security check, in similar style to - {@link sun.misc.Unsafe}.
+ {@link jdk.internal.misc.Unsafe}. */ public class ReflectionFactory { diff --git a/jdk/src/java.base/share/classes/sun/reflect/UnsafeFieldAccessorImpl.java b/jdk/src/java.base/share/classes/sun/reflect/UnsafeFieldAccessorImpl.java index 8e830999f13..d54c7f8a6f6 100644 --- a/jdk/src/java.base/share/classes/sun/reflect/UnsafeFieldAccessorImpl.java +++ b/jdk/src/java.base/share/classes/sun/reflect/UnsafeFieldAccessorImpl.java @@ -27,9 +27,9 @@ package sun.reflect; import java.lang.reflect.Field; import java.lang.reflect.Modifier; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; -/** Base class for sun.misc.Unsafe-based FieldAccessors. The +/** Base class for jdk.internal.misc.Unsafe-based FieldAccessors. The observation is that there are only nine types of fields from the standpoint of reflection code: the eight primitive types and Object. Using class Unsafe instead of generated bytecodes saves diff --git a/jdk/src/java.base/share/classes/sun/reflect/UnsafeQualifiedFieldAccessorImpl.java b/jdk/src/java.base/share/classes/sun/reflect/UnsafeQualifiedFieldAccessorImpl.java index a40ca950881..5cf6c5ee5c7 100644 --- a/jdk/src/java.base/share/classes/sun/reflect/UnsafeQualifiedFieldAccessorImpl.java +++ b/jdk/src/java.base/share/classes/sun/reflect/UnsafeQualifiedFieldAccessorImpl.java @@ -27,10 +27,10 @@ package sun.reflect; import java.lang.reflect.Field; import java.lang.reflect.Modifier; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** - * Base class for sun.misc.Unsafe-based FieldAccessors for fields with + * Base class for jdk.internal.misc.Unsafe-based FieldAccessors for fields with * final or volatile qualifiers. These differ from unqualified * versions in that (1) they check for read-only status (2) they use * the volatile forms of Unsafe get/put methods. (When accessed via diff --git a/jdk/src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl.java b/jdk/src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl.java index 04219f1f49c..74b40571eab 100644 --- a/jdk/src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl.java +++ b/jdk/src/java.base/share/classes/sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl.java @@ -28,9 +28,9 @@ package sun.reflect; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.security.AccessController; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; -/** Base class for sun.misc.Unsafe-based FieldAccessors for final or +/** Base class for jdk.internal.misc.Unsafe-based FieldAccessors for final or static volatile fields. */ abstract class UnsafeQualifiedStaticFieldAccessorImpl diff --git a/jdk/src/java.base/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java b/jdk/src/java.base/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java index f07a17cdd5b..e87ba31b543 100644 --- a/jdk/src/java.base/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java +++ b/jdk/src/java.base/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java @@ -28,9 +28,9 @@ package sun.reflect; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.security.AccessController; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; -/** Base class for sun.misc.Unsafe-based FieldAccessors for static +/** Base class for jdk.internal.misc.Unsafe-based FieldAccessors for static fields. The observation is that there are only nine types of fields from the standpoint of reflection code: the eight primitive types and Object. Using class Unsafe instead of generated diff --git a/jdk/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java b/jdk/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java index cee12a029ea..c90a630e2fa 100644 --- a/jdk/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java +++ b/jdk/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java @@ -337,7 +337,7 @@ public final class ReflectUtil { /** * Checks if {@code Class cls} is a VM-anonymous class - * as defined by {@link sun.misc.Unsafe#defineAnonymousClass} + * as defined by {@link jdk.internal.misc.Unsafe#defineAnonymousClass} * (not to be confused with a Java Language anonymous inner class). */ public static boolean isVMAnonymousClass(Class> cls) { diff --git a/jdk/src/java.base/solaris/classes/sun/nio/ch/EventPortWrapper.java b/jdk/src/java.base/solaris/classes/sun/nio/ch/EventPortWrapper.java index 5355f7f2911..30a454c070f 100644 --- a/jdk/src/java.base/solaris/classes/sun/nio/ch/EventPortWrapper.java +++ b/jdk/src/java.base/solaris/classes/sun/nio/ch/EventPortWrapper.java @@ -31,7 +31,7 @@ import java.util.BitSet; import java.util.HashMap; import java.util.Map; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import sun.security.action.GetIntegerAction; import static sun.nio.ch.SolarisEventPort.*; diff --git a/jdk/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java b/jdk/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java index f5427d6fb7a..298727dccd4 100644 --- a/jdk/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java +++ b/jdk/src/java.base/solaris/classes/sun/nio/ch/SolarisEventPort.java @@ -28,7 +28,7 @@ package sun.nio.ch; import java.nio.channels.spi.AsynchronousChannelProvider; import java.util.concurrent.RejectedExecutionException; import java.io.IOException; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * Provides an AsynchronousChannelGroup implementation based on the Solaris 10 diff --git a/jdk/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java b/jdk/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java index f3ba7b3e6f0..7027bd96c2a 100644 --- a/jdk/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java +++ b/jdk/src/java.base/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java @@ -29,7 +29,7 @@ import java.nio.file.*; import java.nio.file.attribute.*; import java.util.*; import java.io.IOException; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import static sun.nio.fs.UnixConstants.*; import static sun.nio.fs.SolarisConstants.*; diff --git a/jdk/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java b/jdk/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java index 0c1165ff5f4..7a31d13b3a6 100644 --- a/jdk/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java +++ b/jdk/src/java.base/solaris/classes/sun/nio/fs/SolarisWatchService.java @@ -30,7 +30,7 @@ import java.security.AccessController; import java.security.PrivilegedAction; import java.util.*; import java.io.IOException; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import static sun.nio.fs.UnixConstants.*; diff --git a/jdk/src/java.base/windows/classes/sun/nio/ch/Iocp.java b/jdk/src/java.base/windows/classes/sun/nio/ch/Iocp.java index 699df050030..715046a0ede 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/ch/Iocp.java +++ b/jdk/src/java.base/windows/classes/sun/nio/ch/Iocp.java @@ -36,7 +36,7 @@ import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import java.security.AccessController; import sun.security.action.GetPropertyAction; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * Windows implementation of AsynchronousChannelGroup encapsulating an I/O diff --git a/jdk/src/java.base/windows/classes/sun/nio/ch/PendingIoCache.java b/jdk/src/java.base/windows/classes/sun/nio/ch/PendingIoCache.java index 72d8d0ea9d9..b8f7cba96f3 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/ch/PendingIoCache.java +++ b/jdk/src/java.base/windows/classes/sun/nio/ch/PendingIoCache.java @@ -27,7 +27,7 @@ package sun.nio.ch; import java.nio.channels.*; import java.util.*; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * Maintains a mapping of pending I/O requests (identified by the address of diff --git a/jdk/src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java b/jdk/src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java index 991944e96c7..9d5945364b9 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java +++ b/jdk/src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java @@ -33,7 +33,7 @@ import java.io.IOException; import java.security.AccessControlContext; import java.security.AccessController; import java.security.PrivilegedAction; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * Windows implementation of AsynchronousServerSocketChannel using overlapped I/O. diff --git a/jdk/src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java b/jdk/src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java index 1880548f68f..3e96279de41 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java +++ b/jdk/src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java @@ -34,7 +34,7 @@ import java.io.IOException; import java.security.AccessController; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * Windows implementation of AsynchronousSocketChannel using overlapped I/O. diff --git a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsFileAttributes.java b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsFileAttributes.java index 208435dc97e..02226053f8d 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsFileAttributes.java +++ b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsFileAttributes.java @@ -28,7 +28,7 @@ package sun.nio.fs; import java.nio.file.attribute.*; import java.util.concurrent.TimeUnit; import java.security.AccessController; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import sun.security.action.GetPropertyAction; import static sun.nio.fs.WindowsNativeDispatcher.*; diff --git a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java index e86c385a622..cf0d23fea2b 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java +++ b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java @@ -33,7 +33,7 @@ import java.util.concurrent.ExecutorService; import java.io.*; import java.util.*; import java.security.AccessController; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import sun.nio.ch.ThreadPool; import sun.security.util.SecurityConstants; diff --git a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsLinkSupport.java b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsLinkSupport.java index 56f996d99b3..80d4809b6a5 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsLinkSupport.java +++ b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsLinkSupport.java @@ -30,7 +30,7 @@ import java.io.IOException; import java.io.IOError; import java.security.AccessController; import java.security.PrivilegedAction; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import static sun.nio.fs.WindowsNativeDispatcher.*; import static sun.nio.fs.WindowsConstants.*; diff --git a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java index 82a4bc3aecd..820edbfd9a8 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java +++ b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java @@ -27,7 +27,7 @@ package sun.nio.fs; import java.security.AccessController; import java.security.PrivilegedAction; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * Win32 and library calls. diff --git a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java index fb432271cc6..da3460592f4 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java +++ b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java @@ -29,7 +29,7 @@ import java.nio.file.ProviderMismatchException; import java.nio.file.attribute.*; import java.util.*; import java.io.IOException; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import static sun.nio.fs.WindowsNativeDispatcher.*; import static sun.nio.fs.WindowsConstants.*; diff --git a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java index 64ef12a9855..774d248840c 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java +++ b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java @@ -31,7 +31,7 @@ import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.io.IOException; import java.util.*; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import static sun.nio.fs.WindowsNativeDispatcher.*; import static sun.nio.fs.WindowsConstants.*; diff --git a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsWatchService.java b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsWatchService.java index 0ea288e1ecb..8e28e8471ac 100644 --- a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsWatchService.java +++ b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsWatchService.java @@ -36,7 +36,7 @@ import java.util.Map; import java.util.Set; import com.sun.nio.file.ExtendedWatchEventModifier; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import static sun.nio.fs.WindowsNativeDispatcher.*; import static sun.nio.fs.WindowsConstants.*; diff --git a/jdk/src/java.desktop/share/classes/sun/awt/AWTAccessor.java b/jdk/src/java.desktop/share/classes/sun/awt/AWTAccessor.java index e9afc44069e..a025ae85e5f 100644 --- a/jdk/src/java.desktop/share/classes/sun/awt/AWTAccessor.java +++ b/jdk/src/java.desktop/share/classes/sun/awt/AWTAccessor.java @@ -25,7 +25,7 @@ package sun.awt; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import javax.accessibility.AccessibleContext; import java.awt.*; diff --git a/jdk/src/java.desktop/share/classes/sun/font/StrikeCache.java b/jdk/src/java.desktop/share/classes/sun/font/StrikeCache.java index 99319c7d16a..094327fe124 100644 --- a/jdk/src/java.desktop/share/classes/sun/font/StrikeCache.java +++ b/jdk/src/java.desktop/share/classes/sun/font/StrikeCache.java @@ -37,7 +37,7 @@ import sun.java2d.Disposer; import sun.java2d.pipe.BufferedContext; import sun.java2d.pipe.RenderQueue; import sun.java2d.pipe.hw.AccelGraphicsConfig; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** diff --git a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RenderBuffer.java b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RenderBuffer.java index 5f5118a8767..57f24a4eada 100644 --- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RenderBuffer.java +++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/RenderBuffer.java @@ -25,7 +25,7 @@ package sun.java2d.pipe; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** diff --git a/jdk/src/java.desktop/share/classes/sun/swing/SwingAccessor.java b/jdk/src/java.desktop/share/classes/sun/swing/SwingAccessor.java index da637f0625c..66d20f2458b 100644 --- a/jdk/src/java.desktop/share/classes/sun/swing/SwingAccessor.java +++ b/jdk/src/java.desktop/share/classes/sun/swing/SwingAccessor.java @@ -25,7 +25,7 @@ package sun.swing; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import java.awt.*; import javax.swing.*; diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDConstants.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDConstants.java index 26e2cdbbba3..f2dbfc67abf 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDConstants.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDConstants.java @@ -31,7 +31,7 @@ import java.nio.ByteOrder; import java.util.Arrays; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * Motif DnD protocol global constants and convenience routines. diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java index da80dda9ceb..a476628e7c5 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java @@ -33,7 +33,7 @@ import java.awt.dnd.InvalidDnDOperationException; import java.util.Map; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * XDragSourceProtocol implementation for Motif DnD protocol. diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java index 735bf144df2..e71236a6ff9 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java @@ -33,7 +33,7 @@ import java.awt.event.MouseEvent; import java.io.IOException; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * XDropTargetProtocol implementation for Motif DnD protocol. diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/Native.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/Native.java index f61654643f2..e4d5b23ca76 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/Native.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/Native.java @@ -25,7 +25,7 @@ package sun.awt.X11; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import java.util.Vector; import java.security.AccessController; import java.security.PrivilegedAction; diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/UnsafeXDisposerRecord.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/UnsafeXDisposerRecord.java index 099b558eef6..6de0c0310ef 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/UnsafeXDisposerRecord.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/UnsafeXDisposerRecord.java @@ -24,7 +24,7 @@ */ package sun.awt.X11; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import sun.util.logging.PlatformLogger; class UnsafeXDisposerRecord implements sun.java2d.DisposerRecord { diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/WindowPropertyGetter.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/WindowPropertyGetter.java index 0cda6fa2fdf..00d3134eea8 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/WindowPropertyGetter.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/WindowPropertyGetter.java @@ -26,7 +26,7 @@ package sun.awt.X11; import java.util.*; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; public class WindowPropertyGetter { private static Unsafe unsafe = XlibWrapper.unsafe; diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XAtom.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XAtom.java index 01d17fdad21..eeb46347b56 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XAtom.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XAtom.java @@ -55,7 +55,7 @@ package sun.awt.X11; * @since 1.5 */ -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import java.util.HashMap; public final class XAtom { diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDnDDragSourceProtocol.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDnDDragSourceProtocol.java index a4661e5c687..26265be30bc 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDnDDragSourceProtocol.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDnDDragSourceProtocol.java @@ -35,7 +35,7 @@ import java.util.Map; import sun.util.logging.PlatformLogger; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * XDragSourceProtocol implementation for XDnD protocol. diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDnDDropTargetProtocol.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDnDDropTargetProtocol.java index 074f37dd753..e1698a424b8 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDnDDropTargetProtocol.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDnDDropTargetProtocol.java @@ -35,7 +35,7 @@ import java.io.IOException; import sun.util.logging.PlatformLogger; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * XDropTargetProtocol implementation for XDnD protocol. diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDropTargetContextPeer.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDropTargetContextPeer.java index 1e59ce16e82..d2a6c9f8c04 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDropTargetContextPeer.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDropTargetContextPeer.java @@ -41,7 +41,7 @@ import sun.awt.SunToolkit; import sun.awt.dnd.SunDropTargetContextPeer; import sun.awt.dnd.SunDropTargetEvent; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * The XDropTargetContextPeer is the class responsible for handling diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbedHelper.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbedHelper.java index f54f4bd9e66..0c2acc44c1c 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbedHelper.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbedHelper.java @@ -25,7 +25,7 @@ package sun.awt.X11; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import sun.util.logging.PlatformLogger; diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XKeysym.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XKeysym.java index b0b0d0728ed..e34298a13e7 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XKeysym.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XKeysym.java @@ -27,7 +27,7 @@ package sun.awt.X11; import java.util.Hashtable; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import sun.util.logging.PlatformLogger; diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XQueryTree.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XQueryTree.java index dede21f6e30..7c3641d4c42 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XQueryTree.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XQueryTree.java @@ -27,7 +27,7 @@ package sun.awt.X11; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; public class XQueryTree { private static Unsafe unsafe = XlibWrapper.unsafe; diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTranslateCoordinates.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTranslateCoordinates.java index 42a3a42844e..bc08e2077dd 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTranslateCoordinates.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTranslateCoordinates.java @@ -27,7 +27,7 @@ package sun.awt.X11; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; public class XTranslateCoordinates { private static Unsafe unsafe = XlibWrapper.unsafe; diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWM.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWM.java index 61d2cbc380d..9fce6afe284 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWM.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWM.java @@ -31,7 +31,7 @@ package sun.awt.X11; import sun.awt.IconInfo; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import java.awt.Insets; import java.awt.Frame; import java.awt.Rectangle; diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XlibWrapper.java b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XlibWrapper.java index bc9e3667a1f..9edec019bb4 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XlibWrapper.java +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XlibWrapper.java @@ -27,7 +27,7 @@ package sun.awt.X11; import java.security.AccessController; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; import sun.security.action.GetPropertyAction; final class XlibWrapper { diff --git a/jdk/src/java.desktop/unix/classes/sun/awt/X11/keysym2ucs.h b/jdk/src/java.desktop/unix/classes/sun/awt/X11/keysym2ucs.h index 09de3bee098..b0c75b313fa 100644 --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/keysym2ucs.h +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/keysym2ucs.h @@ -65,7 +65,7 @@ tojava */ tojava tojava package sun.awt.X11; tojava import java.util.Hashtable; -tojava import sun.misc.Unsafe; +tojava import jdk.internal.misc.Unsafe; tojava tojava import sun.util.logging.PlatformLogger; tojava diff --git a/jdk/src/java.management/share/classes/sun/management/BaseOperatingSystemImpl.java b/jdk/src/java.management/share/classes/sun/management/BaseOperatingSystemImpl.java index a40e0b04f93..dc165747c98 100644 --- a/jdk/src/java.management/share/classes/sun/management/BaseOperatingSystemImpl.java +++ b/jdk/src/java.management/share/classes/sun/management/BaseOperatingSystemImpl.java @@ -28,7 +28,7 @@ package sun.management; import java.lang.management.OperatingSystemMXBean; import java.lang.management.ManagementFactory; import javax.management.ObjectName; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; /** * Implementation class for the operating system. diff --git a/jdk/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java b/jdk/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java index 740f483a44f..3cc0acb8ffe 100644 --- a/jdk/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java +++ b/jdk/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java @@ -51,7 +51,7 @@ public class ManagementFactoryHelper { static { // make sure that the management lib is loaded within // java.lang.management.ManagementFactory - sun.misc.Unsafe.getUnsafe().ensureClassInitialized(ManagementFactory.class); + jdk.internal.misc.Unsafe.getUnsafe().ensureClassInitialized(ManagementFactory.class); } private static final VMManagement jvm = new VMManagementImpl(); diff --git a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/KerberosSecrets.java b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/KerberosSecrets.java index 44f2f0f94aa..5d68c4ec3a8 100644 --- a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/KerberosSecrets.java +++ b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/KerberosSecrets.java @@ -26,7 +26,7 @@ package sun.security.krb5; import javax.security.auth.kerberos.KeyTab; -import sun.misc.Unsafe; +import jdk.internal.misc.Unsafe; public class KerberosSecrets { private static final Unsafe unsafe = Unsafe.getUnsafe(); diff --git a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java index 4b60b1a99c2..e60507fe443 100644 --- a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java +++ b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java @@ -187,10 +187,10 @@ public class PrincipalName implements Cloneable { } private static final long NAME_STRINGS_OFFSET; - private static final sun.misc.Unsafe UNSAFE; + private static final jdk.internal.misc.Unsafe UNSAFE; static { try { - sun.misc.Unsafe unsafe = sun.misc.Unsafe.getUnsafe(); + jdk.internal.misc.Unsafe unsafe = jdk.internal.misc.Unsafe.getUnsafe(); NAME_STRINGS_OFFSET = unsafe.objectFieldOffset( PrincipalName.class.getDeclaredField("nameStrings")); UNSAFE = unsafe; diff --git a/jdk/test/com/sun/jndi/ldap/LdapTimeoutTest.java b/jdk/test/com/sun/jndi/ldap/LdapTimeoutTest.java index d1797145fa9..fe48073a6b3 100644 --- a/jdk/test/com/sun/jndi/ldap/LdapTimeoutTest.java +++ b/jdk/test/com/sun/jndi/ldap/LdapTimeoutTest.java @@ -47,6 +47,7 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeoutException; import java.util.concurrent.TimeUnit; +import javax.net.ssl.SSLHandshakeException; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.concurrent.TimeUnit.NANOSECONDS; @@ -234,6 +235,12 @@ class DeadServerTimeoutSSLTest extends DeadServerTest { if (e.getCause() instanceof SocketTimeoutException) { // SSL connect will timeout via readReply using // SocketTimeoutException + e.printStackTrace(); + pass(); + } else if (e.getCause() instanceof SSLHandshakeException + && e.getCause().getCause() instanceof EOFException) { + // test seems to be failing intermittently on some + // platforms. pass(); } else { fail(e); diff --git a/jdk/test/java/time/tck/java/time/format/TCKZoneIdPrinterParser.java b/jdk/test/java/time/tck/java/time/format/TCKZoneIdPrinterParser.java index 11e2dcd9620..c1656885c07 100644 --- a/jdk/test/java/time/tck/java/time/format/TCKZoneIdPrinterParser.java +++ b/jdk/test/java/time/tck/java/time/format/TCKZoneIdPrinterParser.java @@ -156,6 +156,7 @@ public class TCKZoneIdPrinterParser { {"UTC", 3, -1, ZoneId.of("UTC"), false}, {"UT", 2, -1, ZoneId.of("UT"), false}, {"GMT", 3, -1, ZoneId.of("GMT"), false}, + {"GMT0", 4, -1, ZoneId.of("GMT0"), false}, {"+00:00", 6, -1, ZoneOffset.UTC, true}, {"UTC+00:00", 9, -1, ZoneId.of("UTC"), false}, diff --git a/jdk/test/java/time/test/java/time/temporal/TestIsoWeekFields.java b/jdk/test/java/time/test/java/time/temporal/TestIsoWeekFields.java index d79d13f89a3..672295e4def 100644 --- a/jdk/test/java/time/test/java/time/temporal/TestIsoWeekFields.java +++ b/jdk/test/java/time/test/java/time/temporal/TestIsoWeekFields.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014,2015, 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 @@ -121,6 +121,14 @@ public class TestIsoWeekFields { assertEquals(IsoFields.WEEK_BASED_YEAR.isSupportedBy(ThaiBuddhistDate.now()), false); } + @Test + public void test_Unit_isSupportedBy_ISO() { + assertEquals(IsoFields.WEEK_BASED_YEARS.isSupportedBy(LocalDate.now()),true); + assertEquals(IsoFields.WEEK_BASED_YEARS.isSupportedBy(ThaiBuddhistDate.now()),false); + assertEquals(IsoFields.QUARTER_YEARS.isSupportedBy(LocalDate.now()),true); + assertEquals(IsoFields.QUARTER_YEARS.isSupportedBy(ThaiBuddhistDate.now()),false); + } + @Test(dataProvider = "fields") public void test_WBY_range(TemporalField weekField, TemporalField yearField) { assertEquals(yearField.range(), ValueRange.of(Year.MIN_VALUE, Year.MAX_VALUE)); diff --git a/jdk/test/java/util/Objects/BasicObjectsTest.java b/jdk/test/java/util/Objects/BasicObjectsTest.java index 878bb825019..a7636ef11d5 100644 --- a/jdk/test/java/util/Objects/BasicObjectsTest.java +++ b/jdk/test/java/util/Objects/BasicObjectsTest.java @@ -241,12 +241,12 @@ public class BasicObjectsTest { String nonNullString = "non-null"; // Confirm the compile time return type matches - String result = Objects.nonNullElse(nullString, defString); + String result = Objects.requireNonNullElse(nullString, defString); errors += (result == defString) ? 0 : 1; - errors += (Objects.nonNullElse(nonNullString, defString) == nonNullString) ? 0 : 1; - errors += (Objects.nonNullElse(nonNullString, null) == nonNullString) ? 0 : 1; + errors += (Objects.requireNonNullElse(nonNullString, defString) == nonNullString) ? 0 : 1; + errors += (Objects.requireNonNullElse(nonNullString, null) == nonNullString) ? 0 : 1; try { - Objects.nonNullElse(null, null); + Objects.requireNonNullElse(null, null); errors += 1; } catch (NullPointerException npe) { // expected @@ -254,20 +254,20 @@ public class BasicObjectsTest { } - // Test nonNullElseGet with a supplier - errors += (Objects.nonNullElseGet(nullString, () -> defString) == defString) ? 0 : 1; - errors += (Objects.nonNullElseGet(nonNullString, () -> defString) == nonNullString) ? 0 : 1; - errors += (Objects.nonNullElseGet(nonNullString, () -> null) == nonNullString) ? 0 : 1; + // Test requireNonNullElseGet with a supplier + errors += (Objects.requireNonNullElseGet(nullString, () -> defString) == defString) ? 0 : 1; + errors += (Objects.requireNonNullElseGet(nonNullString, () -> defString) == nonNullString) ? 0 : 1; + errors += (Objects.requireNonNullElseGet(nonNullString, () -> null) == nonNullString) ? 0 : 1; try { - Objects.nonNullElseGet(null, () -> null); + Objects.requireNonNullElseGet(null, () -> null); errors += 1; } catch (NullPointerException npe) { // expected errors += npe.getMessage().equals("supplier.get()") ? 0 : 1; } try { // supplier is null - Objects.nonNullElseGet(null, null); + Objects.requireNonNullElseGet(null, null); errors += 1; } catch (NullPointerException npe) { // expected diff --git a/jdk/test/sun/security/jca/PreferredProviderNegativeTest.java b/jdk/test/sun/security/jca/PreferredProviderNegativeTest.java new file mode 100644 index 00000000000..5d69d998eb9 --- /dev/null +++ b/jdk/test/sun/security/jca/PreferredProviderNegativeTest.java @@ -0,0 +1,130 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * @test + * @bug 8076359 8133151 + * @summary Test for jdk.security.provider.preferred security property + * @requires os.name == "SunOS" + * @run main/othervm PreferredProviderNegativeTest preJCESet AES:OracleUcrypto false + * @run main/othervm PreferredProviderNegativeTest preJCESet AES:SunNegative true + * @run main/othervm PreferredProviderNegativeTest afterJCESet AES:SunJGSS + * @run main/othervm PreferredProviderNegativeTest afterJCESet AES:SunECNegative + * @run main/othervm PreferredProviderNegativeTest invalidAlg AESNegative:SunJCE + */ + +import java.security.Security; +import java.security.NoSuchAlgorithmException; +import javax.crypto.Cipher; +import javax.crypto.NoSuchPaddingException; + +public class PreferredProviderNegativeTest { + + /* + * Test security property could be set by valid and invalid provider + * before JCE was loaded + */ + public static void preJCESet(String value, boolean negativeProvider) + throws NoSuchAlgorithmException, NoSuchPaddingException { + Security.setProperty("jdk.security.provider.preferred", value); + + if (!Security.getProperty("jdk.security.provider.preferred") + .equals(value)) { + throw new RuntimeException( + "Test Failed:The property wasn't set"); + } + + String[] arrays = value.split(":"); + Cipher cipher = Cipher.getInstance(arrays[0]); + + if (negativeProvider) { + if (cipher.getProvider().getName().equals(arrays[1])) { + throw new RuntimeException( + "Test Failed:The provider shouldn't be set"); + } + } else { + if (!cipher.getProvider().getName().equals(arrays[1])) { + throw new RuntimeException( + "Test Faild:The provider could be set " + + "by valid provider "); + } + } + System.out.println("Test Pass"); + } + + /* + * Test that the setting of the security property after Cipher.getInstance() + * does not influence previously loaded instances + */ + public static void afterJCESet(String value) + throws NoSuchAlgorithmException, NoSuchPaddingException { + String[] arrays = value.split(":"); + Cipher cipher = Cipher.getInstance(arrays[0]); + + Security.setProperty("jdk.security.provider.preferred", value); + if (!cipher.getProvider().getName().equals("SunJCE")) { + throw new RuntimeException( + "Test Failed:The security property can't be updated after JCE load."); + } + System.out.println("Test Pass"); + } + + /* Test the security property with negative algorithm */ + public static void invalidAlg(String value) throws NoSuchPaddingException { + String[] arrays = value.split(":"); + + try { + Security.setProperty("jdk.security.provider.preferred", value); + Cipher.getInstance(arrays[0]); + } catch (NoSuchAlgorithmException e) { + System.out.println("Test Pass:Got NoSuchAlgorithmException as expired"); + return; + } + throw new RuntimeException( + "Test Failed:Expected NoSuchAlgorithmException was not thrown"); + } + + public static void main(String[] args) + throws NoSuchAlgorithmException, NoSuchPaddingException { + boolean negativeProvider; + + if (args.length >= 2) { + switch (args[0]) { + case "preJCESet": + negativeProvider = Boolean.valueOf(args[2]); + PreferredProviderNegativeTest.preJCESet(args[1], negativeProvider); + break; + case "afterJCESet": + PreferredProviderNegativeTest.afterJCESet(args[1]); + break; + case "invalidAlg": + PreferredProviderNegativeTest.invalidAlg(args[1]); + break; + } + } else { + throw new RuntimeException( + "Test Failed:Please pass the correct args"); + } + } +} + diff --git a/jdk/test/sun/security/jca/PreferredProviderTest.java b/jdk/test/sun/security/jca/PreferredProviderTest.java new file mode 100644 index 00000000000..7120817a1b5 --- /dev/null +++ b/jdk/test/sun/security/jca/PreferredProviderTest.java @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * @test + * @bug 8076359 8133151 + * @summary Test the value for new jdk.security.provider.preferred security property + * @requires os.name == "SunOS" + */ + +import java.security.KeyFactory; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.Security; +import java.util.Arrays; +import java.util.List; +import javax.crypto.Cipher; +import javax.crypto.NoSuchPaddingException; + +public class PreferredProviderTest { + + private static final List