mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8267521: Post JEP 411 refactoring: maximum covering > 50K
Reviewed-by: dfuchs, prr
This commit is contained in:
parent
40d23a0c0b
commit
508cec7535
18 changed files with 205 additions and 104 deletions
|
@ -178,7 +178,6 @@ import java.util.concurrent.locks.Condition;
|
|||
* @since 1.7
|
||||
* @author Doug Lea
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
public class ForkJoinPool extends AbstractExecutorService {
|
||||
|
||||
/*
|
||||
|
@ -751,11 +750,13 @@ public class ForkJoinPool extends AbstractExecutorService {
|
|||
* permission to modify threads.
|
||||
*/
|
||||
private static void checkPermission() {
|
||||
@SuppressWarnings("removal")
|
||||
SecurityManager security = System.getSecurityManager();
|
||||
if (security != null)
|
||||
security.checkPermission(modifyThreadPermission);
|
||||
}
|
||||
|
||||
@SuppressWarnings("removal")
|
||||
static AccessControlContext contextWithPermissions(Permission ... perms) {
|
||||
Permissions permissions = new Permissions();
|
||||
for (Permission perm : perms)
|
||||
|
@ -799,9 +800,11 @@ public class ForkJoinPool extends AbstractExecutorService {
|
|||
static final class DefaultForkJoinWorkerThreadFactory
|
||||
implements ForkJoinWorkerThreadFactory {
|
||||
// ACC for access to the factory
|
||||
@SuppressWarnings("removal")
|
||||
private static final AccessControlContext ACC = contextWithPermissions(
|
||||
new RuntimePermission("getClassLoader"),
|
||||
new RuntimePermission("setContextClassLoader"));
|
||||
@SuppressWarnings("removal")
|
||||
public final ForkJoinWorkerThread newThread(ForkJoinPool pool) {
|
||||
return AccessController.doPrivileged(
|
||||
new PrivilegedAction<>() {
|
||||
|
@ -821,6 +824,7 @@ public class ForkJoinPool extends AbstractExecutorService {
|
|||
*/
|
||||
static final class DefaultCommonPoolForkJoinWorkerThreadFactory
|
||||
implements ForkJoinWorkerThreadFactory {
|
||||
@SuppressWarnings("removal")
|
||||
private static final AccessControlContext ACC = contextWithPermissions(
|
||||
modifyThreadPermission,
|
||||
new RuntimePermission("enableContextClassLoaderOverride"),
|
||||
|
@ -828,6 +832,7 @@ public class ForkJoinPool extends AbstractExecutorService {
|
|||
new RuntimePermission("getClassLoader"),
|
||||
new RuntimePermission("setContextClassLoader"));
|
||||
|
||||
@SuppressWarnings("removal")
|
||||
public final ForkJoinWorkerThread newThread(ForkJoinPool pool) {
|
||||
return AccessController.doPrivileged(
|
||||
new PrivilegedAction<>() {
|
||||
|
@ -1253,11 +1258,13 @@ public class ForkJoinPool extends AbstractExecutorService {
|
|||
// misc
|
||||
|
||||
/** AccessControlContext for innocuous workers, created on 1st use. */
|
||||
@SuppressWarnings("removal")
|
||||
private static AccessControlContext INNOCUOUS_ACC;
|
||||
|
||||
/**
|
||||
* Initializes (upon registration) InnocuousForkJoinWorkerThreads.
|
||||
*/
|
||||
@SuppressWarnings("removal")
|
||||
final void initializeInnocuousWorker() {
|
||||
AccessControlContext acc; // racy construction OK
|
||||
if ((acc = INNOCUOUS_ACC) == null)
|
||||
|
@ -3497,9 +3504,11 @@ public class ForkJoinPool extends AbstractExecutorService {
|
|||
defaultForkJoinWorkerThreadFactory =
|
||||
new DefaultForkJoinWorkerThreadFactory();
|
||||
modifyThreadPermission = new RuntimePermission("modifyThread");
|
||||
common = AccessController.doPrivileged(new PrivilegedAction<>() {
|
||||
@SuppressWarnings("removal")
|
||||
ForkJoinPool tmp = AccessController.doPrivileged(new PrivilegedAction<>() {
|
||||
public ForkJoinPool run() {
|
||||
return new ForkJoinPool((byte)0); }});
|
||||
common = tmp;
|
||||
|
||||
COMMON_PARALLELISM = Math.max(common.mode & SMASK, 1);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue