-
Bug
-
Resolution: Unresolved
-
P4
-
None
-
None
-
b19
Code:
import java.util.ArrayList;
record TestRecord(float x) { }
static int array_index_size = Integer.MAX_VALUE;
public static void main(String argv[]) {
array_index_size = Integer.MAX_VALUE;
ArrayList<Float> list = new ArrayList<>();
try {
for (int j = 0; j < array_index_size; j++) {
Float t = getConversion(new TestRecord((float)j));
list.add(t);
}
} catch (java.lang.OutOfMemoryError e) {
System.out.println("caught");
}
}
public static Float getConversion(TestRecord a) {
Float result;
switch (a) {
case TestRecord(Float y) -> result = y;
}
return result;
}
jdk-24.jdk/Contents/Home/bin/java --enable-preview --source 24 -Xmx100m ./src/Main.java
caught
jdk-24-valhalla.jdk/Contents/Home/bin/java --enable-preview --source 24 -Xmx100m ./src/Main.java
caught
jdk-26-valhalla/Contents/Home/bin/java --enable-preview --source 26 -Xmx100m ./src/Main.java
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
at java.base/java.util.ArrayList.add(ArrayList.java:485)
at java.base/java.util.ArrayList.add(ArrayList.java:497)
at Main.main(Main.java:24)
at java.base/java.lang.invoke.LambdaForm$DMH/0x0000000122040c00.invokeStatic(LambdaForm$DMH)
at java.base/java.lang.invoke.LambdaForm$MH/0x0000000122169400.invoke(LambdaForm$MH)
at java.base/java.lang.invoke.Invokers$Holder.invokeExact_MT(Invokers$Holder)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(DirectMethodHandleAccessor.java:155)
import java.util.ArrayList;
record TestRecord(float x) { }
static int array_index_size = Integer.MAX_VALUE;
public static void main(String argv[]) {
array_index_size = Integer.MAX_VALUE;
ArrayList<Float> list = new ArrayList<>();
try {
for (int j = 0; j < array_index_size; j++) {
Float t = getConversion(new TestRecord((float)j));
list.add(t);
}
} catch (java.lang.OutOfMemoryError e) {
System.out.println("caught");
}
}
public static Float getConversion(TestRecord a) {
Float result;
switch (a) {
case TestRecord(Float y) -> result = y;
}
return result;
}
jdk-24.jdk/Contents/Home/bin/java --enable-preview --source 24 -Xmx100m ./src/Main.java
caught
jdk-24-valhalla.jdk/Contents/Home/bin/java --enable-preview --source 24 -Xmx100m ./src/Main.java
caught
jdk-26-valhalla/Contents/Home/bin/java --enable-preview --source 26 -Xmx100m ./src/Main.java
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
at java.base/java.util.ArrayList.add(ArrayList.java:485)
at java.base/java.util.ArrayList.add(ArrayList.java:497)
at Main.main(Main.java:24)
at java.base/java.lang.invoke.LambdaForm$DMH/0x0000000122040c00.invokeStatic(LambdaForm$DMH)
at java.base/java.lang.invoke.LambdaForm$MH/0x0000000122169400.invoke(LambdaForm$MH)
at java.base/java.lang.invoke.Invokers$Holder.invokeExact_MT(Invokers$Holder)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(DirectMethodHandleAccessor.java:155)