diff a/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACCICCETests.jcod b/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACCICCETests.jcod
--- /dev/null
+++ b/test/hotspot/jtreg/runtime/valhalla/inlinetypes/classfileparser/ACCICCETests.jcod
@@ -0,0 +1,294 @@
+/*
+ * Copyright (c) 2022, 2024, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+// This is an abstract class that cannot be a super class for value classes
+// because ACC_IDENTITY is set in its class access flags.
+// It's based on the following source:
+/*
+public abstract class NonPVSuper {
+
+    static int x = 3;
+
+    public static void meth() {
+        System.out.println("hi");
+    }
+}
+*/
+class NonPVSuper {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [33] { // Constant Pool
+    ; // first element is empty
+    Method #2 #3; // #1     at 0x0A
+    class #4; // #2     at 0x0F
+    NameAndType #5 #6; // #3     at 0x12
+    Utf8 "java/lang/Object"; // #4     at 0x17
+    Utf8 "<init>"; // #5     at 0x2A
+    Utf8 "()V"; // #6     at 0x33
+    Field #8 #9; // #7     at 0x39
+    class #10; // #8     at 0x3E
+    NameAndType #11 #12; // #9     at 0x41
+    Utf8 "java/lang/System"; // #10     at 0x46
+    Utf8 "out"; // #11     at 0x59
+    Utf8 "Ljava/io/PrintStream;"; // #12     at 0x5F
+    String #14; // #13     at 0x77
+    Utf8 "hi"; // #14     at 0x7A
+    Method #16 #17; // #15     at 0x7F
+    class #18; // #16     at 0x84
+    NameAndType #19 #20; // #17     at 0x87
+    Utf8 "java/io/PrintStream"; // #18     at 0x8C
+    Utf8 "println"; // #19     at 0xA2
+    Utf8 "(Ljava/lang/String;)V"; // #20     at 0xAC
+    Field #22 #23; // #21     at 0xC4
+    class #24; // #22     at 0xC9
+    NameAndType #25 #26; // #23     at 0xCC
+    Utf8 "NonPVSuper"; // #24     at 0xD1
+    Utf8 "x"; // #25     at 0xDE
+    Utf8 "I"; // #26     at 0xE2
+    Utf8 "Code"; // #27     at 0xE6
+    Utf8 "LineNumberTable"; // #28     at 0xED
+    Utf8 "meth"; // #29     at 0xFF
+    Utf8 "<clinit>"; // #30     at 0x0106
+    Utf8 "SourceFile"; // #31     at 0x0111
+    Utf8 "NonPVSuper.java"; // #32     at 0x011E
+  } // Constant Pool
+
+  0x0421; // access [ ACC_PUBLIC ACC_IDENTITY ACC_ABSTRACT ]
+  #22;// this_cpx
+  #2;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [1] { // Fields
+    {  // field at 0x013A
+      0x0008; // access
+      #25; // name_index       : x
+      #26; // descriptor_index : I
+      [0] { // Attributes
+      } // Attributes
+    }
+  } // Fields
+
+  [3] { // Methods
+    {  // method at 0x0144
+      0x0001; // access
+      #5; // name_index       : <init>
+      #6; // descriptor_index : ()V
+      [1] { // Attributes
+        Attr(#27, 29) { // Code at 0x014C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB70001B1;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#28, 6) { // LineNumberTable at 0x0163
+              [1] { // line_number_table
+                0  2; //  at 0x016F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    }
+    ;
+    {  // method at 0x016F
+      0x0009; // access
+      #29; // name_index       : meth
+      #6; // descriptor_index : ()V
+      [1] { // Attributes
+        Attr(#27, 37) { // Code at 0x0177
+          2; // max_stack
+          0; // max_locals
+          Bytes[9]{
+            0xB20007120DB6000F;
+            0xB1;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#28, 10) { // LineNumberTable at 0x0192
+              [2] { // line_number_table
+                0  7; //  at 0x019E
+                8  8; //  at 0x01A2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    }
+    ;
+    {  // method at 0x01A2
+      0x0008; // access
+      #30; // name_index       : <clinit>
+      #6; // descriptor_index : ()V
+      [1] { // Attributes
+        Attr(#27, 29) { // Code at 0x01AA
+          1; // max_stack
+          0; // max_locals
+          Bytes[5]{
+            0x06B30015B1;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#28, 6) { // LineNumberTable at 0x01C1
+              [1] { // line_number_table
+                0  4; //  at 0x01CD
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    }
+  } // Methods
+
+  [1] { // Attributes
+    Attr(#31, 2) { // SourceFile at 0x01CF
+      #32;
+    } // end SourceFile
+  } // Attributes
+} // end class NonPVSuper
+
+
+// Dot is a value class that tries to inherit from a super class (NonPVSuper)
+// that has access flag ACC_IDENTITY set.
+// Dot is based on the following source:
+/*
+public value final class Dot extends NonPVSuper {
+    int x = 3;
+
+    public int getX() {
+        return x;
+    }
+}
+*/
+class Dot {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [18] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "Dot"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x13
+    NameAndType #5 #6; // #4     at 0x18
+    Utf8 "x"; // #5     at 0x1D
+    Utf8 "I"; // #6     at 0x21
+    class #8; // #7     at 0x25
+    Utf8 "NonPVSuper"; // #8     at 0x28
+    Utf8 "getX"; // #9     at 0x35
+    Utf8 "()I"; // #10     at 0x3C
+    Utf8 "Code"; // #11     at 0x42
+    Utf8 "LineNumberTable"; // #12     at 0x49
+    Utf8 "<vnew>"; // #13     at 0x5B
+    Utf8 "()LDot;"; // #14     at 0x64
+    Utf8 "SourceFile"; // #15     at 0x6E
+    Utf8 "Dot.java"; // #16     at 0x7B
+    Utf8 "Preload"; // #17     at 0x86
+  } // Constant Pool
+
+  0x0051; // access [ ACC_VALUE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #7;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [1] { // Fields
+    {  // field at 0x9A
+      0x0010; // access
+      #5; // name_index       : x
+      #6; // descriptor_index : I
+      [0] { // Attributes
+      } // Attributes
+    }
+  } // Fields
+
+  [2] { // Methods
+    {  // method at 0xA4
+      0x0001; // access
+      #9; // name_index       : getX
+      #10; // descriptor_index : ()I
+      [1] { // Attributes
+        Attr(#11, 29) { // Code at 0xAC
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#12, 6) { // LineNumberTable at 0xC3
+              [1] { // line_number_table
+                0  5; //  at 0xCF
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    }
+    ;
+    {  // method at 0xCF
+      0x0009; // access
+      #13; // name_index       : <vnew>
+      #14; // descriptor_index : ()LDot;
+      [1] { // Attributes
+        Attr(#11, 41) { // Code at 0xD7
+          2; // max_stack
+          1; // max_locals
+          Bytes[13]{
+            0xCB00014B062A5FCC;
+            0x00034B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#12, 10) { // LineNumberTable at 0xF6
+              [2] { // line_number_table
+                0  1; //  at 0x0102
+                4  2; //  at 0x0106
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    }
+  } // Methods
+
+  [2] { // Attributes
+    Attr(#15, 2) { // SourceFile at 0x0108
+      #16;
+    } // end SourceFile
+    ;
+    Attr(#17, 4) { // Preload at 0x0110
+      0x00010001;
+    } // end Preload
+  } // Attributes
+} // end class Dot
