jdk/test/java/lang/invoke/VarHandles/generate-vh-tests.sh
author amurillo
Tue, 17 May 2016 05:38:15 -0700
changeset 38368 c8eb5d6812c5
parent 36934 590fc47a0aeb
child 38382 98d5a441bc2f
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36934
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
     1
#!/bin/bash
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
     2
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
     3
javac -d . ../../../../../make/src/classes/build/tools/spp/Spp.java
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
     4
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
     5
SPP=build.tools.spp.Spp
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
     6
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
     7
# Generates variable handle tests for objects and all primitive types
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
     8
# This is likely to be a temporary testing approach as it may be more
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
     9
# desirable to generate code using ASM which will allow more flexibility
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    10
# in the kinds of tests that are generated.
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    11
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    12
for type in boolean byte short char int long float double String
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    13
do
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    14
  Type="$(tr '[:lower:]' '[:upper:]' <<< ${type:0:1})${type:1}"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    15
  args="-K$type -Dtype=$type -DType=$Type"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    16
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    17
  case $type in
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    18
    String|int|long)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    19
      args="$args -KCAS"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    20
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    21
  esac
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    22
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    23
  case $type in
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    24
    int|long)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    25
      args="$args -KAtomicAdd"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    26
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    27
  esac
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    28
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    29
  wrong_primitive_type=boolean
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    30
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    31
  case $type in
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    32
    boolean)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    33
      value1=true
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    34
      value2=false
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    35
      value3=false
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    36
      wrong_primitive_type=int
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    37
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    38
    byte)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    39
      value1=(byte)1
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    40
      value2=(byte)2
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    41
      value3=(byte)3
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    42
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    43
    short)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    44
      value1=(short)1
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    45
      value2=(short)2
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    46
      value3=(short)3
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    47
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    48
    char)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    49
      value1=\'a\'
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    50
      value2=\'b\'
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    51
      value3=\'c\'
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    52
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    53
    int)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    54
      value1=1
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    55
      value2=2
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    56
      value3=3
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    57
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    58
    long)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    59
      value1=1L
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    60
      value2=2L
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    61
      value3=3L
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    62
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    63
    float)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    64
      value1=1.0f
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    65
      value2=2.0f
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    66
      value3=3.0f
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    67
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    68
    double)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    69
      value1=1.0d
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    70
      value2=2.0d
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    71
      value3=3.0d
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    72
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    73
    String)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    74
      value1=\"foo\"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    75
      value2=\"bar\"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    76
      value3=\"baz\"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    77
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    78
  esac
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    79
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    80
  args="$args -Dvalue1=$value1 -Dvalue2=$value2 -Dvalue3=$value3 -Dwrong_primitive_type=$wrong_primitive_type"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    81
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    82
  echo $args
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    83
  java $SPP -nel $args < X-VarHandleTestAccess.java.template > VarHandleTestAccess${Type}.java
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    84
  java $SPP -nel $args < X-VarHandleTestMethodHandleAccess.java.template > VarHandleTestMethodHandleAccess${Type}.java
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    85
  java $SPP -nel $args < X-VarHandleTestMethodType.java.template > VarHandleTestMethodType${Type}.java
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    86
done
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    87
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    88
for type in short char int long float double
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    89
do
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    90
  Type="$(tr '[:lower:]' '[:upper:]' <<< ${type:0:1})${type:1}"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    91
  args="-K$type -Dtype=$type -DType=$Type"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    92
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    93
  BoxType=$Type
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    94
  case $type in
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    95
    char)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    96
      BoxType=Character
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    97
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    98
    int)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
    99
      BoxType=Integer
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   100
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   101
  esac
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   102
  args="$args -DBoxType=$BoxType"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   103
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   104
  case $type in
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   105
    int|long|float|double)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   106
      args="$args -KCAS"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   107
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   108
  esac
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   109
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   110
  case $type in
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   111
    int|long)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   112
      args="$args -KAtomicAdd"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   113
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   114
  esac
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   115
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   116
  case $type in
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   117
    short)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   118
      value1=(short)0x0102
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   119
      value2=(short)0x1112
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   120
      value3=(short)0x2122
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   121
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   122
    char)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   123
      value1=(char)0x0102
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   124
      value2=(char)0x1112
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   125
      value3=(char)0x2122
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   126
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   127
    int)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   128
      value1=0x01020304
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   129
      value2=0x11121314
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   130
      value3=0x21222324
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   131
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   132
    long)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   133
      value1=0x0102030405060708L
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   134
      value2=0x1112131415161718L
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   135
      value3=0x2122232425262728L
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   136
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   137
    float)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   138
      value1=0x01020304
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   139
      value2=0x11121314
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   140
      value3=0x21222324
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   141
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   142
    double)
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   143
      value1=0x0102030405060708L
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   144
      value2=0x1112131415161718L
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   145
      value3=0x2122232425262728L
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   146
      ;;
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   147
  esac
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   148
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   149
  args="$args -Dvalue1=$value1 -Dvalue2=$value2 -Dvalue3=$value3"
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   150
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   151
  echo $args
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   152
  java $SPP -nel $args < X-VarHandleTestByteArrayView.java.template > VarHandleTestByteArrayAs${Type}.java
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   153
done
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   154
590fc47a0aeb 8149644: Integrate VarHandles
psandoz
parents:
diff changeset
   155
rm -fr build