An interned string may be incorrectly omitted from AOT cache under the following circumstances
(1) Also reported in JDK-8355434: A class that has the following pattern
public class NonFinalStaticWithInitVal_Helper
version 51:0
{
static Field foo:"Ljava/lang/String;" = String "Dummy 12345678";
}
(2) This doesn't seem to affect existing usage of interned strings in the AOT cache, but could lead to future issues
An AOT-initialized class might contain static fields like this:
class AOTInitedClass {
static Sting s = (a + b).intern();
We must make sure that AOTInitedClass.s is in the interned string table.
(1) Also reported in JDK-8355434: A class that has the following pattern
public class NonFinalStaticWithInitVal_Helper
version 51:0
{
static Field foo:"Ljava/lang/String;" = String "Dummy 12345678";
}
(2) This doesn't seem to affect existing usage of interned strings in the AOT cache, but could lead to future issues
An AOT-initialized class might contain static fields like this:
class AOTInitedClass {
static Sting s = (a + b).intern();
We must make sure that AOTInitedClass.s is in the interned string table.
- links to
-
Review(master) openjdk/jdk/25026