view agent/make/mkinstall @ 9126:bc26f978b0ce

HotSpotResolvedObjectType: implement hasFinalizeSubclass() correctly don't use the (wrong) cached value, but ask the runtime on each request. Fixes regression on xml.* benchmarks @ specjvm2008. The problem was: After the constructor of Object was deoptimized due to an assumption violation, it was recompiled again after some time. However, on recompilation, the value of hasFinalizeSubclass for the class was not updated and it was compiled again with a, now wrong, assumption, which then triggers deoptimization again. This was repeated until it hit the recompilation limit (defined by PerMethodRecompilationCutoff), and therefore only executed by the interpreter from now on, causing the performance regression.
author Bernhard Urban <bernhard.urban@jku.at>
date Mon, 15 Apr 2013 19:54:58 +0200
parents a61af66fc99e
children 4fe850c65ed1
line wrap: on
line source


# make the directories

SA_NAME=sa17
SA_TEST=$SA_NAME/test

mkdir $SA_NAME
mkdir $SA_NAME/solaris
mkdir $SA_NAME/solaris/amd64
mkdir $SA_NAME/solaris/sparc
mkdir $SA_NAME/solaris/sparcv9
mkdir $SA_NAME/solaris/i386
mkdir $SA_NAME/linux
mkdir $SA_NAME/linux/i386
mkdir $SA_NAME/linux/ia64
mkdir $SA_NAME/linux/amd64
mkdir $SA_NAME/win32
mkdir $SA_NAME/win32/i386
mkdir $SA_NAME/win32/ia64
mkdir $SA_NAME/win32/amd64
mkdir $SA_TEST

# make sa.jar
jar -cvf $SA_NAME/sa.jar -C ../build/classes .

# copy the native libraries

cp ../src/os/solaris/proc/amd64/libsaproc.so $SA_NAME/solaris/amd64
cp ../src/os/solaris/proc/sparc/libsaproc.so $SA_NAME/solaris/sparc
cp ../src/os/solaris/proc/sparcv9/libsaproc.so $SA_NAME/solaris/sparcv9
cp ../src/os/solaris/proc/i386/libsaproc.so $SA_NAME/solaris/i386
cp ../src/os/linux/i386/libsaproc.so $SA_NAME/linux/i386
cp ../src/os/linux/ia64/libsaproc.so $SA_NAME/linux/ia64
cp ../src/os/linux/amd64/libsaproc.so $SA_NAME/linux/amd64
cp ../src/os/win32/windbg/i386/sawindbg.dll $SA_NAME/win32/i386
cp ../src/os/win32/windbg/ia64/sawindbg.dll $SA_NAME/win32/ia64
cp ../src/os/win32/windbg/amd64/sawindbg.dll $SA_NAME/win32/amd64

# copy Unix (Solaris and Linux) shell scripts
cp saenv.sh $SA_NAME                        ; chmod 755 $SA_NAME/saenv.sh
cp saenv64.sh $SA_NAME                      ; chmod 755 $SA_NAME/saenv64.sh
cp clhsdbproc.sh $SA_NAME                   ; chmod 755 $SA_NAME/clhsdbproc.sh
cp clhsdbproc64.sh $SA_NAME                 ; chmod 755 $SA_NAME/clhsdbproc64.sh
cp dumpflagsproc.sh $SA_NAME                ; chmod 755 $SA_NAME/dumpflagsproc.sh
cp dumpflagsproc64.sh $SA_NAME              ; chmod 755 $SA_NAME/dumpflagsproc64.sh
cp dumpsyspropsproc.sh $SA_NAME             ; chmod 755 $SA_NAME/dumpsyspropsproc.sh
cp dumpsyspropsproc64.sh $SA_NAME           ; chmod 755 $SA_NAME/dumpsyspropsproc64.sh
cp finalizerinfoproc.sh $SA_NAME            ; chmod 755 $SA_NAME/finalizerinfoproc.sh
cp finalizerinfoproc64.sh $SA_NAME          ; chmod 755 $SA_NAME/finalizerinfoproc64.sh
cp heapdumpproc.sh $SA_NAME                  ; chmod 755 $SA_NAME/heapdumpproc.sh
cp heapdumpproc64.sh $SA_NAME                ; chmod 755 $SA_NAME/heapdumpproc64.sh
cp heapsumproc.sh $SA_NAME                  ; chmod 755 $SA_NAME/heapsumproc.sh
cp heapsumproc64.sh $SA_NAME                ; chmod 755 $SA_NAME/heapsumproc64.sh
cp hsdbproc.sh $SA_NAME                     ; chmod 755 $SA_NAME/hsdbproc.sh
cp hsdbproc64.sh $SA_NAME                   ; chmod 755 $SA_NAME/hsdbproc64.sh
cp jcoreproc.sh $SA_NAME                    ; chmod 755 $SA_NAME/jcoreproc.sh
cp jcoreproc64.sh $SA_NAME                  ; chmod 755 $SA_NAME/jcoreproc64.sh
cp jdbcore.sh $SA_NAME                      ; chmod 755 $SA_NAME/jdbcore.sh
cp jdbcore64.sh $SA_NAME                    ; chmod 755 $SA_NAME/jdbcore64.sh
cp jdbproc.sh $SA_NAME                      ; chmod 755 $SA_NAME/jdbproc.sh
cp jdbproc64.sh $SA_NAME                    ; chmod 755 $SA_NAME/jdbproc64.sh
cp jhistoproc.sh $SA_NAME                   ; chmod 755 $SA_NAME/jhistoproc.sh
cp jhistoproc64.sh $SA_NAME                 ; chmod 755 $SA_NAME/jhistoproc64.sh
cp jsdbproc.sh $SA_NAME                     ; chmod 755 $SA_NAME/jsdbproc.sh
cp jsdbproc64.sh $SA_NAME                   ; chmod 755 $SA_NAME/jsdbproc64.sh
cp jstackproc.sh $SA_NAME                   ; chmod 755 $SA_NAME/jstackproc.sh
cp jstackproc64.sh $SA_NAME                 ; chmod 755 $SA_NAME/jstackproc64.sh
cp permstatproc.sh $SA_NAME                 ; chmod 755 $SA_NAME/permstatproc.sh
cp permstatproc64.sh $SA_NAME               ; chmod 755 $SA_NAME/permstatproc64.sh
cp pmapproc.sh $SA_NAME                     ; chmod 755 $SA_NAME/pmapproc.sh
cp pmapproc64.sh $SA_NAME                   ; chmod 755 $SA_NAME/pmapproc64.sh
cp pstackproc.sh $SA_NAME                   ; chmod 755 $SA_NAME/pstackproc.sh
cp pstackproc64.sh $SA_NAME                 ; chmod 755 $SA_NAME/pstackproc64.sh
cp soqlproc.sh $SA_NAME                     ; chmod 755 $SA_NAME/soqlproc.sh
cp soqlproc64.sh $SA_NAME                   ; chmod 755 $SA_NAME/soqlproc64.sh
cp start-debug-server $SA_NAME              ; chmod 755 $SA_NAME/start-debug-server
cp start-debug-server-proc.sh $SA_NAME      ; chmod 755 $SA_NAME/start-debug-server-proc.sh
cp start-debug-server-proc64.sh $SA_NAME    ; chmod 755 $SA_NAME/start-debug-server-proc64.sh
cp start-rmiregistry.sh $SA_NAME            ; chmod 755 $SA_NAME/start-rmiregistry.sh

# copy Windows batch files
cp saenv.bat $SA_NAME                       ; chmod 755 $SA_NAME/saenv.bat
cp saenv64.bat $SA_NAME                     ; chmod 755 $SA_NAME/saenv64.bat
cp clhsdbwindbg.bat $SA_NAME                ; chmod 755 $SA_NAME/clhsdbwindbg.bat
cp clhsdbwindbg64.bat $SA_NAME              ; chmod 755 $SA_NAME/clhsdbwindbg64.bat
cp dumpflagswindbg.bat $SA_NAME             ; chmod 755 $SA_NAME/dumpflagswindbg.bat
cp dumpflagswindbg64.bat $SA_NAME           ; chmod 755 $SA_NAME/dumpflagswindbg64.bat
cp dumpsyspropswindbg.bat $SA_NAME          ; chmod 755 $SA_NAME/dumpsyspropswindbg.bat
cp dumpsyspropswindbg64.bat $SA_NAME        ; chmod 755 $SA_NAME/dumpsyspropswindbg64.bat
cp finalizerinfowindbg.bat $SA_NAME         ; chmod 755 $SA_NAME/finalizerinfowindbg.bat
cp finalizerinfowindbg64.bat $SA_NAME       ; chmod 755 $SA_NAME/finalizerinfowindbg64.bat
cp heapdumpwindbg.bat $SA_NAME               ; chmod 755 $SA_NAME/heapdumpwindbg.bat
cp heapdumpwindbg64.bat $SA_NAME             ; chmod 755 $SA_NAME/heapdumpwindbg64.bat
cp heapsumwindbg.bat $SA_NAME               ; chmod 755 $SA_NAME/heapsumwindbg.bat
cp heapsumwindbg64.bat $SA_NAME             ; chmod 755 $SA_NAME/heapsumwindbg64.bat
cp hsdbwindbg.bat $SA_NAME                  ; chmod 755 $SA_NAME/hsdbwindbg.bat
cp hsdbwindbg64.bat $SA_NAME                ; chmod 755 $SA_NAME/hsdbwindbg64.bat
cp jcorewindbg.bat $SA_NAME                 ; chmod 755 $SA_NAME/jcorewindbg.bat
cp jcorewindbg64.bat $SA_NAME               ; chmod 755 $SA_NAME/jcorewindbg64.bat
cp jhistowindbg.bat $SA_NAME                ; chmod 755 $SA_NAME/jhistowindbg.bat
cp jhistowindbg64.bat $SA_NAME              ; chmod 755 $SA_NAME/jhistowindbg64.bat
cp jsdbwindbg.bat $SA_NAME                  ; chmod 755 $SA_NAME/jsdbwindbg.bat
cp jsdbwindbg64.bat $SA_NAME                ; chmod 755 $SA_NAME/jsdbwindbg64.bat
cp jstackwindbg.bat $SA_NAME                ; chmod 755 $SA_NAME/jstackwindbg.bat
cp jstackwindbg64.bat $SA_NAME              ; chmod 755 $SA_NAME/jstackwindbg64.bat
cp permstatwindbg.bat $SA_NAME              ; chmod 755 $SA_NAME/permstatwindbg.bat
cp permstatwindbg64.bat $SA_NAME            ; chmod 755 $SA_NAME/permstatwindbg64.bat
cp pmapwindbg.bat $SA_NAME                  ; chmod 755 $SA_NAME/pmapwindbg.bat
cp pmapwindbg64.bat $SA_NAME                ; chmod 755 $SA_NAME/pmapwindbg64.bat
cp pstackwindbg.bat $SA_NAME                ; chmod 755 $SA_NAME/pstackwindbg.bat
cp pstackwindbg64.bat $SA_NAME              ; chmod 755 $SA_NAME/pstackwindbg64.bat
cp soqlwindbg.bat $SA_NAME                  ; chmod 755 $SA_NAME/soqlwindbg.bat
cp soqlwindbg64.bat $SA_NAME                ; chmod 755 $SA_NAME/soqlwindbg64.bat
cp start-debug-server-windbg.bat $SA_NAME   ; chmod 755 $SA_NAME/start-debug-server-windbg.bat
cp start-debug-server-windbg64.bat $SA_NAME ; chmod 755 $SA_NAME/start-debug-server-windbg64.bat
cp start-rmiregistry.bat $SA_NAME           ; chmod 755 $SA_NAME/start-rmiregistry.bat


# make the libproc test
cd ../test/libproc ; make; cd ../../make

# copy libproc test suite

cp ../test/libproc/README $SA_TEST/README-libproc
cp ../test/libproc/libproctest.sh $SA_TEST  ; chmod 755 $SA_TEST/libproctest.sh
cp ../test/libproc/libproctest64.sh $SA_TEST  ; chmod 755 $SA_TEST/libproctest64.sh
cp ../test/libproc/*.class $SA_TEST

# copy RMI security policy file
cp grantAll.policy $SA_NAME

# copy documentation
mkdir $SA_NAME/doc
cp ../doc/*.html $SA_NAME/doc
chmod 644 $SA_NAME/doc/*.html

# make lib dir and copy other jar files
mkdir $SA_NAME/lib
cp ../src/share/lib/*.jar $SA_NAME/lib

# tar and gzip
tar -cvf $SA_NAME.tar $SA_NAME
gzip $SA_NAME.tar

# cleanup
\rm -rf $SA_NAME