mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-12 08:53:12 +00:00
8152074: Avoid lambda usage in StringConcatFactory initializer
Reviewed-by: shade, forax, chegar
This commit is contained in:
parent
570f4df3f1
commit
d6328fbb3e
@ -34,11 +34,11 @@ import jdk.internal.misc.Unsafe;
|
||||
|
||||
import java.lang.invoke.MethodHandles.Lookup;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
import java.util.function.Function;
|
||||
import sun.security.action.GetPropertyAction;
|
||||
|
||||
import static jdk.internal.org.objectweb.asm.Opcodes.*;
|
||||
|
||||
@ -188,20 +188,14 @@ public final class StringConcatFactory {
|
||||
private static final ProxyClassesDumper DUMPER;
|
||||
|
||||
static {
|
||||
// Poke the privileged block once, taking everything we need:
|
||||
final Object[] values = new Object[4];
|
||||
AccessController.doPrivileged((PrivilegedAction<Object>) () -> {
|
||||
values[0] = System.getProperty("java.lang.invoke.stringConcat");
|
||||
values[1] = Boolean.getBoolean("java.lang.invoke.stringConcat.cache");
|
||||
values[2] = Boolean.getBoolean("java.lang.invoke.stringConcat.debug");
|
||||
values[3] = System.getProperty("java.lang.invoke.stringConcat.dumpClasses");
|
||||
return null;
|
||||
});
|
||||
|
||||
final String strategy = (String) values[0];
|
||||
CACHE_ENABLE = (Boolean) values[1];
|
||||
DEBUG = (Boolean) values[2];
|
||||
final String dumpPath = (String) values[3];
|
||||
final String strategy = AccessController.doPrivileged(
|
||||
new GetPropertyAction("java.lang.invoke.stringConcat"));
|
||||
CACHE_ENABLE = Boolean.parseBoolean(AccessController.doPrivileged(
|
||||
new GetPropertyAction("java.lang.invoke.stringConcat.cache")));
|
||||
DEBUG = Boolean.parseBoolean(AccessController.doPrivileged(
|
||||
new GetPropertyAction("java.lang.invoke.stringConcat.debug")));
|
||||
final String dumpPath = AccessController.doPrivileged(
|
||||
new GetPropertyAction("java.lang.invoke.stringConcat.dumpClasses"));
|
||||
|
||||
STRATEGY = (strategy == null) ? DEFAULT_STRATEGY : Strategy.valueOf(strategy);
|
||||
CACHE = CACHE_ENABLE ? new ConcurrentHashMap<>() : null;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user