--- old/src/java.base/share/classes/java/lang/RuntimePermission.java 2017-03-21 13:43:53.247750651 +0000 +++ new/src/java.base/share/classes/java/lang/RuntimePermission.java 2017-03-21 13:43:53.053737338 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, 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 @@ -26,9 +26,7 @@ package java.lang; import java.security.*; -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.StringTokenizer; +import java.lang.module.ModuleFinder; /** * This class is for runtime permissions. A {@code RuntimePermission} @@ -265,6 +263,16 @@ * * * + * defineClass + * Define a class with + * {@link java.lang.invoke.MethodHandles.Lookup#defineClass(byte[]) + * Lookup.defineClass}. + * This grants code with a suitably privileged {@code Lookup} object + * permission to define classes in the same package as the {@code Lookup}'s + * lookup class. + * + * + * * accessDeclaredMembers * Access to the declared members of a class * This grants code permission to query a class for its public, @@ -359,6 +367,14 @@ * See {@link java.lang.System.LoggerFinder java.lang.System.LoggerFinder} * for more information. * + * + * + * accessSystemModules + * Access system modules in the runtime image. + * This grants the permission to access resources in the + * {@linkplain ModuleFinder#ofSystem system modules} in the runtime image. + * + * * * * @implNote