annotate test/runtime/6929067/Test6929067.sh @ 20218:828056cf311f

8040792: G1: Memory usage calculation uses sizeof(this) instead of sizeof(classname) Summary: A few locations in the code use sizeof(this) which returns the size of the pointer instead of sizeof(classname) which returns the size of the sum of its members. This change fixes these errors and adds a few tests. Reviewed-by: mgerdin, brutisso
author tschatzl
date Mon, 21 Jul 2014 09:40:19 +0200
parents e567d5afd4dd
children e0035752234f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
1 #!/bin/sh
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
2
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
3 ##
13402
e567d5afd4dd 8028160: [TESTBUG] Exclude failing (runtime) jtreg tests using @ignore
hseigel
parents: 11967
diff changeset
4 ## @ignore 8028740
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
5 ## @test Test6929067.sh
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
6 ## @bug 6929067
11967
f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
ccheung
parents: 8831
diff changeset
7 ## @bug 8021296
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
8 ## @summary Stack guard pages should be removed when thread is detached
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
9 ## @compile T.java
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
10 ## @run shell Test6929067.sh
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
11 ##
8831
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
12 set -x
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
13 if [ "${TESTSRC}" = "" ]
8831
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
14 then
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
15 TESTSRC=${PWD}
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
16 echo "TESTSRC not set. Using "${TESTSRC}" as default"
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
17 fi
8831
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
18 echo "TESTSRC=${TESTSRC}"
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
19 ## Adding common setup Variables for running shell tests.
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
20 . ${TESTSRC}/../../test_env.sh
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
21
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
22 # set platform-dependent variables
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
23 OS=`uname -s`
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
24 case "$OS" in
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
25 Linux)
11967
f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
ccheung
parents: 8831
diff changeset
26 gcc_cmd=`which gcc`
f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
ccheung
parents: 8831
diff changeset
27 if [ "x$gcc_cmd" == "x" ]; then
f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
ccheung
parents: 8831
diff changeset
28 echo "WARNING: gcc not found. Cannot execute test." 2>&1
f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
ccheung
parents: 8831
diff changeset
29 exit 0;
f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
ccheung
parents: 8831
diff changeset
30 fi
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
31 NULL=/dev/null
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
32 PS=":"
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
33 FS="/"
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
34 ;;
6598
6acee021f5ac 7129723: MAC: Some regression tests need to recognize Mac OS X platform
coleenp
parents: 6074
diff changeset
35 * )
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
36 echo "Test passed; only valid for Linux"
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
37 exit 0;
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
38 ;;
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
39 esac
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
40
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
41 ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -Xinternalversion > vm_version.out 2>&1
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
42
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
43 # Bitness:
6074
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
44 # Cannot simply look at TESTVMOPTS as -d64 is not
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
45 # passed if there is only a 64-bit JVM available.
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
46
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
47 grep "64-Bit" vm_version.out > ${NULL}
6074
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
48 if [ "$?" = "0" ]
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
49 then
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
50 COMP_FLAG="-m64"
6074
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
51 else
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
52 COMP_FLAG="-m32"
6074
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
53 fi
037973617842 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 3960
diff changeset
54
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
55
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
56 # Architecture:
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
57 # Translate uname output to JVM directory name, but permit testing
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
58 # 32-bit x86 on an x64 platform.
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
59 ARCH=`uname -m`
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
60 case "$ARCH" in
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
61 x86_64)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
62 if [ "$COMP_FLAG" = "-m32" ]; then
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
63 ARCH=i386
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
64 else
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
65 ARCH=amd64
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
66 fi
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
67 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
68 ppc64)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
69 if [ "$COMP_FLAG" = "-m32" ]; then
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
70 ARCH=ppc
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
71 else
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
72 ARCH=ppc64
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
73 fi
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
74 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
75 sparc64)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
76 if [ "$COMP_FLAG" = "-m32" ]; then
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
77 ARCH=sparc
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
78 else
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
79 ARCH=sparc64
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
80 fi
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
81 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
82 arm*)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
83 # 32-bit ARM machine: compiler may not recognise -m32
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
84 COMP_FLAG=""
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
85 ARCH=arm
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
86 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
87 aarch64)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
88 # 64-bit arm machine, could be testing 32 or 64-bit:
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
89 if [ "$COMP_FLAG" = "-m32" ]; then
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
90 ARCH=arm
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
91 else
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
92 ARCH=aarch64
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
93 fi
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
94 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
95 i586)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
96 ARCH=i386
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
97 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
98 i686)
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
99 ARCH=i386
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
100 ;;
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
101 # Assuming other ARCH values need no translation
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
102 esac
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
103
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
104
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
105 # VM type: need to know server or client
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
106 VMTYPE=client
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
107 grep Server vm_version.out > ${NULL}
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
108 if [ "$?" = "0" ]
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
109 then
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
110 VMTYPE=server
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
111 fi
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
112
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
113
8831
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
114 LD_LIBRARY_PATH=.:${COMPILEJAVA}/jre/lib/${ARCH}/${VMTYPE}:/usr/lib:$LD_LIBRARY_PATH
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
115 export LD_LIBRARY_PATH
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
116
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
117 cp ${TESTSRC}${FS}invoke.c .
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
118
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
119 # Copy the result of our @compile action:
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
120 cp ${TESTCLASSES}${FS}T.class .
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
121
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
122 echo "Architecture: ${ARCH}"
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
123 echo "Compilation flag: ${COMP_FLAG}"
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
124 echo "VM type: ${VMTYPE}"
8831
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
125 # Note pthread may not be found thus invoke creation will fail to be created.
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
126 # Check to ensure you have a /usr/lib/libpthread.so if you don't please look
04d6d4322c6a 8009152: A number of jtreg tests need review/improvement
collins
parents: 6869
diff changeset
127 # for /usr/lib/`uname -m`-linux-gnu version ensure to add that path to below compilation.
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
128
11967
f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
ccheung
parents: 8831
diff changeset
129 $gcc_cmd -DLINUX ${COMP_FLAG} -o invoke \
f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
ccheung
parents: 8831
diff changeset
130 -I${COMPILEJAVA}/include -I${COMPILEJAVA}/include/linux \
f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
ccheung
parents: 8831
diff changeset
131 -L${COMPILEJAVA}/jre/lib/${ARCH}/${VMTYPE} \
f9ee986a9fea 8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
ccheung
parents: 8831
diff changeset
132 -ljvm -lpthread invoke.c
6869
e0ea0e94c23c 7195151: Multiplatform tescase for 6929067
kevinw
parents: 6598
diff changeset
133
1320
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
134 ./invoke
3b3d12e645e7 6929067: Stack guard pages should be removed when thread is detached
coleenp
parents:
diff changeset
135 exit $?