Thu, 30 Jul 2009 10:29:53 +0100
6827648: Extremely slow compilation time for visitor pattern code + generics
Summary: Javac unnecessarily recomputates type-substitutions multiple times
Reviewed-by: jjg
1 #!/bin/sh
3 #
4 # Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
5 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 #
7 # This code is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License version 2 only, as
9 # published by the Free Software Foundation.
10 #
11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # version 2 for more details (a copy is included in the LICENSE file that
15 # accompanied this code).
16 #
17 # You should have received a copy of the GNU General Public License version
18 # 2 along with this work; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 #
21 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 # CA 95054 USA or visit www.sun.com if you need additional information or
23 # have any questions.
24 #
27 if [ "${TESTSRC}" = "" ]
28 then
29 echo "TESTSRC not set. Test cannot execute. Failed."
30 exit 1
31 fi
32 echo "TESTSRC=${TESTSRC}"
33 if [ "${TESTJAVA}" = "" ]
34 then
35 echo "TESTJAVA not set. Test cannot execute. Failed."
36 exit 1
37 fi
38 echo "TESTJAVA=${TESTJAVA}"
39 if [ "${TESTCLASSES}" = "" ]
40 then
41 echo "TESTCLASSES not set. Test cannot execute. Failed."
42 exit 1
43 fi
44 echo "TESTCLASSES=${TESTCLASSES}"
45 echo "CLASSPATH=${CLASSPATH}"
47 # set platform-dependent variables
48 OS=`uname -s`
49 case "$OS" in
50 SunOS | Linux )
51 NULL=/dev/null
52 PS=":"
53 FS="/"
54 ;;
55 Windows* )
56 NULL=NUL
57 PS=";"
58 FS="\\"
59 ;;
60 * )
61 echo "Unrecognized system!"
62 exit 1;
63 ;;
64 esac
66 "${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} -verbose -d "${TESTCLASSES}" -cp "${TESTSRC}${FS}broken.jar" "${TESTSRC}${FS}$1"
68 result=$?
70 if [ $result -eq 0 ]
71 then
72 echo "Passed"
73 else
74 echo "Failed"
75 fi
76 exit $result