jdk/test/java/lang/invoke/VarHandles/VarHandleTestByteArrayAsDouble.java
changeset 38357 f18eb84a3b96
parent 37668 34a002e5168a
parent 38355 674cfd9b90cf
child 38358 cb99c6d2af1b
equal deleted inserted replaced
38348:bd578f1c54b6 38357:f18eb84a3b96
   677                     double x = (double) vh.get(array, i);
   677                     double x = (double) vh.get(array, i);
   678                     assertEquals(x, VALUE_1, "failing compareAndExchangeRelease double value");
   678                     assertEquals(x, VALUE_1, "failing compareAndExchangeRelease double value");
   679                 }
   679                 }
   680 
   680 
   681                 {
   681                 {
   682                     boolean r = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2);
   682                     boolean success = false;
   683                     assertEquals(r, true, "weakCompareAndSet double");
   683                     for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
       
   684                         success = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2);
       
   685                     }
       
   686                     assertEquals(success, true, "weakCompareAndSet double");
   684                     double x = (double) vh.get(array, i);
   687                     double x = (double) vh.get(array, i);
   685                     assertEquals(x, VALUE_2, "weakCompareAndSet double value");
   688                     assertEquals(x, VALUE_2, "weakCompareAndSet double value");
   686                 }
   689                 }
   687 
   690 
   688                 {
   691                 {
   689                     boolean r = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1);
   692                     boolean success = false;
   690                     assertEquals(r, true, "weakCompareAndSetAcquire double");
   693                     for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
       
   694                         success = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1);
       
   695                     }
       
   696                     assertEquals(success, true, "weakCompareAndSetAcquire double");
   691                     double x = (double) vh.get(array, i);
   697                     double x = (double) vh.get(array, i);
   692                     assertEquals(x, VALUE_1, "weakCompareAndSetAcquire double");
   698                     assertEquals(x, VALUE_1, "weakCompareAndSetAcquire double");
   693                 }
   699                 }
   694 
   700 
   695                 {
   701                 {
   696                     boolean r = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2);
   702                     boolean success = false;
   697                     assertEquals(r, true, "weakCompareAndSetRelease double");
   703                     for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
       
   704                         success = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2);
       
   705                     }
       
   706                     assertEquals(success, true, "weakCompareAndSetRelease double");
   698                     double x = (double) vh.get(array, i);
   707                     double x = (double) vh.get(array, i);
   699                     assertEquals(x, VALUE_2, "weakCompareAndSetRelease double");
   708                     assertEquals(x, VALUE_2, "weakCompareAndSetRelease double");
   700                 }
   709                 }
   701 
   710 
   702                 // Compare set and get
   711                 // Compare set and get
   810                     double x = (double) vh.get(array, i);
   819                     double x = (double) vh.get(array, i);
   811                     assertEquals(x, VALUE_1, "failing compareAndExchangeRelease double value");
   820                     assertEquals(x, VALUE_1, "failing compareAndExchangeRelease double value");
   812                 }
   821                 }
   813 
   822 
   814                 {
   823                 {
   815                     boolean r = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2);
   824                     boolean success = false;
   816                     assertEquals(r, true, "weakCompareAndSet double");
   825                     for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
       
   826                         success = vh.weakCompareAndSet(array, i, VALUE_1, VALUE_2);
       
   827                     }
       
   828                     assertEquals(success, true, "weakCompareAndSet double");
   817                     double x = (double) vh.get(array, i);
   829                     double x = (double) vh.get(array, i);
   818                     assertEquals(x, VALUE_2, "weakCompareAndSet double value");
   830                     assertEquals(x, VALUE_2, "weakCompareAndSet double value");
   819                 }
   831                 }
   820 
   832 
   821                 {
   833                 {
   822                     boolean r = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1);
   834                     boolean success = false;
   823                     assertEquals(r, true, "weakCompareAndSetAcquire double");
   835                     for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
       
   836                         success = vh.weakCompareAndSetAcquire(array, i, VALUE_2, VALUE_1);
       
   837                     }
       
   838                     assertEquals(success, true, "weakCompareAndSetAcquire double");
   824                     double x = (double) vh.get(array, i);
   839                     double x = (double) vh.get(array, i);
   825                     assertEquals(x, VALUE_1, "weakCompareAndSetAcquire double");
   840                     assertEquals(x, VALUE_1, "weakCompareAndSetAcquire double");
   826                 }
   841                 }
   827 
   842 
   828                 {
   843                 {
   829                     boolean r = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2);
   844                     boolean success = false;
   830                     assertEquals(r, true, "weakCompareAndSetRelease double");
   845                     for (int c = 0; c < WEAK_ATTEMPTS && !success; c++) {
       
   846                         success = vh.weakCompareAndSetRelease(array, i, VALUE_1, VALUE_2);
       
   847                     }
       
   848                     assertEquals(success, true, "weakCompareAndSetRelease double");
   831                     double x = (double) vh.get(array, i);
   849                     double x = (double) vh.get(array, i);
   832                     assertEquals(x, VALUE_2, "weakCompareAndSetRelease double");
   850                     assertEquals(x, VALUE_2, "weakCompareAndSetRelease double");
   833                 }
   851                 }
   834 
   852 
   835                 // Compare set and get
   853                 // Compare set and get