There's still a number of places where the now obsolete PERMITS_VALUE flag shows up in the source files:
$ grep -rn PERMITS_VALUE open
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006.java:57: check(getclmdf006c.class, Modifier.ABSTRACT | Modifier.PERMITS_VALUE);
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006.java:73: Modifier.PERMITS_VALUE);
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006.java:78: Modifier.ABSTRACT | Modifier.PERMITS_VALUE);
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006.java:83: Modifier.ABSTRACT | Modifier.PERMITS_VALUE);
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006.java:88: Modifier.ABSTRACT | Modifier.PERMITS_VALUE);
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006/getclmdf006.cpp:42:#define ACC_PERMITS_VALUE 0x0040
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006/getclmdf006.cpp:86: if (mod & ACC_PERMITS_VALUE) printf(" PERMITS_VALUE");
open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACCICCETests.jcod:26:// because ACC_PERMITS_VALUE was removed from its class access flags.
open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACC_ICCETest.java:28: * @summary test that ACC_PERMITS_VALUE must be set for the super class of
open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACC_ICCETest.java:49: // Test has to be re-think now that ACC_PERMITS_VALUE has been removed
open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACC_ICCETest.java:51: // Test illegal class that has both ACC_VALUE and ACC_PERMITS_VALUE set.
open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACC_CFETest.java:28: * @summary test class access rules for classes that have ACC_PERMITS_VALUE set.
open/test/lib/org/openjdk/asmtools/jasm/Parser.java:353: case PERMITS_VALUE:
open/test/lib/org/openjdk/asmtools/jasm/Parser.java:530: case PERMITS_VALUE:
open/test/lib/org/openjdk/asmtools/jasm/Parser.java:723: case PERMITS_VALUE:
open/test/lib/org/openjdk/asmtools/jasm/Parser.java:724: nextmod = ACC_PERMITS_VALUE;
open/test/lib/org/openjdk/asmtools/jasm/JasmTokens.java:407: PERMITS_VALUE (201, "PERMITS_VALUE", "permits_value", EnumSet.of(TokenType.MODIFIER, TokenType.MODULE_NAME ), KeywordType.KEYWORD),
open/test/lib/org/openjdk/asmtools/jasm/Modifiers.java:46: ACC_VALUE | ACC_PERMITS_VALUE | ACC_PRIMITIVE;
open/test/lib/org/openjdk/asmtools/jasm/Modifiers.java:67: ACC_VALUE | ACC_PERMITS_VALUE | ACC_PRIMITIVE;
open/test/lib/org/openjdk/asmtools/jasm/Modifiers.java:228: return (mod & ACC_PERMITS_VALUE) != 0;
open/test/lib/org/openjdk/asmtools/jasm/Modifiers.java:432: sb.append(Token.PERMITS_VALUE.parseKey() + " ");
open/test/lib/org/openjdk/asmtools/jasm/RuntimeConstants.java:50: int ACC_PERMITS_VALUE = 0x0100; // class, inner
open/test/lib/org/openjdk/asmtools/jasm/RuntimeConstants.java:74: put(ACC_PERMITS_VALUE,"permits_value");
open/src/hotspot/share/classfile/classFileParser.cpp:4561: // The JVMS says that super classes for value types must have the ACC_PERMITS_VALUE
open/src/hotspot/share/classfile/classFileParser.cpp:4563: // class, it cannot have its ACC_PERMITS_VALUE flag set. But, java.lang.Object must
open/src/java.base/share/native/include/classfile_constants.h.template:73:#define JVM_ACC_PERMITS_VALUE_BIT 6
open/src/java.base/share/classes/java/lang/Class.java:207: private static final int PERMITS_VALUE = 0x00000100;
The remaining PERMITS_VALUE usages are also creating some test failures in the Valhalla CI:
vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006/TestDescription.java: CompilationError: Compilation failed
PERMITS_VALUE should be completely removed from the repository.
$ grep -rn PERMITS_VALUE open
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006.java:57: check(getclmdf006c.class, Modifier.ABSTRACT | Modifier.PERMITS_VALUE);
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006.java:73: Modifier.PERMITS_VALUE);
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006.java:78: Modifier.ABSTRACT | Modifier.PERMITS_VALUE);
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006.java:83: Modifier.ABSTRACT | Modifier.PERMITS_VALUE);
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006.java:88: Modifier.ABSTRACT | Modifier.PERMITS_VALUE);
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006/getclmdf006.cpp:42:#define ACC_PERMITS_VALUE 0x0040
open/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006/getclmdf006.cpp:86: if (mod & ACC_PERMITS_VALUE) printf(" PERMITS_VALUE");
open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACCICCETests.jcod:26:// because ACC_PERMITS_VALUE was removed from its class access flags.
open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACC_ICCETest.java:28: * @summary test that ACC_PERMITS_VALUE must be set for the super class of
open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACC_ICCETest.java:49: // Test has to be re-think now that ACC_PERMITS_VALUE has been removed
open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACC_ICCETest.java:51: // Test illegal class that has both ACC_VALUE and ACC_PERMITS_VALUE set.
open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACC_CFETest.java:28: * @summary test class access rules for classes that have ACC_PERMITS_VALUE set.
open/test/lib/org/openjdk/asmtools/jasm/Parser.java:353: case PERMITS_VALUE:
open/test/lib/org/openjdk/asmtools/jasm/Parser.java:530: case PERMITS_VALUE:
open/test/lib/org/openjdk/asmtools/jasm/Parser.java:723: case PERMITS_VALUE:
open/test/lib/org/openjdk/asmtools/jasm/Parser.java:724: nextmod = ACC_PERMITS_VALUE;
open/test/lib/org/openjdk/asmtools/jasm/JasmTokens.java:407: PERMITS_VALUE (201, "PERMITS_VALUE", "permits_value", EnumSet.of(TokenType.MODIFIER, TokenType.MODULE_NAME ), KeywordType.KEYWORD),
open/test/lib/org/openjdk/asmtools/jasm/Modifiers.java:46: ACC_VALUE | ACC_PERMITS_VALUE | ACC_PRIMITIVE;
open/test/lib/org/openjdk/asmtools/jasm/Modifiers.java:67: ACC_VALUE | ACC_PERMITS_VALUE | ACC_PRIMITIVE;
open/test/lib/org/openjdk/asmtools/jasm/Modifiers.java:228: return (mod & ACC_PERMITS_VALUE) != 0;
open/test/lib/org/openjdk/asmtools/jasm/Modifiers.java:432: sb.append(Token.PERMITS_VALUE.parseKey() + " ");
open/test/lib/org/openjdk/asmtools/jasm/RuntimeConstants.java:50: int ACC_PERMITS_VALUE = 0x0100; // class, inner
open/test/lib/org/openjdk/asmtools/jasm/RuntimeConstants.java:74: put(ACC_PERMITS_VALUE,"permits_value");
open/src/hotspot/share/classfile/classFileParser.cpp:4561: // The JVMS says that super classes for value types must have the ACC_PERMITS_VALUE
open/src/hotspot/share/classfile/classFileParser.cpp:4563: // class, it cannot have its ACC_PERMITS_VALUE flag set. But, java.lang.Object must
open/src/java.base/share/native/include/classfile_constants.h.template:73:#define JVM_ACC_PERMITS_VALUE_BIT 6
open/src/java.base/share/classes/java/lang/Class.java:207: private static final int PERMITS_VALUE = 0x00000100;
The remaining PERMITS_VALUE usages are also creating some test failures in the Valhalla CI:
vmTestbase/nsk/jvmti/GetClassModifiers/getclmdf006/TestDescription.java: CompilationError: Compilation failed
PERMITS_VALUE should be completely removed from the repository.