Skip to content

Commit ba3f301

Browse files
committed
[GR-58419] Make UnsafeGetStableArrayElement respect -XX:-UseCompressedClassPointers.
PullRequest: graal/18868
2 parents 5b61890 + 95016b8 commit ba3f301

File tree

1 file changed

+62
-14
lines changed

1 file changed

+62
-14
lines changed

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/core/test/UnsafeGetStableArrayElement.java

Lines changed: 62 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
import java.util.stream.Collectors;
4242
import java.util.stream.StreamSupport;
4343

44+
import org.junit.Assert;
45+
4446
import jdk.graal.compiler.api.replacements.SnippetReflectionProvider;
4547
import jdk.graal.compiler.nodes.ConstantNode;
4648
import jdk.graal.compiler.nodes.StructuredGraph;
@@ -49,8 +51,6 @@
4951
import jdk.graal.compiler.phases.PhaseSuite;
5052
import jdk.graal.compiler.phases.tiers.HighTierContext;
5153
import jdk.graal.compiler.test.AddExports;
52-
import org.junit.Assert;
53-
5454
import jdk.internal.misc.Unsafe;
5555
import jdk.vm.ci.code.InstalledCode;
5656
import jdk.vm.ci.code.InvalidInstalledCodeException;
@@ -415,7 +415,11 @@ public void test5() throws Exception {
415415

416416
@org.junit.Test
417417
public void test6() throws Exception {
418-
testMatched(Test::testZ_J, Test::changeZ);
418+
if (ARRAY_BOOLEAN_BASE_OFFSET == ARRAY_LONG_BASE_OFFSET) {
419+
testMatched(Test::testZ_J, Test::changeZ);
420+
} else {
421+
testMismatched(Test::testZ_J, Test::changeZ);
422+
}
419423
}
420424

421425
@org.junit.Test
@@ -425,7 +429,11 @@ public void test7() throws Exception {
425429

426430
@org.junit.Test
427431
public void test8() throws Exception {
428-
testMatched(Test::testZ_D, Test::changeZ);
432+
if (ARRAY_BOOLEAN_BASE_OFFSET == ARRAY_DOUBLE_BASE_OFFSET) {
433+
testMatched(Test::testZ_D, Test::changeZ);
434+
} else {
435+
testMismatched(Test::testZ_D, Test::changeZ);
436+
}
429437
}
430438

431439
@org.junit.Test
@@ -455,7 +463,11 @@ public void test13() throws Exception {
455463

456464
@org.junit.Test
457465
public void test14() throws Exception {
458-
testMatched(Test::testB_J, Test::changeB);
466+
if (ARRAY_BYTE_BASE_OFFSET == ARRAY_LONG_BASE_OFFSET) {
467+
testMatched(Test::testB_J, Test::changeB);
468+
} else {
469+
testMismatched(Test::testB_J, Test::changeB);
470+
}
459471
}
460472

461473
@org.junit.Test
@@ -465,7 +477,11 @@ public void test15() throws Exception {
465477

466478
@org.junit.Test
467479
public void test16() throws Exception {
468-
testMatched(Test::testB_D, Test::changeB);
480+
if (ARRAY_BYTE_BASE_OFFSET == ARRAY_DOUBLE_BASE_OFFSET) {
481+
testMatched(Test::testB_D, Test::changeB);
482+
} else {
483+
testMismatched(Test::testB_D, Test::changeB);
484+
}
469485
}
470486

471487
@org.junit.Test
@@ -500,7 +516,11 @@ public void test22() throws Exception {
500516

501517
@org.junit.Test
502518
public void test23() throws Exception {
503-
testMatched(Test::testS_J, Test::changeS);
519+
if (ARRAY_SHORT_BASE_OFFSET == ARRAY_LONG_BASE_OFFSET) {
520+
testMatched(Test::testS_J, Test::changeS);
521+
} else {
522+
testMismatched(Test::testS_J, Test::changeS);
523+
}
504524
}
505525

506526
@org.junit.Test
@@ -510,7 +530,11 @@ public void test24() throws Exception {
510530

511531
@org.junit.Test
512532
public void test25() throws Exception {
513-
testMatched(Test::testS_D, Test::changeS);
533+
if (ARRAY_SHORT_BASE_OFFSET == ARRAY_DOUBLE_BASE_OFFSET) {
534+
testMatched(Test::testS_D, Test::changeS);
535+
} else {
536+
testMismatched(Test::testS_D, Test::changeS);
537+
}
514538
}
515539

516540
@org.junit.Test
@@ -545,7 +569,11 @@ public void test31() throws Exception {
545569

546570
@org.junit.Test
547571
public void test32() throws Exception {
548-
testMatched(Test::testC_J, Test::changeC);
572+
if (ARRAY_CHAR_BASE_OFFSET == ARRAY_LONG_BASE_OFFSET) {
573+
testMatched(Test::testC_J, Test::changeC);
574+
} else {
575+
testMismatched(Test::testC_J, Test::changeC);
576+
}
549577
}
550578

551579
@org.junit.Test
@@ -555,7 +583,11 @@ public void test33() throws Exception {
555583

556584
@org.junit.Test
557585
public void test34() throws Exception {
558-
testMatched(Test::testC_D, Test::changeC);
586+
if (ARRAY_CHAR_BASE_OFFSET == ARRAY_DOUBLE_BASE_OFFSET) {
587+
testMatched(Test::testC_D, Test::changeC);
588+
} else {
589+
testMismatched(Test::testC_D, Test::changeC);
590+
}
559591
}
560592

561593
@org.junit.Test
@@ -590,7 +622,11 @@ public void test40() throws Exception {
590622

591623
@org.junit.Test
592624
public void test41() throws Exception {
593-
testMatched(Test::testI_J, Test::changeI);
625+
if (ARRAY_INT_BASE_OFFSET == ARRAY_LONG_BASE_OFFSET) {
626+
testMatched(Test::testI_J, Test::changeI);
627+
} else {
628+
testMismatched(Test::testI_J, Test::changeI);
629+
}
594630
}
595631

596632
@org.junit.Test
@@ -600,7 +636,11 @@ public void test42() throws Exception {
600636

601637
@org.junit.Test
602638
public void test43() throws Exception {
603-
testMatched(Test::testI_D, Test::changeI);
639+
if (ARRAY_INT_BASE_OFFSET == ARRAY_DOUBLE_BASE_OFFSET) {
640+
testMatched(Test::testI_D, Test::changeI);
641+
} else {
642+
testMismatched(Test::testI_D, Test::changeI);
643+
}
604644
}
605645

606646
@org.junit.Test
@@ -670,7 +710,11 @@ public void test56() throws Exception {
670710

671711
@org.junit.Test
672712
public void test57() throws Exception {
673-
testMatched(Test::testF_J, Test::changeF);
713+
if (ARRAY_FLOAT_BASE_OFFSET == ARRAY_LONG_BASE_OFFSET) {
714+
testMatched(Test::testF_J, Test::changeF);
715+
} else {
716+
testMismatched(Test::testF_J, Test::changeF);
717+
}
674718
}
675719

676720
@org.junit.Test
@@ -680,7 +724,11 @@ public void test58() throws Exception {
680724

681725
@org.junit.Test
682726
public void test59() throws Exception {
683-
testMatched(Test::testF_D, Test::changeF);
727+
if (ARRAY_FLOAT_BASE_OFFSET == ARRAY_DOUBLE_BASE_OFFSET) {
728+
testMatched(Test::testF_D, Test::changeF);
729+
} else {
730+
testMismatched(Test::testF_D, Test::changeF);
731+
}
684732
}
685733

686734
@org.junit.Test

0 commit comments

Comments
 (0)