Skip to content

Commit 93cca54

Browse files
committed
Merge JavaIOAccess and JavaLangAccess
1 parent 34f2413 commit 93cca54

File tree

91 files changed

+468
-145
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+468
-145
lines changed

src/java.base/share/classes/java/io/Console.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ private static UnsupportedOperationException newUnsupportedOperationException()
564564
private static final Console cons = instantiateConsole();
565565
static {
566566
// Set up JavaIOAccess in SharedSecrets
567-
SharedSecrets.setJavaIOAccess(new JavaIOAccess() {
567+
SharedSecrets.set(JavaIOAccess.class, new JavaIOAccess() {
568568
public Console console() {
569569
return cons;
570570
}

src/java.base/share/classes/java/io/DataInputStream.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
* @since 1.0
5050
*/
5151
public class DataInputStream extends FilterInputStream implements DataInput {
52-
private static final JavaLangAccess JLA = SharedSecrets.getJavaLangAccess();
52+
private static final JavaLangAccess JLA = SharedSecrets.get(JavaLangAccess.class);
5353

5454
private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
5555
private static final char[] EMPTY_CHAR_ARRAY = new char[0];

src/java.base/share/classes/java/io/DataOutputStream.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
* @since 1.0
5353
*/
5454
public class DataOutputStream extends FilterOutputStream implements DataOutput {
55-
private static final JavaLangAccess JLA = SharedSecrets.getJavaLangAccess();
55+
private static final JavaLangAccess JLA = SharedSecrets.get(JavaLangAccess.class);
5656

5757
/**
5858
* The number of bytes written to the data output stream so far.

src/java.base/share/classes/java/io/DeleteOnExitHook.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import java.util.*;
2828

29+
import jdk.internal.access.JavaLangAccess;
2930
import jdk.internal.access.SharedSecrets;
3031

3132
/**
@@ -42,7 +43,7 @@ class DeleteOnExitHook {
4243
// delete-on-exit list and cause the DeleteOnExitHook to be
4344
// registered during shutdown in progress. So set the
4445
// registerShutdownInProgress parameter to true.
45-
SharedSecrets.getJavaLangAccess()
46+
SharedSecrets.get(JavaLangAccess.class)
4647
.registerShutdownHook(2 /* Shutdown hook invocation order */,
4748
true /* register even if shutdown in progress */,
4849
new Runnable() {

src/java.base/share/classes/java/io/ObjectInputStream.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2851,7 +2851,7 @@ private class BlockDataInputStream
28512851
/** readBlockHeader() return value indicating header read may block */
28522852
private static final int HEADER_BLOCKED = -2;
28532853
/** access to internal methods to count ASCII and inflate latin1/ASCII bytes to char */
2854-
private static final JavaLangAccess JLA = SharedSecrets.getJavaLangAccess();
2854+
private static final JavaLangAccess JLA = SharedSecrets.get(JavaLangAccess.class);
28552855

28562856
/** buffer for reading general/block data */
28572857
private final byte[] buf = new byte[MAX_BLOCK_SIZE];

src/java.base/share/classes/java/io/ObjectOutputStream.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@
174174
public class ObjectOutputStream
175175
extends OutputStream implements ObjectOutput, ObjectStreamConstants
176176
{
177-
private static final JavaLangAccess JLA = SharedSecrets.getJavaLangAccess();
177+
private static final JavaLangAccess JLA = SharedSecrets.get(JavaLangAccess.class);
178178

179179
/** filter stream for handling block data conversion */
180180
private final BlockDataOutputStream bout;

src/java.base/share/classes/java/lang/System.java

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,13 @@
4747
import java.nio.charset.CharacterCodingException;
4848
import java.nio.charset.Charset;
4949
import java.security.ProtectionDomain;
50-
import java.util.List;
51-
import java.util.Locale;
52-
import java.util.Map;
53-
import java.util.Objects;
54-
import java.util.Properties;
55-
import java.util.ResourceBundle;
56-
import java.util.Set;
50+
import java.util.*;
5751
import java.util.concurrent.Executor;
5852
import java.util.function.Supplier;
5953
import java.util.concurrent.ConcurrentHashMap;
6054
import java.util.stream.Stream;
6155

56+
import jdk.internal.access.JavaIOAccess;
6257
import jdk.internal.javac.Restricted;
6358
import jdk.internal.loader.NativeLibraries;
6459
import jdk.internal.logger.LoggerFinderLoader.TemporaryLoggerFinder;
@@ -234,8 +229,6 @@ public static void setErr(PrintStream err) {
234229
setErr0(err);
235230
}
236231

237-
private static volatile Console cons;
238-
239232
/**
240233
* Returns the unique {@link Console Console} object associated
241234
* with the current Java virtual machine, if any.
@@ -246,15 +239,7 @@ public static void setErr(PrintStream err) {
246239
* @since 1.6
247240
*/
248241
public static Console console() {
249-
Console c;
250-
if ((c = cons) == null) {
251-
synchronized (System.class) {
252-
if ((c = cons) == null) {
253-
cons = c = SharedSecrets.getJavaIOAccess().console();
254-
}
255-
}
256-
}
257-
return c;
242+
return SharedSecrets.get(JavaIOAccess.class).console();
258243
}
259244

260245
/**
@@ -1994,7 +1979,7 @@ private static void initPhase3() {
19941979

19951980
private static void setJavaLangAccess() {
19961981
// Allow privileged classes outside of java.lang
1997-
SharedSecrets.setJavaLangAccess(new JavaLangAccess() {
1982+
SharedSecrets.set(JavaLangAccess.class, new JavaLangAccess() {
19981983
public List<Method> getDeclaredPublicMethods(Class<?> klass, String name, Class<?>... parameterTypes) {
19991984
return klass.getDeclaredPublicMethods(name, parameterTypes);
20001985
}

src/java.base/share/classes/java/lang/foreign/SymbolLookup.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ static SymbolLookup loaderLookup() {
255255
return name -> {
256256
Objects.requireNonNull(name);
257257
if (Utils.containsNullChars(name)) return Optional.empty();
258-
JavaLangAccess javaLangAccess = SharedSecrets.getJavaLangAccess();
258+
JavaLangAccess javaLangAccess = SharedSecrets.get(JavaLangAccess.class);
259259
// note: ClassLoader::findNative supports a null loader
260260
NativeLibraries nativeLibraries = javaLangAccess.nativeLibrariesFor(loader);
261261
long addr = nativeLibraries.find(name);

src/java.base/share/classes/java/lang/invoke/MethodHandles.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
package java.lang.invoke;
2727

28+
import jdk.internal.access.JavaLangAccess;
2829
import jdk.internal.access.SharedSecrets;
2930
import jdk.internal.misc.Unsafe;
3031
import jdk.internal.misc.VM;
@@ -360,7 +361,7 @@ public static <T> T classData(Lookup caller, String name, Class<T> type) throws
360361
*/
361362
static Object classData(Class<?> c) {
362363
UNSAFE.ensureClassInitialized(c);
363-
return SharedSecrets.getJavaLangAccess().classData(c);
364+
return SharedSecrets.get(JavaLangAccess.class).classData(c);
364365
}
365366

366367
/**
@@ -2352,7 +2353,7 @@ Class<?> defineClass(boolean initialize, Object classData) {
23522353
ProtectionDomain pd = (loader != null) ? lookup.lookupClassProtectionDomain() : null;
23532354
Class<?> c = null;
23542355
try {
2355-
c = SharedSecrets.getJavaLangAccess()
2356+
c = SharedSecrets.get(JavaLangAccess.class)
23562357
.defineClass(loader, lookupClass, internalName, bytes, pd, initialize, classFlags, classData);
23572358
assert !isNestmate() || c.getNestHost() == lookupClass.getNestHost();
23582359
return c;
@@ -2392,7 +2393,7 @@ private boolean isNestmate() {
23922393
private ProtectionDomain lookupClassProtectionDomain() {
23932394
ProtectionDomain pd = cachedProtectionDomain;
23942395
if (pd == null) {
2395-
cachedProtectionDomain = pd = SharedSecrets.getJavaLangAccess().protectionDomain(lookupClass);
2396+
cachedProtectionDomain = pd = SharedSecrets.get(JavaLangAccess.class).protectionDomain(lookupClass);
23962397
}
23972398
return pd;
23982399
}

src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public final class StringConcatFactory {
148148
*/
149149
private static final int MAX_INDY_CONCAT_ARG_SLOTS = 200;
150150

151-
private static final JavaLangAccess JLA = SharedSecrets.getJavaLangAccess();
151+
private static final JavaLangAccess JLA = SharedSecrets.get(JavaLangAccess.class);
152152

153153
// StringConcatFactory bootstrap methods are startup sensitive, and may be
154154
// special cased in java.lang.invoke.BootstrapMethodInvoker to ensure

0 commit comments

Comments
 (0)