See attached example.
Bug is reproduced on JDK7 b147 and still exist in HS23b05
Here is results for interpreter and C2:
Expected results (int):
[
Test.var_18 = 65
Test.var_20 = 218763548
Test.var_17 = false
Test.var_19 = [
Test_Class_0.var_1 = 11
Test_Class_0.var_4 = 0
Test_Class_0.var_5 = 640
Test_Class_0.var_2 = 612000468
Test_Class_0.var_3 = 1.413301352444783E308
]
]
Actual results(C2):
[
Test.var_18 = 65
Test.var_20 = 218763548
Test.var_17 = false
Test.var_19 = [
Test_Class_0.var_1 = 9
Test_Class_0.var_4 = 0
Test_Class_0.var_5 = 640
Test_Class_0.var_2 = 612000468
Test_Class_0.var_3 = 1.413301352444783E308
]